Sistemas Operativos Flynn Mchoes PDF
Sistemas Operativos Flynn Mchoes PDF
Pgina
INTRODUCCION
OBJETIVOS
UNIDAD 1. TEORIA DE LOS SISTEMAS OPERATIVOS
Introduccin
Objetivos
Captulo 1. Principios de los sistemas operativos
1. Concepto de sistema operativo
2. Estructura de un sistema computacional
3. Historia de los sistemas operativos
4. Conceptos de sistemas operativos
Captulo 2. Caractersticas de los sistemas operativos
1. Funciones de los sistemas operativos
2. Tipos de sistemas operativos
3. Estructura de los sistemas operativos
4. Ncleos de sistemas operativos
Captulo 3. Interbloqueo
1. Recursos
2. Anlisis
3. Condiciones para producir un interbloqueo
4. Mtodos para manejar el interbloqueo
5. Prevencin del interbloqueo
6. Evasin del interbloqueo
7. Mecanismos para evitar el interbloqueo
8. Nivel de implantacin de estrategias
9. Deteccin y recuperacin
Captulo 4. Arquitectura cliente servidor
1. Antecedentes
2. Cliente /servidor
3. Componentes esenciales de la infraestructura cliente/servidor
4. Caractersticas funcionales
5. Caractersticas fsicas
6. Caractersticas lgicas
7. Middleware robusto y escalable en soluciones Cliente/Servidor
8. Anlisis de las diferentes variantes de la arquitectura C/S
9. Arquitecturas Cliente/Servidor independientes de plataforma
10. Condiciones para la implantacin del modelo Cliente/Servidor
11. Costos y beneficios de Cliente/Servidor
12. Fases de implantacin
Bibliografa
1
4
5
5
6
7
7
9
21
25
30
30
32
46
49
53
53
56
60
61
62
66
67
74
76
82
82
85
87
88
90
91
91
95
97
100
101
103
107
109
109
110
111
111
119
121
125
130
142
142
142
143
147
161
169
169
170
171
172
173
173
175
178
178
180
182
184
186
188
193
195
198
200
200
200
201
203
204
205
206
208
211
214
214
216
217
218
221
227
231
236
243
255
265
267
267
269
277
281
292
302
307
308
317
320
324
328
328
336
341
346
346
347
349
357
Sistemas Operativos 1
INTRODUCCIN
Sistemas Operativos 2
Sistemas Operativos 3
Sistemas Operativos 4
OBJETIVOS
1. Fundamentar, desde un principio, la estructura, funcionamiento y
administracin de recursos de los sistemas operativos, como base para el
anlisis y diseo de sistemas de comunicacin.
2. Relacionar los principios, estructuras, aplicacin y tipos de sistemas
operativos con las caractersticas y funcionamiento de algunos de los
principales sistemas operativos.
3. Conocer e identificar de manera clara los conceptos, elementos,
caractersticas, propiedades de los sistemas operativos y su relacin con el
campo de aplicacin, teniendo en cuenta la integracin de elementos
tecnolgicos y organizacionales.
4. Determinar y sustentar la aplicacin de los sistemas operativos segn las
caractersticas, ventajas de instalacin y administracin de recursos.
Sistemas Operativos 5
UNIDAD DIDCTICA 1
TEORA DE LOS SISTEMAS OPERATIVOS
INTRODUCCIN
Aunque en este nivel de estudios, se supone que ya hemos visto, trabajado y
explotado algunos de los sistemas operativos del mercado, muy seguramente no
conocemos a fondo la teora en la cual se basa su diseo y desarrollo. Y esto
aunque a veces no lo reconocemos es fundamental a la hora de aprovechar al
mximo los recursos de un sistema computacional cualquiera.
Aqu se explica qu son los sistemas operativos, qu hacen y cmo estn
diseados y construidos. Se explica cmo se ha desarrollado el concepto de un
sistema operativo, cules son sus caractersticas comunes y lo que hace el
sistema operativo para el usuario y para el administrador del sistema de cmputo.
Esta unidad es apropiada para los estudiantes que se inician en esta materia y
para aquellos que son expertos pero desean saber ms acerca de los detalles
internos de los mismos.
Sistemas Operativos 6
OBJETIVOS
1. Explorar los principios de los sistemas operativos, como conceptos, estructura
historia y evolucin.
2. Diferenciar con exactitud los diversos tipos de sistemas operativos,
identificando claramente sus caractersticas funcionales y de diseo.
3. Reconocer el Interbloqueo, como el principal problema que debe solucionar
cualquier sistema operativo, identificando sus caractersticas y alternativas de
solucin existentes.
4. Identificar la estructura fsica y organizacional de la arquitectura cliente
servidor, como principal esquema de trabajo de los sistemas operativos.
Sistemas Operativos 7
Sistemas Operativos 8
Sistemas Operativos 9
Queda, entonces, revisar los conceptos dados y determinar a cul punto de vista
corresponde cada uno.
A lo largo del curso se va a trabajar la concepcin de sistema operativo como:
Aquella herramienta lgica que proporciona al usuario un entorno amigable, permite
interactuar y establecer una comunicacin entre el hardware (componentes fsicos) y el
software (aplicaciones) de un sistema de cmputo.
SOFTWARE
(Aplicaciones)
SISTEMA OPERATIVO
HARDWARE
(Componentes Fsicos)
USUARIO
Sistemas Operativos 10
Usuario 2
Usuario 3
Usuario n
Aplicaciones
Usuario final
Programador
Programas de sistemas
Diseador de traductores
Sistema operativo
Hardware
Diseadores S.O
Constructores
Sistemas Operativos 11
a. Partida
En la partida se necesita un programa inicial. Este programa se llama bootstrap. El
bootstrap inicializa todo el sistema: registros de CPU, controladores de
dispositivos, memoria, etc.
El primer proceso que ejecuta el S.O. Se llama init. Init espera la ocurrencia de
algn evento.
1
Sistemas Operativos 12
b. Interrupciones
Una interrupcin es un evento que altera la secuencia en que el procesador
ejecuta las instrucciones. La interrupcin es generada por el hardware del sistema
de cmputo.
El sistema de interrupciones es una parte muy importante de la arquitectura de un
computador.
Los sistemas operativos modernos son sistemas que reaccionan ante
interrupciones, es decir, si no hay E/S, ni procesos ejecutndose, el S.O. est
quieto y atento a que ocurra alguna interrupcin.
Qu ocurre con el S.O ante una interrupcin?
El sistema operativo toma el control (es decir, el hardware pasa el control al
sistema operativo).
El sistema operativo guarda el estado del proceso interrumpido. En muchos
sistemas esta informacin se guarda en el bloque de control de proceso
interrumpido.
El sistema operativo analiza la interrupcin y transfiere el control a la rutina
apropiada para atenderla; en muchos sistemas actuales el hardware se
encarga de esto automticamente.
La rutina del manejador de interrupciones procesa la interrupcin.
Se restablece el estado del proceso interrumpido (o del siguiente proceso).
Se ejecuta el proceso interrumpido (o el siguiente proceso).
Una interrupcin puede ser iniciada especficamente por un proceso en ejecucin
(en cuyo caso se suele denominar (trap), y se dice que est sincronizada con la
operacin del proceso) o puede ser causada por algn evento que puede estar
relacionado o no con el proceso en ejecucin (en cuyo caso se dice que es
asncrona con la operacin del proceso).
Los sistemas orientados hacia las interrupciones pueden sobrecargarse. Si estas
llegan con mucha frecuencia, el sistema no ser capaz de atenderlas. En algunos
sistemas orientados hacia el teclado, cada tecla presionada almacena en la
memoria un cdigo de un byte y genera una interrupcin para informar a la CPU
que un carcter est listo para ser procesado. Si la CPU no puede procesar el
dato antes de que se presione la siguiente tecla, se pierde el primer carcter.
Clases de Interrupciones
Existen seis clases de interrupciones:
Interrupciones SVC (supervisor call, llamadas al supervisor). Son
iniciadas por un proceso en ejecucin que ejecute la instruccin SVC. Una
Sistemas Operativos 13
Sistemas Operativos 14
Ibid. Captulo 2. p. 4
Sistemas Operativos 15
c. La memoria principal
La memoria principal (RAM) y el archivo de registro son el nico almacenamiento
que la CPU puede accesar directamente.
Cmo accesar mediante un programa los dispositivos?
Muchos computadores proveen memory-mapped i/o (dispositivos mapeados en
memoria principal).
d. memory-mapped i/o
Esta modalidad considera a los registros de los dispositivos mapeados en
determinadas direcciones de la memoria principal. El programa slo debe hacer
referencia a determinadas direcciones de memoria para iniciar transferencias.
Por ejemplo en los PC, cada punto de la pantalla de video est mapeada a una
determinada direccin de memoria.
e. Discos
Los discos permiten almacenamiento masivo.
Las velocidades de rotacin varan entre 60 a 150 Hz.
Los tiempos involucrados en una transferencia son:
- Tiempo de transferencia (velocidad angular)
- Tiempo rotacional
- Tiempo de seek
3
Ibid. Captulo 2. p. 8
Sistemas Operativos 16
4
5
Ibid. Captulo 2. p. 10
Ibid. Captulo 2. p. 10
Sistemas Operativos 17
Grfica 8. El cilindro6
f. Jerarqua de memoria
En un sistema computacional existe una gran variedad de almacenamiento. El
almacenamiento est organizado jerrquicamente.
La jerarqua de almacenamiento responde al compromiso entre velocidad y costo
de almacenamiento: el costo de almacenar un bit en una memoria muy rpida es
caro.
Otro aspecto a considerar es la volatilidad.
Grfica 9. Jerarqua de memoria7
6
7
Ibid. Captulo 2. p. 11
Ibid. Captulo 2. p. 12
Sistemas Operativos 18
g. La memoria cach
La memoria cach es una parte muy importante de un sistema computacional.
La informacin se mantiene en algn sistema de almacenamiento y en la medida
que se usa es copiada en una memoria ms rpida temporalmente.
Cuando se necesita una informacin particular, primero se verifica si est en la
cach. Si est se usa directamente y si no est se extrae del medio de
almacenamiento y se copia en la cach.
Como su tamao es limitado resulta muy importante su administracin.
1.2.3 Protecciones de hardware
Los primeros computadores eran sistemas monousuarios.
En la medida que los S.O. evolucionaron fue necesario compartir recursos para
mejorar la eficiencia del sistema.
El compartir mejora la eficiencia y aumenta los problemas:
Sistema multiprogramado ante condiciones de error.
Compartir dispositivos.
a. Modo Dual
Para asegurar una correcta operacin se debe proteger al S.O. y los programas
frente a situaciones de error.
La proteccin se requiere para cualquier recurso compartido.
El hardware provee una importante proteccin llamada Modo Dual
Se agrega un bit al hardware llamado bit de modo para indicar dos modos posibles
de operacin.
Los modos de operacin son dos:
Modo Monitor (tambin llamado kernel o modo sistema)
Modo usuario
Sistemas Operativos 19
Modo Monitor: este es el modo en el cual el S.O. toma el control del computador.
Slo en este modo se pueden ejecutar instrucciones llamadas privilegiadas y
accesar estructuras de datos internas del S.O.
Modo Usuario: modo normal para cdigo usuario.
La falta de apoyo de hardware de proteccin trae serios problemas en los S.O. Un
ejemplo es el S.O. originalmente escrito para el Intel 8080 que no tiene bit de
modo:
Cualquiera puede sobre escribir el S.O.
Muchos programas pueden hacer E/S al mismo tiempo.
A partir del 80486 se incorpor el bit de modo y as fue posible soportar S.O.
Como Windows NT, Windows 2000, Windows 2003 Server, OS/2 y Linux.
b. Proteccin de E/S
Para prevenir que un usuario realice una operacin ilegal de E/S se definen
instrucciones privilegiadas.
De esta forma un usuario no puede ejecutar instrucciones de E/S directamente. Lo
debe hacer a travs del S.O.
Nunca un programa usuario debe tener el control del sistema bajo modo monitor.
Qu pasara si se tiene acceso al vector de interrupcin? Se obtiene el control en
modo monitor.
c. Proteccin de memoria
Se debe proteger el vector de interrupcin de ser modificado por programas de
usuario.
Se debe proteger la alteracin de rutinas de servicio de interrupcin.
Se debe proteger tambin un programa usuario de otro programa usuario.
Cada espacio debe estar protegido.
El hardware provee dos registros:
Registro base: Menor direccin legal
Registro lmite: Tamao del espacio protegido.
Sistemas Operativos 20
8
9
Ibid. Captulo 2. p. 16
Ibid. Captulo 2. p. 17
Sistemas Operativos 21
Avance
Se introducen los programas bit a bit, por medio de interruptores mecnicos y
despus se introdujo el lenguaje de mquina que trabajaba por tarjetas
perforadas.
Con las primeras computadoras, el programador interactuaba de manera
directa con el hardware de la computadora, no exista realmente un sistema
operativo; las primeras computadoras utilizaban bulbos, la entrada de datos y
los programas se realizaban a travs del lenguaje mquina (bits) o a travs
de interruptores.
A principio de los 50's, la compaa General's Motors implanto el primer
sistema operativo para su IBM 170. Empiezan a surgir las tarjetas perforadas
las cuales permiten que los usuarios (que en ese tiempo eran programadores,
diseadores, capturistas, etc.), se encarguen de modificar sus programas.
Establecan o apartaban tiempo, metan o introducan sus programas,
corregan y depuraban sus programas en su tiempo. A esto se le llamaba
trabajo en serie. Todo esto se traduca en prdida de tiempo y tiempos de
programas excesivos.
Se genera el circuito integrado, se organizan los trabajos y se generan los
procesos Batch (por lotes), lo cual consiste en determinar los trabajos
comunes y realizarlos todos juntos de una sola vez. En esta poca surgen las
unidades de cinta y el cargador de programas, el cual se considera como el
primer tipo de sistema operativo.
Sistemas Operativos 22
En los 80's
Tipo de sistema
Sistemas Batch Simples
Descripcin
Los primeros computadores eran grandes mquinas que se
operaban desde una consola. La entrada y salida se haca usando
tarjetas perforadas y cinta magntica. La interaccin de un usuario
con el sistema computacional no era directa:se preparaba un job
que consista en un conjunto de tarjetas: programa, datos y
tarjetas de control.
El S.O:
Tena una funcin muy simple: transferir el control entre
una tarea (job) y la siguiente.
Resida completamente en memoria.
Para hacer ms eficiente el trabajo, los operadores agrupaban
tareas en tandas o lotes (batch).
La caracterstica ms importante es la falta de interaccin entre el
usuario y el sistema durante la ejecucin.
Los job se preparan y entregan al sistema y despus de un tiempo
se entrega el resultado va una lista o impresin.
La CPU pasa desocupada la mayor parte del tiempo:
La velocidad de los elementos mecnicos: impresora y
lectora es mucho ms baja que la CPU.
Cmo solucionar este problema?
- Tecnologa de disco (Spooling) Ver explicacin al final del
cuadro
Sistemas Operativos 23
Tipo de sistema
Sistemas Batch
Multiprogramados
Sistemas de tiempo
compartido Time sharing
Job 1
multitarea
Job 2
Job 3
Job 4
Tiempo
Sistemas PC
Computadores personales
Sistemas paralelos
Descripcin
El Spooling mantiene una estructura de datos con todos los jobs
listos para ser ejecutados en un rea de disco.
Esta estructura permite seleccionar cualquier job del conjunto. Con
esta estructura es posible mejorar la utilizacin de la CPU.
La seleccin de un job para su ejecucin de un conjunto se
denomina itineracin de job (scheduling).
La itineracin de jobs permite la mutiprogramacin.
La multiprogramacin aumenta la utilizacin de la CPU al organizar
los jobs de manera tal que la CPU siempre tenga algn job que
ejecutar.
Para esto se mantienen los jobs en memoria principal. El S.O.
selecciona un job, lo ejecuta y cuando el job debe esperar por E/S,
se selecciona otro job.
Cuando un job necesita esperar por algn dispositivo, el sistema
operativo conmuta de un job a otro. Cuando la transferencia del
dispositivo termina, se vuelve al job nuevamente
Los sistemas batch multiprogramados permiten usar recursos
eficientemente, pero los usuarios no pueden interactuar con sus
aplicaciones.
El tiempo compartido (time sharing) o multitarea es una extensin
de la multiprogramacin. La CPU ejecuta mltiples jobs, pero la
conmutacin de un job a otro ocurre con una frecuencia tal que los
usuarios piensan que interactan con el programa mientras ste
corre.
Los primeros sistemas Batch eran completamente interactivos. El
usuario tomaba el control completo del sistema a travs de la
consola.
Los sistemas de tiempo compartido se desarrollaron para
proporcionar el uso interactivo de un computador a costo
razonable.
Cada usuario tiene al menos un programa en memoria.
Un programa que se carga y ejecuta se denomina proceso.
Cuando un proceso se ejecuta, lo hace por un tiempo corto antes
que termine o necesite E/S.
La entrada y salida (E/S) tambin puede ser interactiva.
Los sistemas operativos de tiempo compartido son ms complejos
que los sistemas batch multiprogramados. Entre otras cosas se
requiere proteccin especial de reas de memoria.
Los Computadores personales aparecieron en el mercado en la
dcada del 70. El objetivo de los sistemas operativos de PC no es
mejorar la eficiencia sino su amistosidad con el usuario.
Ejemplos son: MS-DOS, MS Windows, Apple Macintosh, OS/2
La tendencia es traspasar funcionalidades de grandes
computadores a PC. Por ejemplo sistemas de proteccin de
archivos, memoria virtual etc..
Un buen ejemplo es el sistema MULTICS desarrollado en el MIT
entre 1965 y 1970. Las ideas de MULTICS se tomaron en Bell
Labs para desarrollar UNIX en 1970 para computadores DEC
PDP-11. En los aos 80, surgieron muchos sistemas tipo UNIX:
W/NT, OS/2 , MAC OS y Windows XP y LINUX recientemente.
La mayora de los sistemas computacionales actuales utiliza una
sola CPU, sin embargo hay una tendencia hacia sistemas
Sistemas Operativos 24
Tipo de sistema
Sistemas distribuidos
Descripcin
multiprocesadores.
Qu se logra con multiprocesadores?
Mayor desempeo (troughput): ms trabajo por unidad de tiempo.
Aceleramiento de tareas: cuando varios procesadores cooperan en
la realizacin de una tarea, disminuye el tiempo de ejecucin. Sin
embargo la mejora de desempeo no es lineal respecto al nmero
de procesadores por el tiempo de comunicacin.
Qu es mejor, un sistema de multiprocesamiento o varios
sistemas simples?
Es ms econmico un sistema de multiprocesadores (un disco,
gabinete, fuentes de poder etc.)
Mejora la confiabilidad: si las funciones se distribuyen
inteligentemente, la cada de un procesador puede ser asumida
por otro.
La tendencia actual es distribuir la computacin entre varios
procesadores.
Cada procesador tiene su memoria local. Los procesadores se
comunican por lneas de comunicacin, redes de alta velocidad o
buses apropiados.
Los procesadores de un sistema distribuido varan en tamao y
funcin: microprocesadores, minicomputadores, estaciones de
trabajo y grandes sistemas computacionales.
Los sistemas operativos de Tiempo Real se usan cuando existen
rgidos requerimientos de tiempo. Ejemplos:
- Sistemas de Control Industrial
- Monitoreo mdico
- Control de encendido de motores
- Sistemas de defensa
El procesamiento se debe hacer con restricciones de tiempo. En
caso contrario se producen fallas.
Sistemas Operativos 25
Observaciones
El Spooling traslapa la entrada y salida de un job con los clculos (CPU) de otro job.
Tiene un efecto directo e importante en el desempeo ya que mantienen a la CPU y los
dispositivos trabajando a su mxima velocidad.
10
Ibid. Captulo 1. p. 8
Sistemas Operativos 26
La interfaz entre el sistema operativo y los programas del usuario se define por
medio del conjunto de "instrucciones extendidas" que el sistema operativo
proporciona. Estas instrucciones extendidas son las llamadas al sistema. Las
llamadas al sistema varan de un sistema operativo a otro (aunque los conceptos
fundamentales tienden a ser anlogos).
Las llamadas al sistema se clasifican normalmente en dos categoras generales:
aquellas que se relacionan con procesos y las que lo hacen con el sistema de
archivo
- Por procesos: Un proceso es bsicamente un programa en ejecucin. Consta
del programa ejecutable y la pila o stack del programa, su contador de programa,
apuntador de pila y otros registros, as como la otra informacin que se necesita
para ejecutar el programa. En si el proceso en el concepto de los sistemas
operativos es como el sistema de tiempo compartido. Esto es, que en forma
peridica, el sistema operativo decide suspender la ejecucin de un proceso y dar
inicio a la ejecucin de otro, por ejemplo, porque el primero haya tomado ya ms
de su parte del tiempo de la CPU, en terrenos del segundo.
Cuando un proceso se suspende temporalmente, debe reiniciarse despus
exactamente en el mismo estado en que se encontraba cuando se detuvo. Esto
significa que toda la informacin relativa al proceso debe guardarse en forma
explcita en algn lugar durante la suspensin. En muchos sistemas operativos,
toda la informacin referente a cada proceso, diferente del contenido de su
11
Ibid. Captulo 2. p. 19
Sistemas Operativos 27
Sistemas Operativos 28
1.4.3 Procesos
Uno de los conceptos ms importantes que gira entorno a un sistema operativo es
el de proceso. Un proceso es un programa en ejecucin junto con el entorno
asociado (registros, variables ,etc.).
El corazn de un sistema operativo es el ncleo, un programa de control que
reacciona ante cualquier interrupcin de eventos externos y que da servicio a los
procesos, crendolos, terminndolos y respondiendo a cualquier peticin de
servicio por parte de los mismos.
Un proceso es una actividad que se apoya en datos, recursos, un estado en cada
momento y un programa.
Cada proceso contiene, entre otros:
Mapeo en memoria: Dnde est almacenado el .text, .data y el stack del
proceso.
El estado de registros.
Tabla de archivos en uso: Estado de cada archivo
Credenciales (UID, GID, EUID, GUID). Identificadores de usuarios.
Otros (PID, PPID, contadores, estados, prioridades). Identificadores de
procesos.
Los procesos pueden crear nuevos procesos, y heredar algunos atributos de su
padre.
El SO provee medios de comunicacin entre procesos. El proceso se comunica
con el SO mediante las llamadas al sistema (syscalls), para, por ejemplo:
Abrir un archivo
Alocar mas memoria
Crear un nuevo archivo
Sobreescribir su .text
Otro medio de comunicacin son las seales. (Anlogas a las interrupciones, pero
a nivel software). Un programa puede mandar seales a otros programas, el SO
puede mandar seales al programa.
1.4.4 Archivos
Un Archivo es una unidad lgica de almacenamiento. Es una abstracin sobre el
dispositivo fsico (disco rgido, floppy, etc).
Sistemas Operativos 29
Observaciones
No existe una definicin precisa de un S.O.
Los S.O. existen porque existe la necesidad de resolver problemas usando sistemas
computacionales.
Tampoco existe una definicin nica sobre qu contiene y qu no contiene un S.O.
Una definicin prctica es que un S.O. es el cdigo que siempre se ejecuta y acompaa la
ejecucin de las aplicaciones.
Ahora analice lo que Usted contest en la actividad inicial sobre su conocimiento acerca de
sistemas operativos, y despus de abordado el tema vuelva a realizarse las mismas preguntas
y compare sus respuestas: la inicial y la final. Concluya.
Sistemas Operativos 30
Sistemas Operativos 31
Sistemas Operativos 32
12
Sistemas Operativos 33
Rutina 1
Rutina 2
Rutina B
Rutina 3
Rutina 4
Sistemas Operativos 34
vez), este nivel se encarga de compartir la CPU entre los distintos procesos
realizando funciones de sincronizacin, conmutacin de la CPU y gestin
de interrupciones.
Nivel 2: Gestin de memoria. Este nivel es el encargado de repartir la
memoria disponible entre los procesos. Se realizan funciones de asignacin
y liberacin de memoria, y el control de violacin de acceso a zonas de
memoria no permitidas.
Nivel 3: Gestin de procesos. Este nivel es el encargado de la creacin y
destruccin de los procesos, intercambio de mensajes y deteccin y
arranque de los mismos.
Nivel 4: Gestin de dispositivos. En este nivel se realiza la gestin de las
entradas/salidas (E/S) en funcin de los dispositivos existentes. Entre otras,
se encarga de las funciones de creacin de procesos de E/S, asignacin y
liberacin de dispositivos E/S, y planificacin de la E/S.
Nivel 5: Gestin de la in formacin. El objetivo de este nivel es el de
gestionar el espacio de nombres lgicos, utilizados para simplificar el
acceso a los recursos, ya que mediante estos se sustituyen rutas de acceso
que pueden ser muy largas y difciles de recordar por un solo nombre,
encargndose el sistema operativo, de forma totalmente transparente para
el usuario, de realizar esta bsqueda de ruta. Otro de sus contenidos es la
proteccin de la informacin realizando funciones de creacin y destruccin
de ficheros y directorios, apertura y cierre de ficheros, lectura y escritura de
ficheros, y proteccin de acceso.
Es importante destacar que un mismo sistema operativo puede trabajar en
mltiples plataformas hardware, por lo que debe adaptarse a las peculiaridades de
cada una de ellas.
Una forma de representar esta estructura es mediante anillos concntricos o
rings. En el sistema de anillos, cada uno tiene una apertura, conocida como trap
(o interrupcin), por donde pueden entrar las llamadas de las capas inferiores. De
esta forma, las zonas ms internas del sistema operativo o ncleo del sistema
estarn ms protegidas de accesos indeseados desde las capas ms externas. Se
puede decir que las capas ms internas son ms privilegiadas que las externas.
En la base de la jerarqua se encuentra el hardware del computador, a veces
denominado simplemente mquina pura o los hierros desnudos. En seguida se
encuentran todos los anillos o capas propias del sistema operativo.
Sistemas Operativos 35
0. Hardware
Gestin de la
informacin
Gestin de
dispositivos
Gestin de
procesos
Gestin de
memoria
Gestin del
procesador
1
2
3
4
5
c. Mquina virtual
Se trata de un tipo de sistemas operativos que presentan una interfaz a cada
proceso, mostrando una mquina que parece idntica a la mquina real
subyacente.
Estos sistemas operativos separan dos conceptos que suelen estar unidos en el
resto de sistemas: la multiprogramacin y la mquina extendida.
El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos
sistemas operativos dando la sensacin de ser varias mquinas diferentes.
El ncleo de estos sistemas operativos se denomina monitor virtual y tiene como
misin llevar a cabo la multiprogramacin, presentando a los niveles superiores
tantas mquinas virtuales como se soliciten. Estas mquinas virtuales no son
mquinas extendidas, sino una rplica de la mquina real, de manera que en cada
una de ellas se pueda ejecutar un sistema operativo diferente, que ser el que
ofrezca la mquina extendida al usuario
La principal ventaja de esta estructura reside en que permite implementar varios
tipos de sistemas operativos sobre cada mquina virtual.
Sistemas Operativos 36
d. Cliente-servidor (Microkernel)
El tipo ms reciente de sistemas operativos es el denominado cliente-servidor,
que puede ser ejecutado en la mayora de las computadoras, ya sean grandes o
pequeas.
Este sistema sirve para toda clase de aplicaciones, es de propsito general y
cumple con las mismas actividades que los sistemas operativos convencionales: el
ncleo y los procesos, presentando grandes diferencias en cuanto a la forma de
distribuir los trabajos entre sus distintas partes.
Suministra mecanismos adecuados para la gestin de:
Procesos.
Memoria.
Comunicacin entre procesos.
El ncleo tiene como misin establecer la comunicacin entre los clientes y los
servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo,
un programa de aplicacin normal es un cliente que llama al servidor
correspondiente para acceder a un archivo o realizar una operacin de
Sistemas Operativos 37
Servidor
de
procesos
Servidor
de
terminales
Servidor
de
archivos
...
Servidor
de
memoria
Ncleo
2.2.2 Sistemas operativos por los modos de explotacin13
Los modos de explotacin se corresponden con las distintas maneras en que
puede funcionar un sistema operativo. Dentro de ellas, se encuentran las
indicadas en los apartados siguientes.
a. Procesamiento por lotes
Los sistemas operativos por lotes, procesan una gran cantidad de trabajos con
poca o ninguna interaccin entre los usuarios y los programas en ejecucin. Se
renen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la
espera de dos o ms trabajos como sucede en el procesamiento en serie. Estos
sistemas son de los ms tradicionales y antiguos, y fueron introducidos alrededor
de 1956 para aumentar la capacidad de procesamiento de los programas.
Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecucin
muy alto, porque el procesador es mejor utilizado y los sistemas operativos
pueden ser simples, debido a la secuenciabilidad de la ejecucin de los trabajos.
Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del
DC6600, el cual est orientado a procesamiento cientfico pesado, y el EXEC II
para el UNIVAC 1107, orientado a procesamiento acadmico.
13
Sistemas Operativos 38
Algunas otras caractersticas con que cuentan los sistemas operativos por lotes
son:
Requiere que el programa, datos y rdenes al sistema sean remitidos todos
juntos en forma de lote.
Permiten poca o ninguna interaccin usuario/programa en ejecucin.
Mayor potencial de utilizacin de recursos que procesamiento serial simple
en sistemas multiusuarios.
No conveniente para desarrollo de programas por bajo tiempo de retorno y
depuracin fuera de lnea.
Conveniente para programas de largos tiempos de ejecucin (ej, anlisis
estadsticos, nminas de personal, etc.).
Se encuentra en muchos computadores personales combinados con
procesamiento serial.
Planificacin del procesador sencilla, tpicamente procesados en orden de
llegada.
Planificacin de memoria sencilla, generalmente se divide en dos: parte
residente del S.O. y programas transitorios.
No requieren gestin crtica de dispositivos en el tiempo.
Suelen proporcionar gestin sencilla de manejo de archivos: se requiere
poca proteccin y ningn control de concurrencia para el acceso.
b. Multiprogramacin
En este modo de explotacin, el sistema operativo se encarga de distribuir la
carga computacional entre los procesadores existentes (monoprocesador o
multiprocesador), con el fin de incrementar el poder de procesamiento de la
mquina.
Dentro de los sistemas operativos multiprogramados cabe diferenciar:
- Tiempo compartido. Permiten la simulacin de que el sistema y sus recursos
son todos para cada usuario. El usuario hace una peticin a la computadora, esta
la procesa tan pronto como le es posible, y la respuesta aparecer en la terminal
del usuario.
Los principales recursos del sistema, el procesador, la memoria, dispositivos de
E/S, son continuamente utilizados entre los diversos usuarios, dando a cada
usuario la ilusin de que tiene el sistema dedicado para s mismo. Esto trae como
consecuencia una gran carga de trabajo al sistema operativo, principalmente en la
administracin de memoria principal y secundaria.
Utilizan las distintas tcnicas de planificacin de CPU para que se atiendan todos
los procesos en espera de ser ejecutados. Este proceso ocurre tan rpidamente
que el usuario no lo percibe.
Sistemas Operativos 39
Entre este tipo de sistemas operativos se encuentran: UNIX, LINUX Windows 95,
Windows 98, Windows Millenium, Windows XP, Windows NT, Windows 2000,
Windows 2003, MACOS y OS/2. Otros menos comunes son Multics, OS/360 y
DEC-10.
Las caractersticas de los sistemas operativos de tiempo compartido pueden ser:
Son populares representantes de sistemas multiprogramados multiusuario,
ejemplo: sistemas de diseo asistido por computador, procesamiento de
texto, etc.
Dan la ilusin de que cada usuario tiene una mquina para s.
La mayora utilizan algoritmo de reparto circular.
Los programas se ejecutan con prioridad rotatoria que se incrementa con la
espera y disminuye despus de concedido el servicio.
Evitan la monopolizacin del sistema asignando tiempos de procesador
(time slot).
La gestin de memoria proporciona proteccin a programas residentes.
La gestin de archivo debe proporcionar proteccin y control de acceso
debido a que pueden existir mltiples usuarios accesando un mismo
archivo.
- Tiempo real. Un sistema en tiempo real es aquel en el cual los resultados son
correctos no solo si la computacin es correcta, sino que tambin ha de serlo el
tiempo en el cual se producen los resultados.
Los sistemas operativos de tiempo real son aquellos en los cuales no tiene
importancia el usuario, sino los procesos. Por lo general, estn subutilizados sus
recursos con la finalidad de prestar atencin a los procesos en el momento que lo
requieran. Se utilizan en entornos donde son procesados un gran nmero de
sucesos o eventos.
Muchos sistemas operativos de tiempo real son construidos para aplicaciones muy
especficas como control de trfico areo, bolsas de valores, control de refineras,
control de laminadores. Tambin en el ramo automovilstico y de la electrnica de
consumo, las aplicaciones de tiempo real estn creciendo muy rpidamente.
Otros campos de aplicacin de los sistemas operativos de tiempo real son los
siguientes:
Control de trenes.
Telecomunicaciones.
Sistemas de fabricacin integrada.
Produccin y distribucin de energa elctrica.
Control de edificios.
Sistemas multimedia.
Sistemas Operativos 40
Ibid. p. 22.
Sistemas Operativos 41
Por el nmero de
usuarios
- Monousuario
- Multiusuario
Por el nmero
de tareas
- Monotarea
- Multitarea
Por el nmero de
procesadores
- Multiproceso
- Multiproceso
- Simtricos
- Asimtricos
a. Monousuarios
Los sistemas operativos monousuario son aquellos que nicamente soportan un
usuario a la vez, sin importar el nmero de procesadores que tenga la
computadora o el nmero de procesos o tareas que el usuario pueda ejecutar en
un mismo instante de tiempo. Las computadoras personales tpicamente se han
clasificado en este rengln.
b. Multiusuarios
Los sistemas operativos multiusuario son capaces de dar servicio a ms de un
usuario a la vez, ya sea por medio de varias terminales conectadas a la
computadora o por medio de sesiones remotas en una red de comunicaciones. No
importa el nmero de procesadores en la mquina ni el nmero de procesos que
cada usuario puede ejecutar simultneamente.
c. Monotareas
Los sistemas operativos monotarea son aquellos que slo permiten una tarea a
la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea,
Sistemas Operativos 42
en el cual se admiten varios usuarios al mismo tiempo, pero cada uno de ellos,
puede estar haciendo slo una tarea a la vez.
d. Multitareas
Un sistema operativo multitarea es aquel que permite al usuario estar realizando
varios trabajos al mismo tiempo. Por ejemplo, puede estar editando el cdigo
fuente de un programa durante su depuracin mientras compila otro programa, a
la vez que est recibiendo correo electrnico en un proceso en background. Es
comn encontrar en ellos interfaces graficas orientadas al uso de mens y al
ratn, lo que permite un rpido intercambio entre las tareas para el usuario,
mejorando para su productividad.
e. Monoproceso o uniproceso
Los sistemas monoproceso son los que nicamente permiten realizar un proceso
a la vez. Sin embargo, permiten simular la multitarea haciendo que el sistema
realice una tarea rotatoria con intercambio muy rpido. Ejemplos tpicos de este
tipo de sistemas son el DOS y MacOS.
f. Multiproceso
Los sistemas operativos multiproceso son los que permiten realizar varios
procesos simultneamente y, por tanto, son capaces de ejecutar varias tareas al
mismo tiempo.
Dentro de los sistemas multiproceso, se encuentran los sistemas simtricos, que
son los que distribuyen la carga de procesamiento por igual entre todos los
procesadores existentes. Sin embargo, los sistemas multiproceso asimtricos,
como Windows NT, 2000 y 2003 Server, asignan una tarea por procesador
existente, segn su prioridad, y el resto de tareas (de baja prioridad) se ejecutan
en un nico procesador. Por ejemplo, un sistema biprocesador asimtrico
ejecutara una sola tarea en un procesador y el resto en el otro.
Cuando se trabaja de manera asimtrica, el sistema operativo selecciona a uno de
los procesadores el cual jugar el papel de procesador maestro y servir como
pivote para distribuir la carga a los dems procesadores, que reciben el nombre de
esclavos.
Cuando se trabaja de manera simtrica, los procesos o partes de ellos (threads)
son enviados indistintamente a cualquiera de los procesadores disponibles,
teniendo, tericamente, una mejor distribucin y equilibrio en la carga de trabajo
bajo este esquema. Se dice que un thread es la parte activa en memoria y
corriendo de un proceso, lo cual puede consistir de un rea de memoria, un
conjunto de registros con valores especficos, la pila y otros valores de contexto.
Sistemas Operativos 43
15
Ibid. p. 23.
Sistemas Operativos 44
Las principales ventajas de los sistemas distribuidos (no solamente los sistemas
operativos) con respecto a los sistemas centralizados se describen enseguida:
-
Por otro lado, los sistemas distribudos tambin exhiben algunas ventajas
sobre sistemas aislados. Estas ventajas son:
-
Sistemas Operativos 45
Sistemas Operativos 46
Sistemas Operativos 47
b. Administrador de memoria
El procesador central lee y escribe datos directamente en memoria. La memoria
principal es generalmente el nico dispositivo de almacenamiento que la CPU
puede acceder directamente. Por ejemplo para que la CPU procese datos del
disco, primero se deben cargar stos en la memoria.
El sistema operativo es responsable de:
-
Sistemas Operativos 48
f. Sistema de proteccin
Si un sistema tiene mltiples usuarios y permite mltiples usuarios concurrentes,
los procesos deben estar protegidos de otras actividades. Para tal propsito se
provee de mecanismos que aseguran que los archivos, segmentos de memoria,
CPU y otros recursos pueden ser operados slo por aquellos procesos que tienen
permiso otorgado por el sistema operativo.
Por proteccin se entiende a los mecanismos para controlar el acceso de
programas, procesos y usuario a los recursos definidos por el sistema.
g. Networking
Un sistema distribuido es una coleccin de procesos que no comparten memoria o
recursos. Cada procesador tiene su propia memoria local, y los procesadores se
comunican con otros a travs de varias lneas de comunicacin como ser buses
de alta velocidad o lneas telefnicas.
Los procesadores en el sistema se conectan a travs de redes de comunicacin,
las cuales se pueden configurar de muchas maneras. La red puede esta completa
o parcialmente conectada.
En un sistema distribuido los recursos se comparten entre varias estaciones, los
sistemas operativos de red se encargan de administrar el acceso a estos recursos.
h. Sistema intrprete de comandos
Sistemas Operativos 49
Manejo de interrupciones.
Creacin y destruccin de procesos.
Cambio de estado de los procesos.
Despacho.
Suspensin y reanudacin de procesos.
Sincronizacin de procesos.
Comunicacin entre procesos.
Manipulacin de los bloques de control de procesos.
Sistemas Operativos 50
Sistemas Operativos 51
Sistemas Operativos 52
Sistemas Operativos 53
CAPTULO 3. INTERBLOQUEO
Activacin cognitiva:
Renanse en grupos de trabajo, no importa el nmero de integrantes, slo
importa que el grupo tenga mnimo 2 estudiantes. Y analicen qu es el
interbloqueo y en qu actividades de la vida cotidiana se pueden presentar
situaciones de Interbloqueo. Comentar en grupo, justificar sus respuestas.
3.1 Recursos16
Un sistema se compone de un nmero finito de recursos que son distribuidos entre
un nmero de procesos que compiten por ellos.
Existen recursos:
Fsicos: ciclos de CPU, espacio en memoria, dispositivos de E/S
(impresoras, unidades de cinta, etc.).
Lgicos: ficheros, tablas del sistema, semforos.
Los recursos son clasificados en diferentes tipos, cada uno de los cuales se
compone de algn nmero de instancias iguales.
Si un sistema tiene dos CPUs, entonces el tipo CPU tiene dos instancias.
Similarmente, el tipo IMPRESORAS puede tener cinco instancias. Si un proceso
pide una instancia de un tipo de recurso, la asignacin de cualquier instancia de
ese tipo atender la peticin.
Si este no es el caso, entonces las instancias no son idnticas y las clases de
tipos de recursos no estn bien definidas. Un proceso debe solicitar un recurso
antes de usarlo y liberarlo despus de usarlo. Un proceso puede solicitar tantos
recursos como sean necesarios para llevar a cabo la tarea para la cual ha sido
diseado. Obviamente el nmero de recursos solicitados no debe exceder el
nmero de recursos disponibles en el sistema. En otras palabras, un proceso no
debe pedir tres impresoras si en el sistema solo existen dos.
Los bloqueos pueden ocurrir cuando los procesos obtienen el acceso exclusivo a
los dispositivos, archivos, etc. Para analizar los bloqueos de manera ms general,
nos referimos a los objetos conocidos como recursos.
16
Sistemas Operativos 54
Los recursos apropiativos son aquellos que se pueden tomar del proceso que le
posee sin efectos dainos. La memoria es un ejemplo de recursos apropiativos.
Por ejemplo consideremos un sistema con 512 Kb de memoria de usuario, una
impresora, y dos procesos de 512 Kb que se desean imprimir cada uno.
El proceso A solicita y obtiene la impresora, para entonces comienza a
calcular los valores que va a imprimir. Antes de terminar el clculo excede
su quantum de tiempo y se intercambia.
El proceso B se empieza a ejecutar e intenta sin xito adquirir la impresora.
En potencia tendramos una situacin de bloqueo, puesto que A tiene la
impresora y B la memoria y ninguno puede continuar sin el recurso que
posee el otro.
Por fortuna es posible apropiarse de la memoria de B y sacarlo de ella e
intercambiarlo con A.
Sistemas Operativos 55
Sistemas Operativos 56
proceso, ste puede ser agregado a una cola de procesos en espera de ese
recurso.
3.2 Anlisis
!"
Los sistemas de cmputo tienen muchos recursos que slo pueden ser utilizados
por un proceso a la vez. Los ejemplos ms comunes son las impresoras, las
unidades de cinta y los espacios de las tablas de archivos. Si dos procesos
utilizaran al mismo tiempo el mismo espacio en la tabla de archivos, se tendra un
sistema de archivo corrupto. Por ello, todos los sistemas operativos tienen la
capacidad de otorgar a un proceso (en forma temporal) el acceso exclusivo a
ciertos recursos.
En muchas aplicaciones, un proceso necesita el acceso exclusivo no solo a un
recurso, sino a varios recursos. Un proceso que copie un archivo mayor que el
tamao de un disco de una cinta magntica a una impresora necesita el acceso
exclusivo a la unidad de cinta y a la impresora al mismo tiempo. En un sistema
monousuario, ste puede tener acceso a todos los recursos que necesite y realizar
su trabajo.
Sin embargo, en un sistema multiusuario, pueden surgir serios problemas.
3.2.1 Bloqueos
Grfica 21. Ejemplo de bloqueo
Proceso A
Proceso B
BLOQUEO
2
4
17
Sistemas Operativos 57
Veamos:
Supongamos que dos procesos desean imprimir cada uno un enorme
archivo en cinta. El proceso A solicita permiso para utilizar la impresora, el
cual se le concede.
Entonces cuando el proceso B solicita permiso para utilizar la unidad de
cinta y se le otorga.
El proceso A solicita entonces la unidad de cinta, pero la solicitud es
denegada hasta que B la libere.
Por desgracia, en este momento, en vez de liberar la unidad de cinta, el
proceso B solicita la impresora.
Los procesos se bloquean en ese momento y permanecen as por siempre.
A esta situacin se le llama BLOQUEO.
3.2.2 Abrazo Mortal (Deadlock)
Grfica 22. Ejemplo de deadlock
Sistemas Operativos 58
Sistemas Operativos 59
Sistemas Operativos 60
La informacin de este tema fue consultada y extractada de los documentos Sistemas Operativos
I y Sistemas Operativos II. Instituto Tecnolgico de Veracruz. http://www.itver.edu.mx/so1/ Unidad
IV y http://www.itver.edu.mx/so2/ Unidad II, respectivamente.
Sistemas Operativos 61
independientes. Sin embargo, puede ser til el considerar cada condicin por
separado.
Una forma de modelar estas condiciones es usando un grafo de recursos: los
crculos representan procesos, los cuadrados recursos. Una arista desde un
recurso a un proceso indica que el recurso ha sido asignado al proceso. Una arista
desde un proceso a un recurso indica que el proceso ha solicitado el recurso, y
est bloqueado esperndolo. Entonces, si hacemos el grafo con todos lo procesos
y todos los recursos del sistema y encontramos un ciclo, los procesos en el ciclo
estn bajo bloqueo mutuo.
Grfica 23. Ejemplo de un grafo de recursos
Sistemas Operativos 62
Despus se trabajarn los mtodos para tratar el interbloqueo, una vez ste se ha
presentado o no ha sido posible evitarlo, esto es:
Deteccin y recuperacin (3.9)
3.5 Prevencin del interbloqueo19
La estrategia bsica de la prevencin del interbloqueo consiste, a grandes rasgos,
en disear un sistema de manera que est excluida, a priori, la posibilidad de
interbloqueo.
Los mtodos para prevenir el interbloqueo consisten en impedir la aparicin de
alguna de las cuatro condiciones necesarias, antes mencionadas. Al asegurarnos
de que por lo menos una de estas condiciones no se presente, podemos prevenir
la ocurrencia de un bloqueo.
3.5.1 Exclusin mutua
Si ningn recurso se puede asignar de forma exclusiva, no se producira
interbloqueo. Sin embargo, existen recursos para los que no es posible negar la
condicin de exclusin mutua, pues la propia naturaleza de los mismos obliga a
que sean utilizados en exclusin mutua.
No obstante, es posible eliminar esta condicin en algunos recursos. Por ejemplo,
una impresora es un recurso no compatible pues si se permite que dos procesos
escriban en la impresora al mismo tiempo, la salida resultar catica. Pero con el
spooling de salida varios procesos pueden generar salida al mismo tiempo. Puesto
que el spooler nunca solicita otros recursos, se elimina el bloqueo originado por la
impresora.
El inconveniente es que no todos los recursos pueden usarse de esta forma (por
ejemplo, la tabla de procesos no se presenta al spooling y, adems, la
implementacin de esta tcnica puede introducir nuevos motivos de interbloqueo,
ya que el spooling emplea una zona de disco finita).
3.5.2 Retener y esperar
Con el fin de asegurar que la condicin de retener y esperar nunca ocurra en el
sistema, se debe garantizar que siempre que un proceso solicite un recurso, ste
no pueda retener otros recursos.
Un protocolo que puede ser usado requiere que cada proceso solicite y le sean
asignados todos los recursos antes de que empiece su ejecucin. Esto puede ser
19
Ibid. 8QLGDG,9\8QLGDG,,
Sistemas Operativos 63
Sistemas Operativos 64
Sistemas Operativos 65
Sistemas Operativos 66
Sistemas Operativos 67
debe esperar. Por lo tanto, la evitacin del interbloqueo slo anticipa la posibilidad
de interbloqueo y asegura que no exista nunca tal posibilidad.
3.6.1 Estados seguros e inseguros
Un estado de asignacin de recursos se considera seguro si en l no hay
posibilidad de interbloqueo. Para que un estado sea seguro, es necesario
que los procesos formen una secuencia segura. Una secuencia segura es
una ordenacin de los procesos de modo que los recursos que an pueden
pedir cualquier proceso pueden ser otorgados con los recursos libres ms
los recursos retenidos por los dems procesos. Con base a ello, cuando un
proceso realice una solicitud de recursos, el sistema se los conceder slo
en el caso de que la solicitud mantenga al sistema en un estado seguro.
Un estado inseguro es aquel en el que puede presentarse un interbloqueo.
3.7 Mecanismos para evitar el interbloqueo20
3.7.1 Algoritmo del banquero para un slo recurso
Este algoritmo fue ideado por Dijkstra (1965). Se cre en la forma en que un
banquero trata a un grupo de clientes, a quienes les otorga lneas de crdito. El
banquero sabe que no todos los clientes (4) A, B, C y D necesitarn su limite de
crdito mximo de inmediato, de manera que slo ha reservado 10 unidades en
lugar de 22 (total mximo disponible) para darles servicios (con este ejemplo
asumiremos que los clientes son los procesos, las unidades de crdito son los
recursos y el banquero es el sistema operativo).
CLIENTES
A
B
C
D
TIENE
0
0
0
0
LIMITE MAXIMO
6
5
4
7
Reserva: 10 seguro
Los clientes emprenden sus respectivos negocios y solicitan prstamos de vez en
cuando, es decir solicitan recursos. En cierto momento, la situacin es como se
muestra en el siguiente cuadro:
20
Ibid. 8QLGDG,9\8QLGDG,,
Sistemas Operativos 68
CLIENTES
A
B
C
D
TIENE
1
1
2
4
LIMITE MAXIMO
6
5
4
7
Este estado es seguro, puesto que con dos unidades restantes, el banquero
puede retrasar todas las solicitudes excepto la de C lo cual permite que C termine
y libere sus cuatro recursos. Con cuatro unidades disponibles, el banquero puede
permitir que B D tengan las unidades necesarias.
Consideremos lo que ocurrira si se otorgara una solicitud de B de una unidad
adicional, analizando esto en el esquema anterior tendramos este nuevo
esquema:
CLIENTES
A
B
C
D
TIENE
1
2
2
4
LIMITE MAXIMO
6
5
4
7
Sistemas Operativos 69
Proc \ Rec
A
B
C
Total disponibles
Impresora
2
4
1
3
U. Cinta
3
1
4
3
Archivo
3
1
2
4
Plotter
1
2
4
2
Total
9
8
11
21
Sistemas Operativos 70
Proc \ Rec
A
B
C
Total disponibles
Impresora
2/0
4/3
1/0
3
U. Cinta
3/2
1/1
4/0
3
Archivo
3/2
1/1
2/1
4
Plotter
1/0
2/2
4/0
2
Total
9
8
11
21
Impresora
2/0/2
4/3/1
1/0/0
3
U. Cinta
3/2/1
1/1
4/0/2
3
Archivo
3/2/1
1/1
2/1/1
4
Plotter
1/0/1
2/2
4/0/1
2
Total
9
8
11
21
Impresora
2/0/2
4/3/1
1/0/0/1
3
U. Cinta
3/2/1
1/1
4/0/2/2
3
Archivo
3/2/1
1/1
2/1/1
4
Plotter
1/0/1
2/2
4/0/1/2
2
Total
9
8
11
21
Impresora
2/0/2
4/3/1
1/0/0/1
3
U. Cinta
3/2/1
1/1
4/0/2/2
3
Archivo
3/2/1
1/1
2/1/1
4
Plotter
1/0/1
2/2
4/0/1/2/1
2
Total
9
8
11
21
Sistemas Operativos 71
PROCESOS
A
B
C
IMPRESORAS
2
4
1
U.CINTA
3
1
4
ARCHIVO
3
1
2
PLOTTER
1
2
4
IMPRESORAS
3
U.CINTA
3
ARCHIVO
4
PLOTTER
2
Recursos disponibles
Aqu vemos 2 matrices. La primera muestra el nmero de recursos solicitados por
el momento a cada uno de los tres procesos. La segunda muestra el nmero de
recursos disponibles. Como en el caso de un slo recurso, los procesos deben
establecer sus necesidades totales de recursos antes de su ejecucin de manera
que el sistema operativo pueda calcular la siguiente matriz en cualquier instante.
Si se sigue desarrollando el ejercicio anterior, poniendo en azul los recursos
solicitados y en negro la cantidad dada, la matriz va quedando:
Sistemas Operativos 72
Primera Pasada
PROCESOS
A (liberado)
B
C
IMPRESORAS
2,2
4,0
1,1
U.CINTA
3,3
1,0
4,0
ARCHIVO
3,3
1,1
2,0
PLOTTER
1,1
2,1
4,0
U.CINTA
3,3
1,0,1
4,0,2
ARCHIVO
3,3
1,1
2,0,2
PLOTTER
1,1
2,1,1
4,0,1
U.CINTA
3,3
1,0,1
4,0,2,2
ARCHIVO
3,3
1,1
2,0,2
PLOTTER
1,1
2,1,1
4,0,1,2
U.CINTA
3,3
1,0,1
4,0,2,2
ARCHIVO
3,3
1,1
2,0,2
PLOTTER
1,1
2,1,1
4,0,1,2,1
IMPRESORAS
2,2
4,0,3
1,1
IMPRESORAS
2,2
4,0,3,1
1,1
IMPRESORAS
2,2
4,0,3,1
1,1
Sistemas Operativos 73
Sistemas Operativos 74
21
Sistemas Operativos 75
Una solucin mixta para los interbloqueos en este sistema ordena a las clases en
la forma expuesta y para cada una se utilizan las siguientes estrategias:
Recursos internos. Se puede usar la prevencin a travs de la ordenacin de
recursos, ya que en la ejecucin no es necesario elegir entre solicitudes
pendientes.
Sistemas Operativos 76
pues
FLYNN, Ida y MCHOES, Ann (2001). Sistemas operativos. Tercera Edicin. Mxico: Editorial
Thomson Learning. p. 119.
Sistemas Operativos 77
3. Vuelva al paso 1 y contine la iteracin, hasta eliminar todas las lneas que
conecten recursos con procesos
Si quedan lneas, esto indicar que la solicitud del proceso en cuestin no puede
satisfacerse y que existe un interbloqueo.
3.9.2 Recuperacin
Una vez que se detecta el interbloqueo hay que desarmarlo y devolver el sistema
a lo normal con tanta rapidez como sea posible. Existen varios algoritmos de
recuperacin, pero todos tienen una caracterstica en comn: requieren por lo
menos una vctima, un trabajo consumible, mismo que, al ser eliminada del
interbloqueo, liberar al sistema. Por desgracia, para eliminar la vctima
generalmente hay que reiniciar el trabajo desde el principio o a partir de un punto
medio conveniente (Calingaert, 1982).
El primer mtodo y ms simple de recuperacin, y el ms drstico es terminar los
trabajos que estn activos en el sistema y volver a arrancarlos desde el principio.
El segundo mtodo es terminar slo los trabajos incluidos en el interbloqueo y
solicitar a sus usuarios que los vuelvan a enviar.
El tercero es identificar qu trabajos intervienen en el interbloqueo y terminarlos
uno por uno y comprobar la desaparicin del bloqueo mutuo despus de cada
eliminacin hasta resolverlo. Una vez liberado el sistema, se deja que los trabajos
restantes terminen su procesamiento; luego, los trabajos detenidos se inician de
nuevo desde el principio.
El cuarto procedimiento se puede poner en efecto slo si el trabajo mantiene un
registro, una instantnea de su progreso, de manera que se pueda interrumpir y
despus continuar sin tener que reiniciar desde el principio. La instantnea es
como el descanso del ejemplo de la escalera: en vez de obligar a los que suben a
volver a la parte inferior de la misma, slo necesitan retirarse al descanso ms
cercano, esperar a que pasen los dems y reanudar la subida. En general, este
mtodo es el preferido para trabajos de ejecucin larga, a fin de ayudarlos a tener
una recuperacin rpida.
Hasta ahora los cuatro procedimientos anteriores comprenden los trabajos que se
encuentran en interbloqueo. Los dos mtodos siguientes se concentran en
trabajos que no estn en interbloqueo y los recursos que conservan.
Uno de ellos, el quinto mtodo de la lista, selecciona un trabajo no bloqueado,
retira los recursos que contiene y los asigna a procesos bloqueados, de manera
que pueda reanudarse la ejecucin (esto deshace el interbloqueo).
Sistemas Operativos 78
El sexto mtodo detiene los trabajos nuevos e impide que entren al sistema, lo que
permite que los que no estn bloqueados sigan hasta su terminacin y liberen sus
recursos.
Por ltimo, con menos trabajos en el sistema, la competencia por los recursos se
reduce, de suerte que los procesos bloqueados obtienen los recursos que
necesitan para ejecutarse hasta su terminacin. Este mtodo es el nico aqu
listado que no necesita una vctima. No se garantiza que funcione, a menos que el
nmero de recursos disponibles exceda los necesarios en por lo menos uno de los
trabajos bloqueados para ejecutar (esto es posible con recursos mltiples).
Deben considerarse varios factores al elegir la vctima para que tengan el efecto
menos negativo sobre el sistema. Los ms comunes son:
1. La prioridad del trabajo en consideracin. Por lo general no se tocan los
trabajos de alta prioridad.
2. El tiempo de CPU utilizado por el trabajo. No suelen tocarse los trabajos
que estn a punto de terminar.
3. La cantidad de tareas en que repercutira la eleccin de la vctima.
Adems, los programas que trabajan con bases de datos tambin merecen un
trato especial. Los trabajos que estn modificando datos no se deben elegir para
su terminacin, ya que la consistencia y validez de la base de datos se pondra en
peligro. Afortunadamente, los diseadores de muchos sistemas de bases de datos
han incluido mecanismos complejos de recuperacin, por lo que se minimiza el
dao a la base de datos si se interrumpe una transaccin o se termina antes de
completarse (Finkel, 1986).
Hasta ahora hemos hablado de interbloqueos, el resultado de la asignacin
liberal de los recursos. En el otro extremo est la inanicin, el resultado de la
asignacin de recursos, donde una tarea no puede ejecutarse porque permanece
en espera de recursos que nunca quedan disponibles. Para ilustrar lo anterior,
Dijkstra (1968) introdujo el caso de la cena de los filsofos.
Cinco filsofos estn sentados en una mesa redonda, cada uno medita
profundamente, y en el centro hay un recipiente de espagueti accesible a todos.
Hay un tenedor entre cada comensal (Figura 25). La costumbre local exige que
cada filsofo utilice dos tenedores, los que estn a ambos lados del plato, para
comer el espagueti, pero slo hay cinco (no los diez que se requeriran para que
los cinco pensadores comieran al mismo tiempo), esto es desafortunado para el
filsofo 2.
Cuando se sientan para cenar, el filsofo 1 (F1) es el primero que toma los dos
tenedores (T1 y T5) a ambos lados del plato y empieza a comer. Inspirado por su
Sistemas Operativos 79
colega, el filsofo 3 (F3) hace lo mismo y toma T2 y T3. Ahora el filsofo 2 (F2)
decide empezar la comida, pero no puede porque no estn disponibles tenedores:
T1 ha sido asignado a F1 y T2 a F3; slo F4 o F5 puede usar el nico tenedor
disponible, as que el filsofo 2 debe esperar.
Grfica 25. Cena de filsofos. Estado inicial
Pronto, F3 termina de comer, deja sobre la mesa sus dos tenedores y vuelve a su
meditacin. Hay que asignar el tenedor que est a su lado (T2), ahora libre, al
filsofo hambriento (F2)? Aunque es tentador, tal cosa resultara ser un mal
precedente, porque si se permite que los filsofos utilicen todos los recursos con la
esperanza de que el recurso requerido quede disponible, la cena puede pasar con
facilidad aun estado inseguro; sera cuestin de tiempo, antes que cada filsofo se
hiciera de un tenedor y nadie podra cenar. As pues, los recursos se asignan a los
filsofos slo cuando ambos tenedores estn disponibles al mismo tiempo. El
estado del sistema, se ilustra en la figura 26.
Sistemas Operativos 80
g
F4 y F5 estn meditando tranquilamente y F1 sigue comiendo, cuando F3 (que
debe estar lleno), decide comer algo ms y, dado que los recursos estn libres,
tiene la posibilidad de tomar T2 y T3 de nuevo. Poco despus, F1 termina y libera
T1 y T5, pero F2 sigue sin poder comer, porque T2 est asignado. Este escenario
podra continuar de manera indefinida, y siempre que F1 y F3 alternaran su uso de
los recursos disponibles, F2 deber esperar. F1 y F3 pueden comer en cualquier
momento, en tanto que F2 se muere de hambre a slo pulgadas del alimento.
En un entorno de cmputo, los recursos son como los tenedores y los procesos
competitivos son como los comensales. Si el administrador de los recursos no
vigila los procesos y los trabajos que se estn quedando sin alimento y planea su
terminacin en algn momento, se podran quedar en el sistema esperando para
que siempre la combinacin correcta de recursos.
A fin de encarar este problema. Se puede implementar un algoritmo diseado para
detectar trabajos con inanicin, que controla el tiempo que cada trabajo
permanece en espera de recursos.
Una vez detectada la inanicin, el sistema puede bloquear nuevos trabajos hasta
que los trabajos hambrientos queden satisfechos. Este algoritmo se debe
supervisar de cerca: si se efecta demasiado a menudo, los nuevos trabajos
quedan bloqueados constantemente y la produccin disminuye. Si no se lleva a
cabo con la frecuencia suficiente, quedarn en el sistema trabajos con inanicin
durante un periodo inaceptablemente largo.
23
Cada filsofo debe tener ambos tenedores para empezar a comer, uno en la mano derecha y el
otro en la izquierda. A menos que los recursos(tenedores) se asignen justamente, algunos filsofos
pueden quedarse sin comer.
Sistemas Operativos 81
Actividad final:
Una vez desarrollada la temtica de Interbloqueo y quedando claro el
concepto, verifique si las situaciones reales corresponden efectivamente al
concepto de interbloqueo en Sistemas Operativos. Concluya.
Realice una lista de algunos procesos que usted considera tienen interbloqueo
al interior de un sistema computacional.
Sistemas Operativos 82
Sistemas Operativos 83
Sistemas Operativos 84
Sistemas Operativos 85
4.2 Cliente/Servidor
El concepto de cliente/servidor proporciona una forma eficiente de utilizar todos
estos recursos de mquina, de tal forma que la seguridad y fiabilidad que
proporcionan los entornos mainframe se traspasa a la red de rea local. A esto
hay que aadir la ventaja de la potencia y simplicidad de los ordenadores
personales.
La arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de
informacin, en el que las transacciones se dividen en procesos independientes
que cooperan entre s para intercambiar informacin, servicios o recursos. Se
denomina cliente al proceso que inicia el dilogo o solicita los recursos y
servidor, al proceso que responde a las solicitudes.
Es el modelo de interaccin ms comn entre aplicaciones en una red. No forma
parte de los conceptos de la Internet como los protocolos IP, TCP o UDP, sin
embargo todos los servicios estndares de alto nivel propuestos en Internet
funcionan segn este modelo.
Los principales componentes del esquema cliente/servidor son entonces los
clientes, los servidores y la infraestructura de comunicaciones.
En este modelo, las aplicaciones se dividen de forma que el servidor contiene la
parte que debe ser compartida por varios usuarios, y en el cliente permanece slo
lo particular de cada usuario.
Los clientes interactan con el usuario, usualmente en forma grfica.
Frecuentemente se comunican con procesos auxiliares que se encargan de
establecer conexin con el servidor, enviar el pedido, recibir la respuesta, manejar
las fallas y realizar actividades de sincronizacin y de seguridad.
Los clientes realizan generalmente funciones como:
Manejo de la interface del usuario.
Captura y validacin de los datos de entrada.
Generacin de consultas e informes sobre las bases de datos.
Sistemas Operativos 86
Para que los clientes y los servidores puedan comunicarse se requiere una
infraestructura de comunicaciones, la cual proporciona los mecanismos bsicos de
direccionamiento y transporte. La mayora de los sistemas Cliente/Servidor
actuales, se basan en redes locales y por lo tanto utilizan protocolos no orientados
a conexin, lo cual implica que las aplicaciones deben hacer las verificaciones. La
red debe tener caractersticas adecuadas de desempeo, confiabilidad,
transparencia y administracin.
Entre las principales caractersticas de la arquitectura cliente / servidor, se pueden
destacar las siguientes:
El servidor presenta a todos sus clientes una interface nica y bien definida.
El cliente no necesita conocer la lgica del servidor, slo su interface
externa.
El cliente no depende de la ubicacin fsica del servidor, ni del tipo de
equipo fsico en el que se encuentra, ni de su sistema operativo.
Los cambios en el servidor implican pocos o ningn cambio en el cliente.
Como ejemplos de clientes pueden citarse interfaces de usuario para enviar
comandos a un servidor, APIs para el desarrollo de aplicaciones distribuidas,
herramientas en el cliente para hacer acceso a servidores remotos (por ejemplo,
servidores de SQL) o aplicaciones que solicitan acceso a servidores para algunos
servicios.
Como ejemplos de servidores pueden citarse servidores de ventanas como Xwindows, servidores de archivos como NFS, servidores para el manejo de bases
Sistemas Operativos 87
Qu necesitamos gestionar?
Dnde estarn situados los procesadores y estaciones de trabajo?
Cuntos tipos distintos se soportarn?
Qu tipo de soporte es necesario y quin lo proporciona?
Sistemas Operativos 88
Sistemas Operativos 89
Sistemas Operativos 90
Sistemas Operativos 91
Sistemas Operativos 92
4.7.1 Definicin
El middleware es un mdulo intermedio que acta como conductor entre dos
mdulos de software. Para compartir datos, los dos mdulos de software no
necesitan saber cmo comunicarse entre ellos, sino cmo comunicarse con el
mdulo de middleware.
El middleware debe ser capaz de traducir la informacin de una aplicacin y
pasarla a la otra. El concepto es muy parecido al de ORB (Object Request Broker)
que permite la comunicacin entre objetos y servicios de gestin bsicos para
aplicaciones de objetos distribuidos.
En una aplicacin cliente / servidor el middleware reside entre la aplicacin cliente
y la aplicacin del sistema host que acta como servidor.
El mdulo middleware puede definirse tambin en trminos de programacin
orientada a objetos. El mdulo identifica diferentes objetos y conoce qu
propiedades tienen asociadas, por lo que puede responder a peticiones referentes
a los mismos.
4.7.2 Caractersticas generales
Simplifica el proceso de desarrollo de aplicaciones.
Es el encargado del acceso a los datos: acepta las consultas y datos
recuperados directamente de la aplicacin y los transmite por la red.
Tambin es responsable de enviar de vuelta a la aplicacin, los datos de
inters y de la generacin de cdigos de error.
Es diferente desarrollar aplicaciones en un entorno middleware que la
utilizacin de APIs (Application Programmer Interface. Interface de
Programacin de Aplicacin) directas del sistema. El middleware debe ser
capaz de manejar todas las facilidades que posee el sistema operativo y
esto, no es sencillo. Por eso, muchas veces se pierde potencia con la
utilizacin del middleware en lugar de las APIs del sistema operativo
directamente.
La adopcin dentro de una organizacin implica la utilizacin de unos
paquetes de software especficos para desarrollar estos mdulos. Esto liga
a un suministrador y a su poltica de actualizacin del producto, que puede
ser distinta que la de actualizacin de los sistemas operativos con los que
se comunica el mdulo middleware.
Sistemas Operativos 93
Sistemas Operativos 94
Sistemas Operativos 95
Sistemas Operativos 96
Sistemas Operativos 97
Sistemas Operativos 98
Esta cuestin ha sido muy estudiada en las ltimas dos dcadas. A pesar de los
avances que se han alcanzado en esta rea, todava no existe una transparencia
total.
El establecimiento de patrones es una tentativa. Existen varias instituciones que
son responsables en definir patrones en trminos de lenguajes y sistemas, como
la ANSI (American National Standards Institute) y la ISO (International
Organization for Standarization).
En el rea de banco de datos, por ejemplo, fue creado un patrn para el SQL
(Structured Query Language), que es el lenguaje ms utilizado actualmente en el
contexto del modelo relacional, el ANSI-SQL, como fue bautizado, sera un
lenguaje de referencia a ser soportado por todos los vendedores de sistemas. Mas
eso todava no ha acontecido, en funcin del ANSI-SQL, es deficiente frente a
extensiones de SQL, stos, producidos por vendedores que incorporan nuevas
caractersticas de un SGBD como patrn, ganando performance y ventaja
competitiva frente a sus competidores.
As, ahora, bajo un patrn SQL, las extensiones de SQL de cada fabricante que
generalmente exploran mejor las cualidades de un servidor de banco de datos,
son una ventaja del punto de vista de desempeo. Por otro lado, es una
desventaja la prdida de portabilidad. Las opciones generalmente consideradas
son: la utilizacin de un conjunto de instrucciones que sean comunes a todos los
SQL o la utilizacin de los llamados drivers.
El uso de drivers ha sido otra tentativa de mitigar la cuestin de transparencia y de
explorar mejor estos avances tecnolgicos, todava no incorporados como
patrones. Los drivers son programas complejos con el conocimiento especfico de
una determinada mquina y/o sistema. Ellos realizan la traduccin de los
requisitos de una interface genrica (sobre el cual un aplicativo fue construido)
para un sistema especfico, y viceversa.
Con o sin la ayuda de drivers, existen tres formas para implementar una
arquitectura cliente/servidor de banco de datos, que puedan ser independientes de
la plataforma: interface comn, gateway comn, y protocolo comn. Todas ellas se
basan en el uso de un traductor como un elemento comn que ir a efectuar las
transacciones de aplicacin con un SGBD.
La forma interface comn, utiliza una interface de cliente como traductor. Eso
implica que la aplicacin se deba preocupar solamente con la interface de cliente,
que sera la responsable de la comunicacin con el servidor. Generalmente, ella
cuenta con el auxilio de drivers para optimizacin de contacto con moldes de
protocolo y la interface de servidor (Figura 1).
Sistemas Operativos 99
Una forma gateway24 comn, como dice su nombre, usa una pasarela comn (es
un sistema altamente comprometido con la comunicacin) como traductor.
Normalmente, un gateway localiza una plataforma separada de plataformas de
cliente y servidor. Siendo un sistema especializado en traduccin, el gateway
ofrece grandes cantidades de drivers para diversos tipos de protocolos de
interfaces cliente y de interfaces servidor. (Grfica 30).
Por ltimo, la forma protocolo comn, utiliza un protocolo comn y abierto como
elemento traductor. Esta forma no necesariamente implica el uso de drivers, ya
que basta que ambas interfaces, cliente y servidor, entiendan el mismo protocolo.
(Grfica 31).
Ninguna de las tres, por s solas, resuelve convenientemente el problema de
transparencia entre plataformas. En verdad, una implementacin prctica ha sido
una combinacin de estas tres formas.
24
la
implantacin
del
modelo
Aplicaciones.
Conocimientos en el departamento de SI.
Conocimientos de los usuarios.
Todos stos son activos fundamentales que, frecuentemente, se olvidan o se
desprecian.
Cliente/Servidor posibilita una migracin paso a paso, es decir, la generacin de
nuevas aplicaciones que coexistan con las ya existentes, protegiendo, de esta
forma, todas las inversiones realizadas por la empresa.
4.12 Fases de implantacin
Una arquitectura cliente / servidor debe mostrar los sistemas de informacin no
como un cliente que accede a un servidor corporativo, sino como un entorno que
ofrece acceso a una coleccin de servicios. Para llegar a este estado pueden
distinguirse las siguientes fases de evolucin del sistema:
4.12.1 Fase de iniciacin
Esta etapa se centra sobre todo en la distribucin fsica de los componentes entre
plataformas. Los dos tipos de plataforma son:
Una plataforma cliente para la presentacin (generalmente un ordenador
personal de sobremesa).
Una plataforma servidora (como por ejemplo el servidor de una base de
datos relacional) para la ejecucin de procesos y la gestin de los datos.
Un ejemplo sera el de una herramienta de consulta que reside en un ordenador
personal a modo de cliente y que genera peticiones de datos que van a travs de
la red hasta el servidor de base de datos. Estas peticiones se procesan, dando
como resultado un conjunto de datos que se devuelven al cliente.
En esta fase pueden surgir los siguientes problemas:
Cmo repartir la lgica de la aplicacin entre las plataformas cliente y
servidor de la forma ms conveniente.
Cmo gestionar la arquitectura para que permita que cualquier cliente se
conecte con cualquier servidor.
4.12.2 Fase de proliferacin
La segunda etapa de una arquitectura cliente / servidor se caracteriza por la
proliferacin de plataformas clientes y servidoras. Ahora, el entorno para la
Actividad de refuerzo:
Continu con su estudio del sistema de red seleccionado.
Prepare un pequeo informe en donde muestre los resultados obtenidos de su
investigacin.
Socialcelo con el tutor y aplique las observaciones recibidas.
Saque una lista de las preguntas que tiene acerca del tema y aproveche al
tutor para que le ayude a obtener la solucin.
BIBLIOGRAFA
ALCALDE, Eduardo. MORERA, Juan. PEREZ-CAMPANERO, Juan A. (1994).
Introduccin a los Sistemas Operativos. Serie Informtica de Gestin. Mxico:
Editorial Mc Graw Hill.
BARRETO ROA, Julio Humberto. (2001). Sistemas Operativos. Gua de estudio.
Bogot: Editorial UNAD.
CALDERA (2003). Kit de Recursos. Unifying Unix Whit Linux For Business.
CAAS, Javier. Documento pdf: Sistemas Operativos. Catorce captulos (1999).
CARRETERO PEREZ, Jess, GARCIA CABALLEIRA, Flix, ANASAGASTI, Pedro
de Miguel, PEREZ COSTOYA, Fernando (2001). Sistemas Operativos. Una visin
aplicada. Madrid: Mc Graw Hill.
FLYNN, Ida M, MCHOES, Ann McIver.(2001) Sistemas operativos. Tercera
Edicin. Mxico: Editorial Thomson Learning.
RAYA, Laura, ALVAREZ, Raquel, RODRIGO, Vctor. (2005). Sistema Operativos
en entornos Monousuario y Multiusuario. Mxico: Alfaomega, Ra-Ma.
RUEDA, Francisco. (1989). Sistemas Operativos. Santaf de Bogot: Mc Graw
Hill.
SILBERSCHATZ, Avi, GALVIN, Peter, GAGNE,
Operativos. Mxico: Editorial Limusa Wiley.
Greg.
(2002).
Sistemas
DIRECCIONES WEB
http://www.tau.org.ar/base/lara.pue.udlap.mx/sistoper/
http://www.itver.edu.mx/so1/
http://www.itver.edu.mx/so2/
http://os.matiu.com.ar/
http://os-matiu.dreamhost.com/classes/clase1.html
http://www.iespana.es/canalhanoi/so/
http://server2.southlink.com.ar/vap/sistemas_operativos.htm
http://www.inei.gob.pe/web/metodologias/attach/lib616/INDEX.HTM
http://www.itq.edu.mx/vidatec/maestros/sis/mnogues/Unidad1.htm
http://www.cs.virginia.edu/~knabe/iic2332/notes01.html
UNIDAD DIDCTICA 2
ADMINISTRACIN DE RECURSOS
INTRODUCCIN
Una de las principales funciones de un sistema operativo es la gestin, control y
organizacin de los recursos disponibles en un sistema de cmputo.
Esos recursos hacen referencia, principalmente, a los procesos, memoria,
dispositivos y archivos que son la base fundamental para las operaciones y
acciones que ejecuta el usuario con el sistema y viceversa.
Es importante revisar cules son los algoritmos, pasos o tareas que debe realizar
el SO, ante las diferentes acciones que se presentan, y ms que acciones a los
posibles errores que se puedan presentar debido a la caracterstica que todo
sistema persigue: la multitarea y la multiprogramacin.
Adems es importante reconocer con qu cuenta el sistema de cmputo y cul es
el mximo provecho (en tiempo, en dinero, en general en recursos) que se le
puede extraer para lograr los resultados deseados y ms que deseados exitosos.
En el corazn de los sistemas operativos
OBJETIVOS
1. Estudiar en detalle el concepto de proceso, la informacin asociada al
mismo, sus posibles estados, las seales y temporizadores que pueden
estar asignadas a un proceso.
2. Identificar los requisitos de la gestin de la memoria, el modelo de memoria
de un proceso, diversos esquemas de gestin, incluyendo la memoria real y
la virtual.
3. Establecer los parmetros y caractersticas fundamentales de los diferentes
dispositivos de entrada/salida y el nivel de gestin que realiza el SO para su
adecuado funcionamiento.
4. Proporcionar mecanismos para comprender el sistema de gestin de
archivos y directorios por parte de un sistema operativo.
5. Conocer los diferentes mecanismos de proteccin entre los distintos
procesos que se ejecutan en un sistema y entre los distintos sistemas que
estn conectados entre s.
Las figuras de este captulo fueron tomadas del documento pdf: Sistemas Operativos. Profesor
Javier Caas. Captulos 4, 5 y 6.
Datos
Registros temporales
Stack
Program Counter
Como se dijo puede ser que una tarea tenga ms de un thread, en este caso cada
Thread es independiente y sigue manejando sus propios recursos y sus propias
prioridades.
Grfica 37. Tarea con mltiples threads
1.3.1 Mensajes
La comunicacin va IPC no necesita compartir variables. Para esto se requieren
dos operaciones como mnimo:
Send (mensaje) Enviar (mensaje)
Receive (mensaje) Recibir (mensaje)
Los procesos que se comunican necesitan una forma de poder reverenciarse.
La comunicacin puede ser:
1. Comunicacin directa
En este esquema de comunicacin, cada proceso debe explcitamente indicar el
nombre del proceso fuente o del proceso destino:
- Enviar(P,mensaje); : Enva mensaje al proceso P
- Recibir(Q,mensaje); : Recibe un mensaje desde el proceso Q
2. La interaccin productor consumidor
Un tipo de interaccin muy comn en un sistema operativo es la llamada
Productor/Consumidor.
El proceso productor genera algn dato y el proceso consumidor recibe este
dato para algn tipo de procesamiento.
Por ejemplo:
Productor: aplicacin que genera datos.
Consumidor: impresora que imprime los datos.
Como los procesos productor y consumidor tienen distintas velocidades,
normalmente se necesita un Buffer para suavizar esta diferencia. El IPC provee de
este Buffer es forma automtica
apropiativa o no
apropiativa (preemptive
or not
Por ejemplo en los sistemas UNIX existen los cronjobs y atjobs, los cuales se
programan con base a la hora, minuto, da del mes, da de la semana y da del
ao.
La mayora de los sistemas programan el reloj para que pulse de 20 a 50 veces
por segundo y al pulso final es cuando el planificador consigue el control y puede
relegar al proceso en ejecucin.
Las prioridades de los procesos se recalculan frecuentemente. En el clculo de
prioridades se tiene en cuenta la duracin del lapso de tiempo. No tendra sentido
asignar continuamente la CPU a un proceso y luego expulsar el proceso cuando
tan slo haya ejecutado unas pocas instrucciones.
En una planificacin no apropiativa, un trabajo muy grande aplaza mucho a uno
pequeo, y si entra un proceso de alta prioridad est tambin debe esperar a que
termine el proceso actual en ejecucin.
1.5.5 Planeadores Scheduler - Itineradores
El objetivo de la multiprogramacin es maximizar la utilizacin de la CPU
mantenindola ocupada la mayor parte del tiempo.
El objetivo de un sistema de tiempo compartido es conmutar la CPU en forma
rpida para que cada usuario pueda interactuar con su aplicacin.
Cuando un proceso entra al sistema, es puesto en una cola de jobs. Los procesos
que residen en memoria y estn listos para ser ejecutados estn en una cola
llamada Cola Ready.
Los procesos que estn a la espera por dispositivo de E/S, estn en una cola
llamada Cola de Dispositivos.
De la cola ready los procesos son seleccionados para su ejecucin y
despachados a la CPU. El ciclo de vida se puede observar mediante un diagrama
de colas.
Un proceso durante su ciclo de vida en el sistema pasa por varias colas. El S.O
debe seleccionar procesos desde estas colas con algn criterio.
La seleccin de un proceso la realiza el itinerador (scheduler).
Existen dos itineradores:
De Job. Selecciona un proceso del disco y lo carga en memoria.
De CPU. Selecciona un proceso de la cola ready y le asigna CPU.
El itinerador de CPU
El Itinerador de CPU acta frecuentemente. Normalmente un proceso slo ocupa
la CPU algunos milisegundos antes de esperar por E/S.
El itinerador de CPU debe ser muy eficiente. Si normalmente un proceso toma
100mseg antes de requerir E/S, el tiempo que debe tomar el itinerador no debe
superar el 10% de este tiempo, es decir 10mseg
El itinerador de JOB
El Itinerador de CPU acta menos frecuentemente que el itinerador de CPU. El
itinerador de Job controla el grado de multiprogramacin: nmero de jobs
presentes en memoria.
Si el grado de multiprogramacin es estable, la tasa de creacin de procesos es
igual a la tasa de procesos que terminan.
Un aspecto importante del itinerador de Job es el criterio de seleccin de jobs.
1.5.6 Cundo se itinera - La cola ready
Toda vez que la CPU est ociosa, el itinerador selecciona un proceso desde la
Cola Ready. La Cola Ready no es necesariamente una cola FIFO. Su estructura
vara dependiendo del algoritmo de itineracin.
La cola ready es tratada como una cola circular. El itinerador recorre la cola
asignando CPU a cada proceso un intervalo de tiempo dado por el cuantum de
tiempo.
La Cola Ready es tratada como cola FIFO. Los procesos que entran se agregan al
final. Si el tiempo que ocupa un proceso es menor que el cuantum, el proceso
abandona la CPU voluntariamente y el itinerador toma el siguiente proceso.
t
El algoritmo de mltiples colas realimentadas est definido por los siguientes
parmetros:
Nmero de colas.
El algoritmo de itineracin de cada cola.
Mtodos para cambiar de colas a procesos.
Mtodo para determinar a cul cola entra el proceso.
Este algoritmo es el ms general. Se puede configurar para mltiples requerimientos.
Actividad final:
De la lista de procesos realizada inicialmente revise cules eran procesos
verdaderos y cules no. Recuerde que aqu ya debe manejar bien este
concepto. Analice el por qu acert o fall en cada punto, segn el caso.
Guarde la lista para la actividad final.
Bajo este esquema, la memoria real es tomada para almacenar el programa que
se est ejecutando en un momento dado, con la visible desventaja de que se est
limitado a la cantidad de RAM disponible nicamente.
La organizacin fsica bajo este esquema es muy simple: El sistema operativo se
ubica en las localidades superiores o inferiores de la memoria, seguido por
algunos manejadores de dispositivos (drivers). Esto deja un espacio contiguo de
memoria disponible que es tomado por los programas del usuario, dejando
generalmente la ubicacin de la pila (stack) al ltimo, con el objetivo de que sta
pueda crecer hasta el mximo posible.
Estas diferentes opciones se pueden ver en la siguiente grfica. Como es obvio,
bajo estos esquemas no se requieren algoritmos sofisticados para asignar la
memoria a los diferentes procesos, ya que stos son ejecutados secuencialmente
conforme van terminando.
Grfica 57. Organizacin simple de memoria
CPU mantena ese mismo porcentaje ocioso; con la nueva tcnica, el tiempo
promedio ocioso disminuye de la siguiente forma:
Llmese al tiempo promedio que el CPU est ocupado grado de
multiprogramacin. Si el sistema tuviese un slo proceso siempre, y ste gastara
60% en entrada/salida, el grado de multiprogramacin sera 1 - 60% = 40% = 0.4.
Con dos procesos, para que el CPU est ocioso se necesita que ambos procesos
necesiten estar haciendo entrada/salida, es decir, suponiendo que son
independientes, la probabilidad de que ambos estn en entrada/salida es el
producto de sus probabilidades, es decir, 0.6x0.6 = 0.36. Ahora, el grado de
multiprogramacin es 1 - (probabilidad de que ambos procesos estn haciendo
entrada/salida) = 1 - 0.36 = 0.64.
Como se ve, el sistema mejora su uso de CPU en un 24% al aumentar de uno a
dos procesos. Para tres procesos el grado de multiprogramacin es 1 - (0.6) 3 =
0.784, es decir, el sistema est ocupado el 78.4% del tiempo. La frmula del grado
de multiprogramacin, aunque es muy idealista, pudo servir de gua para planear
un posible crecimiento con la compra de memoria real, es decir, para obtener el
punto en que la adicin de procesos a RAM ya no incrementa el uso de CPU.
Dentro del esquema de multiprogramacin en memoria real surgieron dos
problemas interesantes: la proteccin y la relocalizacin.
2.3.1 El problema de la relocalizacin
Este problema no es exclusivo de la multiprogramacin en memoria real, sino que
se present aqu pero se sigue presentando en los esquemas de memoria virtual
tambin. Este problema consiste en que los programas que necesitan cargarse a
memoria real ya estn compilados y ligados, de manera que internamente
contienen una serie de referencias a direcciones de instrucciones, rutinas y
procedimientos que ya no son vlidas en el espacio de direcciones de memoria
real de la seccin en la que se carga el programa.
Esto es, cuando se compil el programa se definieron o resolvieron las direcciones
de memoria de acuerdo a la seccin de ese momento, pero si el programa se
carga otro da en una seccin diferente, las direcciones reales ya no coinciden. En
este caso, el manejador de memoria puede solucionar el problema de dos
maneras: de manera esttica o de manera dinmica. La solucin esttica
consiste en que todas las direcciones del programa se vuelvan a recalcular al
momento en que el programa se carga a memoria, esto es, prcticamente se
vuelve a recompilar el programa. La solucin dinmica consiste en tener un
registro que guarde la direccin base de la seccin que va a contener al programa.
Cada vez que el programa haga una referencia a una direccin de memoria, se le
suma el registro base para encontrar la direccin real. Por ejemplo, suponga que
el programa es cargado en una seccin que comienza en la direccin 100. El
programa har referencias a las direcciones 50, 52, 54. Pero el contenido de esas
direcciones no es el deseado, sino las direcciones 150, 152 y 154, ya que ah
comienza el programa. La suma de 100 + 50,..., etc. se hacen al tiempo de
ejecucin.
La primera solucin vale ms la pena que la segunda si el programa contiene
ciclos y es largo, ya que consumir menos tiempo en la resolucin inicial que la
segunda solucin en las resoluciones en lnea.
2.3.2 El problema de la proteccin
Este problema se refiere a que, una vez que un programa ha sido cargado a
memoria en algn segmento en particular, nada le impide al programador que
intente direccionar (por error o deliberadamente) localidades de memoria menores
que el lmite inferior de su programa o superiores a la direccin mayor; es decir,
quiere referenciar localidades fuera de su espacio de direcciones. Obviamente,
este es un problema de proteccin, ya que no es legal leer o escribir en reas de
otros programas.
La solucin a este problema tambin puede ser el uso de un registro base y un
registro lmite. El registro base contiene la direccin del comienzo de la seccin
que contiene al programa, mientras que el lmite contiene la direccin donde
termina. Cada vez que el programa hace una referencia a memoria se checa si
cae en el rango de los registros y si no es as se enva un mensaje de error y se
aborta el programa.
2.3.3 Particiones fijas o particiones variables
En el esquema de la multiprogramacin en memoria real se manejan dos
alternativas para asignarle a cada programa su particin correspondiente:
particiones de tamao fijo o particiones de tamao variable.
La alternativa ms simple son las particiones fijas. Dichas particiones se crean
cuando se enciende el equipo y permanecern con los tamaos iniciales hasta
que el equipo se apague. Es una alternativa muy vieja, quien haca la divisin de
particiones era el operador analizando los tamaos estimados de los trabajos de
todo el da. Por ejemplo, si el sistema tena 512 Kb de RAM, poda asignar 64 Kb
para el sistema operativo, una particin ms de 64 Kb, otra de 128 Kb y una mayor
de 256 Kb.
Esto era muy simple, pero inflexible, ya que si surgan trabajos urgentes, por
ejemplo, de 400Kb, tenan que esperar a otro da o reparticionar, inicializando el
equipo desde cero.
La otra alternativa, que surgi despus y como necesidad de mejorar la alternativa
anterior, era crear particiones contiguas de tamao variable.
Para esto, el sistema tena que mantener ya una estructura de datos suficiente
para saber en dnde haban huecos disponibles de RAM y de dnde a dnde
haban particiones ocupadas por programas en ejecucin. As, cuando un
programa requera ser cargado a RAM, el sistema analizaba los huecos para
saber si haba alguno de tamao suficiente para el programa que quera entrar, si
era as, le asignaba el espacio. Si no, intentaba relocalizar los programas
existentes con el propsito de hacer contiguo todo el espacio ocupado, as como
todo el espacio libre y as obtener un hueco de tamao suficiente. Si an as el
programa no caba, entonces lo bloqueaba y tomaba otro.
El proceso con el cual se juntan los huecos o los espacios ocupados se le llama
compactacin.
Existen varios algoritmos para elegir el mejor tamao de particin para un
programa, en memoria real y son.
Primer ajuste: Se asigna el primer hueco que sea mayor al tamao
deseado.
Mejor ajuste: Se asigna el hueco cuyo tamao exceda en la menor
cantidad al tamao deseado. Requiere de una bsqueda exhaustiva.
Peor ajuste: Se asigna el hueco cuyo tamao exceda en la mayor cantidad
al tamao deseado. Requiere tambin de una bsqueda exhaustiva.
El siguiente ajuste: Es igual que el primer ajuste con la diferencia que se
deja un apuntador al lugar en donde se asign el ltimo hueco para realizar
la siguiente bsqueda a partir de l.
Ajuste rpido: Se mantienen listas ligadas separadas de acuerdo a los
tamaos de los huecos, para as buscarle a los procesos un hueco ms
rpido en la cola correspondiente.
Otro problema que se vislumbra desde aqu es que, una vez asignado un hueco,
por ejemplo, con "el peor ajuste", puede ser que el proceso requiriera 12 kilobytes
y que el hueco asignado fuera de 64 kilobytes, por lo cual el proceso va a
desperdiciar una gran cantidad de memoria dentro de su particin, lo cual se le
llama fragmentacin interna.
Por otro lado, conforme el sistema va avanzando en el da, finalizando procesos y
comenzando otros, la memoria se va configurando como una secuencia contigua
de huecos y de lugares asignados, provocando que existan huecos, por ejemplo,
de 12 k, 28k y 30 k, que sumados dan 70k, pero que si en ese momento llega un
Carga
Ejecucin
Vemos en este diagrama como se inicia a partir del cdigo fuente de algn
lenguaje de alto nivel, pasando a travs de un compilador a ensamblador para
crear as el cdigo objeto, si es posible este es enlazado por el editor de enlaces.
Si las direcciones no son absolutas, es necesario que el mdulo de carga realice
las operaciones necesarias con el cdigo relocalizable:
Como se observa, una direccin virtual v = (b,d) est formada por un nmero de
pgina virtual b2 y un desplazamiento d.
Por ejemplo, si el sistema ofrece un espacio de direcciones virtuales de 64
kilobytes, con pginas de 4 kilobytes y la RAM slo es de 32 kilobytes, entonces
tenemos 16 pginas virtuales y 8 reales. La tabla de direcciones virtuales contiene
16 entradas, una por cada pgina virtual.
La
no
usada Este algoritmo toma en cuenta no tanto el tiempo, sino el nmero de
frecuentemente
referencias. En este caso cualquier pgina que se use muy poco, menos
veces que alguna otra.
La
menos Es parecida a la anterior, pero aqu se busca en forma exhaustiva
frecuentemente
aquella pgina que se ha usado menos que todas las dems. R En
usada
forma aleatoria: Elige cualquier pgina sin aprovechar nada. Es justa e
imparcial, pero ineficiente.
para hallar la direccin real. Para el caso combinado, se puede decir que se tiene
un direccionamiento tridimensional.
En la grfica 64 se muestran las partes relevantes para lograr la traduccin de
direcciones. El sistema debe contar con una tabla de procesos (TP).
Por cada rengln de esa tabla se tiene un nmero de proceso y una direccin a
una tabla de segmentos. Es decir, cada proceso tiene una tabla de segmentos.
Cuando un proceso hace alguna referencia a memoria, se consulta TP para
encontrar la tabla de segmentos de ese proceso. En cada tabla de segmentos de
proceso (TSP) se tienen los nmeros de los segmentos que componen a ese
proceso. Por cada segmento se tiene una direccin a una tabla de pginas. Cada
tabla de pginas tiene las direcciones de las pginas que componen a un solo
segmento.
Por ejemplo, el segmento A puede estar formado por las pginas reales
a,b,c,p y x. El segmento B puede estar compuesto de las pginas
f,g,j,w y z.
Para traducir una direccin virtual v=(s,p,d) donde s es el segmento, p es la
pgina y d el desplazamiento, en la pgina se hace lo siguiente:
Primero se ubica de qu proceso es el segmento y se localiza la tabla de
segmentos de ese proceso en la TP. Con s' como ndice se encuentra un rengln
(registro) en la tabla de segmentos de ese proceso y en ese rengln est la
direccin de la tabla de pginas que componen al segmento. Una vez en la tabla
de pginas, se usa el valor p' como ndice para encontrar la direccin de la pgina
en memoria real. Una vez en esa direccin de memoria real, se encuentra el byte
(o palabra) requerido por medio del valor de d'.
Ahora, en este esquema pueden haber dos tipos de fallos: por fallo de pgina y
por fallo de segmento.
Cuando se hace referencia a una direccin y el segmento que la contiene no est
en RAM (aunque sea parcialmente), se provoca un fallo por falta de segmento y lo
que se hace es traerlo del medio de almacenamiento secundario y crearle una
tabla de pginas. Una vez cargado el segmento se necesita localizar la pgina
correspondiente, pero sta no existe en RAM, por lo cual se provoca un fallo de
pgina y se carga de disco y finalmente se puede ya traer la direccin deseada por
medio del desplazamiento de la direccin virtual.
La eficiencia de la traduccin de direcciones tanto en paginacin pura,
segmentacin pura y esquemas combinados se mejora usando memorias
asociativas para las tablas de pginas y segmentos, as como memorias cach
para guardar los mapeos ms solicitados.
7
0
7
0
1
2
0
1
2
3
1
2
3
0
4
3
0
4
2
0
4
2
3
0
2
3
0
1
3
0
1
2
7
1
2
7
0
2
7
0
1
Nota: Los cuadros en color gris indican las pginas que entran.
Despus de descargar una pgina activa para incorporar una pgina nueva, se
provocar casi de inmediato una falla por la pgina activa. Tendremos que
reemplazar otra pgina para devolver memoria la pgina activa. De esta manera,
una mala eleccin en el reemplazo aumenta la cantidad de fallos de pginas y
frena la ejecucin de procesos, pero no provoca ejecucin incorrecta.
Al elegir una pgina equivocada el sistema operativo tiene varias opciones
conocidas como ANOMALIA DE BELADY.
1. Abortar el proceso del usuario lo cual no es la mejor opcin ya que el sistema
operativo realiza la paginacin para mejorar la utilizacin y productividad el
sistema de computadora.
2. Descargar un proceso de pginas por cualquier algoritmo de reemplazo.
3. Reemplazo de pginas por cualquier algoritmo de reemplazo.
Total de fallos = 30
Nota: Los cuadros en color gris indican las pginas que entran.
2.5.2 Algoritmo ptimo
Una consecuencia del estudio de la anomala de Belady, fue la bsqueda de un
algoritmo de reemplazo de pginas ptimo. Este algoritmo tiene la menor tasa de
fallos de pgina de todos los algoritmos: un algoritmo ptimo nunca presentar la
anomala de Belady.
Consiste en reemplazar la pgina que no se usar durante el mayor periodo de
tiempo. Por ejemplo considerando la siguiente serie de referencias, tendremos
que: 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1
7
7
0
7
0
2
0
2
0
2
4
2
0
2
0
7
0
7
0
7
0
1
2
0
1
2
0
3
4
0
3
4
0
2
4
3
2
0
3
2
1
3
2
1
0
2
1
0
7
pgina menos reciente usada. Puesto que las entradas deben sacarse de la mitad
de la pila, puede implantarse mejor con una lista doblemente ligada.
La siguiente serie muestra el algoritmo : 9 0 1 8 3 1 0 4 6 3 8 7 0 8 2 5 1 3 4 5 0 7
1 2 8 4 6 7 1 2 0 9.
1 1 1 1 1 1 6 6 6 7 7 7 2 2 2 3 3 3 0 0 0 2 2 2 6 6 6 2 2 2
0 0 3 3 3 4 4 4 8 8 8 8 8 8 1 1 1 5 5 5 1 1 1 4 4 4 1 1 1 9
9 8 8 8 0 0 0 3 3 3 0 0 0 5 5 5 4 4 4 7 7 7 8 8 8 8 8 8 0 0
Total de fallos = 29
Nota: Los cuadros en color gris indican las pginas que entran.
2.5.4 Algoritmos aproximados (bit de referencia)
Pocos sistemas proporcionan suficiente ayuda del hardware para un verdadero
reemplazo de pginas LRU. Algunos sistemas no ofrecen ningn apoyo del
hardware, por lo que hay que emplear otros algoritmos de reemplazo de pginas,
sin embargo, muchos sistemas ofrecen cierta ayuda en la forma de un bit de
referencia.
El hardware coloca un 1 en el bit de referencia para una pgina cada vez que se
hace referencia a ella. Los bits de referencia estn asociados a cada entrada de la
tabla de pginas.
2.5.5 Algoritmo de bits adicionales de referencia
Podemos obtener informacin del uso de las pginas en un algoritmo de
reemplazo. Esta informacin se puede implementar utilizando una tabla adicional
de 8 bits para cada pgina. Estos registros contienen la historia de utilizacin de
la pgina durante los 8 periodos. Si el registro del desplazamiento contiene
00000000, entonces la pgina no se ha utilizado por lo menos en 8 periodos. Una
pgina que se utiliza cuando menos una vez cada periodo tendra un, valor de 1 1
1 1 1 1 1 en su registro adicional de referencia al desplazamiento de la pgina.
Una pgina con valor de 1 1 0 0 0 1 0 0, si interpretamos esto en bytes de 8 bits
como enteros sin signo, la pgina con el menor nmero de 1's a la izquierda es la
pgina menos reciente usada y puede entonces reemplazarse. Por lo mismo,
puede haber ms de una pgina que, casi no se est usando, entonces habra que
aplicar una seleccin FIFO entre ellas.
Por ejemplo:
PROCESO
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
2
1
1
1
0
0
0
1
1
3
0
0
0
0
0
0
0
0
4
0
0
0
0
1
1
1
0
5
0
0
0
0
0
0
0
0
6
0
0
0
1
1
1
0
0
7
0
0
1
1
1
0
0
0
8
0
0
0
0
0
1
1
1
9
1
0
0
0
0
0
0
0
2.5.6 Algoritmo de segunda oportunidad
El algoritmo bsico para el reemplazo de segunda oportunidad es el FIFO, sin
embargo, cuando se selecciona una pgina examinamos su bit de referencia; si el
bit dereferencia es igual a 0, reemplazamos.
Sin embargo, si el bit de referencia es 1, damos a la pgina la segunda
oportunidad y pasa a seleccionar la siguiente pgina en el orden FIFO.
Cuando a una pgina se le da segunda oportunidad, se borra su bit de referencia y
se establece como llegada actual, de esa pgina. De esta manera, una de las
pginas a las que se les brinde una segunda oportunidad no sern reemplazadas
hasta que todas las dems pginas se reemplacen (o que se les otorgue una
segunda oportunidad). Adems si una pgina se usa con frecuencia suficiente
para mantener su bit de referencia en 1, nunca ser reemplazada.
Actividad final:
Realice un mapa conceptual o cuadro sinptico en donde se evidencien los
diferentes algoritmos de reemplazo de pginas y los algoritmos para el manejo
de memoria virtual, tambin paginacin, segmentacin y el sistema
combinado.
Revise los conceptos que relacion en la actividad inicial, comprelos con los
vistos en el captulo y concluya.
Las grficas de este captulo fueron copiadas del documento pdf: Sistemas Operativos. Profesor
Javier Caas. Captulo 11.
Para encapsular los detalles de los dispositivos, el S.O. utiliza mdulos llamados
device drivers.
3.2 Dispositivos de Entrada/Salida
Los dispositivos de entrada salida se dividen, en general, en dos tipos:
Dispositivos orientados a bloques y
Dispositivos orientados a caracteres.
Los dispositivos orientados a bloques tienen la propiedad de que se pueden
direccionar, esto es, el programador puede escribir o leer cualquier bloque del
dispositivo realizando primero una operacin de posicionamiento sobre el
dispositivo.
Los dispositivos ms comunes orientados a bloques son los discos duros, la
memoria, discos compactos y, posiblemente, unidades de cinta.
Por otro lado, los dispositivos orientados a caracteres son aquellos que trabajan
con secuencias de bytes sin importar su longitud ni ninguna agrupacin en
especial. No son dispositivos direccionables.
Ejemplos de estos dispositivos son el teclado, la pantalla o display y las
impresoras.
La clasificacin anterior no es perfecta, porque existen varios dispositivos que
generan entrada o salida que no pueden englobarse en esas categoras. Por
ejemplo, un reloj que genera pulsos. Sin embargo, aunque existan algunos
perifricos que no se puedan categorizar, todos estn administrados por el
sistema operativo por medio de una parte electrnica - mecnica y una parte de
software.
Los dispositivos de E/S son muy diversos. Para poder clasificarlos se utilizan 3
caractersticas:
Comportamiento. Entrada, salida o almacenamiento.
Contraparte. Mquina o ser humano.
Tasa de transferencia. Tasa peak de transferencia entre dispositivo y
memoria.
Otra facilidad ofrecida son las reas de trabajos encolados (spooling areas), tales
como las de impresin y correo electrnico.
3.5 Relojes
Los relojes son esenciales para el buen funcionamiento de cualquier sistema
porque juegan un papel decisivo en la sincronizacin de procesos, en la
calendarizacin de trabajos por lote y para la asignacin de turnos de ejecucin
entre otras tareas relevantes.
Generalmente se cuenta con dos relojes en el sistema: uno que lleva la hora y
fecha del sistema y que oscila entre 50 y 60 veces por segundo y el reloj que
oscila entre 5 y 100 millones de veces por segundo y que se encarga de enviar
interrupciones a la CPU de manera peridica.
El reloj de mayor frecuencia sirve para controlar el tiempo de ejecucin de los
procesos, para despertar los procesos que estn durmiendo y para lanzar o
iniciar procesos que fueron calendarizados.
Para mantener la hora y fecha del sistema generalmente se usa un registro
alimentado por una pila de alta duracin que almacena estos datos y que se
programan de fbrica por primera vez. As, aunque se suspenda la energa la
fecha permanece.
Para lanzar procesos (chequeo de tiempo ocioso de un dispositivo, terminacin del
time slice de un proceso, etc), se almacena un valor en un registro (valor
QUANTUM) el cual se decrementa con cada ciclo del reloj, y cuando llega a cero
se dispara un proceso que ejecutar las operaciones necesarias (escoger un
nuevo proceso en ejecucin, verificar el funcionamiento del motor del disco
flexible, hacer eco de un caracter del teclado, etc).
3.6 Puertas y buses
Un dispositivo se conecta con un sistema computacional a travs de puertas y
buses.
Un Bus se utiliza para conectar diversos subsistemas: CPU - Memoria - E/S. Un
Bus es un medio compartido.
3.7.2 Interrupciones
El hardware de la CPU tiene una lnea llamada lnea de requerimiento de
interrupcin. Despus de ejecutar cada instruccin, la CPU lee esta lnea. Si se
detecta que est alta, la CPU salva el estado y salta a una rutina de manejo de
interrupciones en una direccin fija de memoria.
Esta rutina determina la causa de la interrupcin, realiza el procesamiento
necesario y vuelve a ejecutar la instruccin siguiente.
Muchas arquitecturas tienen un vector de interrupcin que evita la rutina de
manejo direccionando la rutina especializada.
Grfica 68. Manejo de interrupciones
27
Todas las grficas de este captulo fueron extradas del documento en formato pdf: Sistemas
Operativos. Profesor Javier Caas. Captulos 9: Sistema de archivos y Captulo 10: Estructura de
archivos.
4.3 Directorios
Cuntos archivos se mantienen en cualquier sistema?
Para manejar tanta informacin, es necesario organizarla. Esta organizacin
requiere dos niveles:
Particiones (volmenes o minidiscos).
Directorios (tabla de contenido de volmenes).
Grfica 73. Ejemplo de organizacin
Un nivel
Dos niveles
rboles
Grafos acclicos
Grfica 74. Directorio de un nivel
4.4 Proteccin
Cuando la informacin se almacena en un sistema computacional, se deben tomar
dos tipos de proteccin:
Daos fsicos (confiabilidad).
Accesos no autorizados (proteccin).
La confiabilidad se logra por la mantencin de respaldos y duplicacin, mientras
que la proteccin se logra por varias vas:
Escritura
Borrar
Ejecucin
Ejecucin
Una entrada al directorio slo necesita la direccin inicial y el largo del bloque.
La asignacin contigua genera fragmentacin externa.
Grfica 81. Asignacin contigua de espacio
Esta tcnica es llamada asignacin mediante una lista ligada y un ndice, que
intenta eliminar los defectos de la anterior. En esta tcnica se crea una tabla con
un registro por cada uno de los bloques del disco, en cada registro se indica si
dicho bloque esta libre (null) o cul es la direccin del siguiente bloque ( en caso
de que ese bloque pertenezca a un determinado archivo) De esta forma, en el
directorio se asocia con el nombre del archivo el nmero del bloque en el que
comienza dicho archivo; con este dato y, mediante la tabla, se puede averiguar la
direccin de todos los bloques que componen dichos archivos simplemente
siguiendo la lista ligada.
Con esta organizacin, todo el bloque estar disponible para los datos. Adems,
el acceso a un determinado bloque es mucho ms rpido, ya que aunque tambin
haya que seguir la cadena de bloques como en la asignacin en forma de lista
ligada, al estar la tabla en memoria, estas consultas son mucho ms rpidas y no
es necesario acceder al disco.
Por ltimo, los sistemas operativos como UNIX y Linux utilizan un sistema de
archivos basados en i-nodos. En esta tcnica se asocia a cada archivo una
pequea tabla, llamada i-nodo, que contiene los atributos y direcciones en disco
de los bloques del archivo.
Atributos
Direccin del bloque 1
Direccin del bloque 2
Direccin del bloque 3
Direccin del bloque 4
.
.
.
Direccin del bloque n
I-nodo de UNIX
Las ltimas entradas del i-nodo se reservan para cuando el archivo ocupa ms
bloques de los que el i-nodo es capaz de almacenar y pueden contener la
direccin de otro bloque en el que se guardan las dems direcciones de los
bloques del archivo. A este bloque se le llama bloque indirecto. En este caso de
que con este bloque extra no haya suficiente espacio para guardar todas las
direcciones de los bloques del archivo, existe la posibilidad de utilizar un bloque
doblemente indirecto e, incluso, un tercer bloque triplemente indirecto.
Cuando UNIX abre un archivo, lo primero que hace es cargar en memoria su inodo correspondiente para que el proceso sea lo ms rpido posible.
4.7 Tipos de sistemas de archivo
Como se dijo anteriormente, existen distintos tipos de sistemas de de archivos,
siendo los siguientes los ms utilizados
para el entorno monousuario y
multiusuario.
FAT16. Se puede acceder a este sistema de archivos desde MS-DOS,
Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP y
Windows Server 2003. Permite trabajar con particiones de hasta 2 GB, las
unidades de asignacin de 32 KB, el tamao mximo de un archivo es de 2
GB, los volmenes pueden llegar hasta 2 GB, no distingue entre
maysculas y minsculas en los nombres de archivos y no soporta
dominios.
FAT32. Se puede acceder a este sistema de archivos desde Windows 95
OSR2, Windows 98, Windows 2000, Windows XP y Windows Server 2003.
RAID 53. Es igual que RAID 3, salvo que se incluyen otros discos donde se
almacena otra copia completa de la informacin. Se utiliza para conseguir un
mayor tiempo de acceso.
RAID 0 + 1. Es una combinacin de las tcnicas RAID 0 y RAID 1, de forma que la
informacin se duplica en conjuntos de discos, los cuales almacenan los datos
distribuidos con ellos.
4.9 Administracin del espacio libre
Como el espacio de almacenamiento es limitado, es necesario reutilizar el espacio
de archivos que se borran para dejar espacio a los nuevos archivos que se crean.
Para registrar el espacio libre, el sistema operativo mantiene una lista de espacio
libre. Esta lista registra todos los bloques que estn libres.
Mtodos para implementar la lista de bloques libres:
Bit vector
Listas enlazadas
Agrupacin
Conteo
5.1 Proteccin
Los mecanismos de proteccin proveen un control de acceso limitando el tipo de
accesos que se pueden hacer a los archivos.
La proteccin considera los mecanismos para asegurar que otros recursos como
memoria, CPU y dispositivos, sean operados slo por usuarios con autorizacin
del sistema operativo.
5.2 Objetivos de la proteccin
Cada proceso se debe proteger de las dems actividades del S.O. La proteccin
se refiere a mecanismos para el control de acceso de programas.
Para qu proteger?
Prevenir violaciones de acceso intencionales.
Asegurar que cada proceso use recursos slo en forma consistente con las
polticas de uso.
Asegurar confiabilidad detectando errores latentes entre interfaces.
Distinguir usos autorizados y no autorizados de recursos.
5.2.1 Polticas de proteccin
La proteccin sirve para generar un mecanismo que fuerce polticas de uso de
recursos.
Las polticas pueden ser:
Fijas e incorporadas en el diseo del S.O.
28
Todas las grficas de este captulo fueron extradas del documento en formato pdf: Sistemas
Operativos. Profesor Javier Caas. Captulos 12: Proteccin y Captulo 13: Seguridad.
El sistema tiene una funcin f(x). El sistema almacena f(x). Obtener x a partir de
f(x) en la prctica resulta imposible. Este mtodo hace posible que el archivo de
password no sea secreto.
5.7 Amenazas
Existen dos tipos de amenazas:
A programas y
Al sistema.
En ambientes donde un programa escrito por un usuario puede ser usado por otro,
se presenta un problema de seguridad.
5.7.1 Amenazas a programas
Pueden ocurrir dos situaciones, en cuanto a amenazas a programas:
Caballo de Troya
Trampas
Amenazas a programas: Caballo de troya
Que pasa si un programa escrito por un usuario es usado por otro?. El programa
podra usar de mala manera los derechos del usuario que ejecuta.
Ejemplo. Editor de texto escrito por Vernica es usado por Carolina. El editor
busca palabras claves y si las encuentra copia el texto completo en un archivo de
Vernica.
Un segmento de cdigo que usa mal un ambiente se llama caballo de troya. Una
variacin es un programa que emula un ambiente de login. W/NT evita esta
situacin con secuencia Ctrl-Alt-Del.
Amenazas a programas: Trampas
Una programadora puede dejar un "hoyo" en un programa que slo ella es capaz
de usar.
Ejemplos reales son programas bancarios que tienen errores de redondeo. Los
centavos son todos transferidos a alguna cuenta.
Encontrar trampas es muy difcil por la gran cantidad de lneas de cdigo que
puede llegar a tener una aplicacin.
Dk(Ek(m)) = m
Ek y Dk se calculen en forma eficiente
Si se publica E, no hay forma de calcular D
La seguridad debe depender de k y no de los algoritmos E y D
Codificacin RSA
Codificar: x iE mod n = yi
Decodificar: y iE mod n = xi
Ejemplo:
Sea p=2 y q=5 (p y q son primos)
Sea n=10
(p-1)x(q-1)=4
E < n y 4 deben ser primos relativos. Elijo E=3
Clculo de D: E x D mod ((p-1)x(q-1))=1
O sea, E x D mod 4 = 1, E x D= 4 k +1
E x D= 4k +1. Existe k?
3 x D= 4k +1. D= (4k+1)/3. Si k=2, D=3. Si k=5, D=7
21 mod 10=1 Funciona!
E
BIBLIOGRAFA
ALCALDE, Eduardo. MORERA, Juan. PEREZ-CAMPANERO, Juan A. (1994).
Introduccin a los Sistemas Operativos. Serie Informtica de Gestin. Mxico:
Editorial Mc Graw Hill.
BARRETO ROA, Julio Humberto. (2001). Sistemas Operativos. Gua de estudio.
Bogot: Editorial UNAD.
CALDERA (2003). Kit de recursos. Unifying Unix Whit Linux For Business.
CAAS, Javier. Documento pdf: Sistemas Operativos. Catorce captulos (1999).
CARRETERO PEREZ, Jess, GARCIA CABALLEIRA, Flix, ANASAGASTI, Pedro
de Miguel, PEREZ COSTOYA, Fernando (2001). Sistemas Operativos. Una visin
aplicada. Madrid: Mc Graw Hill.
FLYNN, Ida M, MCHOES, Ann McIver.(2001) Sistemas operativos. Tercera
Edicin. Mxico: Editorial Thomson Learning.
RAYA, Laura, ALVAREZ, Raquel, RODRIGO, Vctor. (2005). Sistema Operativos
en entornos Monousuario y Multiusuario. Mxico: Alfaomega, Ra-Ma.
RUEDA, Francisco. (1989). Sistemas Operativos. Santaf de Bogot: Mc Graw
Hill.
SILBERSCHATZ, Avi, GALVIN, Peter, GAGNE,
Operativos. Mxico: Editorial Limusa Wiley.
Greg.
(2002).
Sistemas
DIRECCIONES WEB
http://www.tau.org.ar/base/lara.pue.udlap.mx/sistoper/
http://www.itver.edu.mx/so1/
http://www.itver.edu.mx/so2/
http://os.matiu.com.ar/
http://os-matiu.dreamhost.com/classes/clase1.html
http://www.iespana.es/canalhanoi/so/
http://server2.southlink.com.ar/vap/sistemas_operativos.htm
http://www.inei.gob.pe/web/metodologias/attach/lib616/INDEX.HTM
http://www.itq.edu.mx/vidatec/maestros/sis/mnogues/Unidad1.htm
http://www.cs.virginia.edu/~knabe/iic2332/notes01.html
UNIDAD DIDCTICA 3
PRINCIPALES SISTEMAS OPERATIVOS
INTRODUCCIN
Sistemas operativos hay muchos, segn la necesidad, la potencia del hardware, la
seguridad que se desea, el respaldo y confiabilidad. Cada uno de ellos ha
evolucionado en diferentes versiones que hacen que la actual siempre supere por
mucho a la anterior y as ganarse un merecido puesto en el tan competido
mercado del software.
En esta unidad vamos a enfocarnos en los dos sistemas operativos actuales ms
comerciales y conocidos: Windows y Linux, sin dejar de lado otros no menos
importantes, adems de algunas caractersticas de las principales arquitecturas
para trabajo en red.
Aqu se vuelven muy importante los criterios que se deben tener en cuenta a la
hora de seleccionar el sistema operativo ideal, pues de ello depende la
conformidad de nuestro usuario final, que en ltimas es el que sufre las
consecuencias de nuestra decisin.
Pero ya que menciono el sistema operativo ideal, es bueno aclarar que no existe,
pues aquello que llam ideal se logra de acuerdo al grado de satisfaccin de
nuestros clientes y el grado de optimizacin logrado en el sistema que est o que
se va a montar.
Ah es donde entran en juego todas las caractersticas vistas en las dos unidades
anteriores, que se deben analizar muy bien en cada uno de los sistemas
operativos que se estan analizando para su implementacin.
Cada uno tiene puntos a favor y puntos en contra, en mi concepto, y slo en mi
concepto, digo que no existe un sistema operativo que se pueda recomendar a la
ligera, sin antes haber determinado las necesidades, tipos de aplicaciones, nivel
de seguridad, costos, etc, para su implementacin.
Sin embargo tengo mi favorito, que no estara bien mencionarlo.
29
Familia UNIX
AIX
AMIX
GNU/Linux
GNU / Hurd
HPUX
Irix
Minix
System V
Solaris
UnixWare
LynxOS
Xenix
Familia BSD
FreeBSD
NetBSD
VINO
OpenBSD
PicoBSD
Familia Mach
GNU / Hurd
BSD lites
Mac OS X
NEXTSTEP
YAMIT
MKlinux
Familia IBM
OS/2
OS/360
OS/390
OS/400
Sist. Op.Acadmicos o experimentales
Chorus/Jaluna
Amoeba
MIT Exokernel
BriX
OBJETIVOS
1. Reconocer las diferentes caractersticas internas y externas de los
sistemas operativos de la familia Windows, con el fin de obtener el mximo
provecho posible en su administracin.
2. Identificar la estructura interna de los sistemas operativos de la familia
UNIX (UNIX/LINUX), para entender su funcionamiento y establecer las
ventajas y desventajas con respecto a otros sistemas del mercado.
3. Explorar otros sistemas operativos, que aunque es complicado trabajar con
ellos en el laboratorio, es necesario conocer su estructura interna y
caractersrticas ms sobresalientes.
4. Revisar los conceptos bsicos de las diferentes arquitecturas de red, en las
que puede operar un sistema operativo.
/DGRFXPHQWDFLyQUHIHULGDHQHVWHFDStWXORVREUHOD)DPLOLD:LQGRZVIXHWRPDGD
GHYDULDVIXHQWHVEiVLFDVFRPRVRQ
1.1 Windows 95
1.1.1 Caractersticas
Sistema operativo orientado a documentos.
El sistema tiene asociado un programa con cada fichero de datos, arranca
de manera automtica la aplicacin asociada. (Por ejemplo abrir un texto de
WORD picando en fichero, sin abrir previamente la aplicacin).
Sistema operativo de 32 bits (con lo que se pueden aprovechar mejor las
caractersticas de los nuevos procesadores); si se trabaja con aplicaciones
de 16 bits no se le saca el rendimiento a la multitarea.
Windows 95 ofrece un soporte muy completo para las prestaciones
multimedia que se puede aadir a cualquier PC de casa.
Multitarea: el sistema es capaz de ejecutar ms de un programa al mismo
tiempo.
Aprovecha los tiempos muertos para ejecutar instrucciones de otros
procesos (por ejemplo mientras el controlador del disco lee un bloque de
datos).
Permite abrir varias sesiones de DOS con la ventana del MS-DOS.
La interfaz de usuario es ms fcil de usar.
Se pueden usar nombres largos de fichero, con lo que no se limita a 8
caracteres para el nombre y 3 para la extensin. Ahora pueden tener un
tamao mximo de 256 caracteres.
Elemento nuevo son los accesos directos que son enlaces a un fichero que
est en un directorio determinado, de forma que se puede acceder a dicho
fichero picando dos veces en el acceso directo situado en el escritorio en
vez de tener que colocarnos en el directorio en el que se encuentra dicho
fichero.
La pantalla general de Windows 95 permite acceder a todos los elementos
tanto de software como de hardware del sistema. Partes de la pantalla:
o Escritorio
o Barra de tareas
Todos los programas se ejecutan en una o varias ventanas, salvo los que
usan la pantalla completa (juegos).
El rendimiento es FAT 16, de Windows 95.
El disco duro con el formato FAT 16, no se podr un disco con otro formato
a no ser que se vuelva a realizar un nuevo formateo de la unidad bajo ese
formato.
Tiene varios inconvenientes, como configurar infinidad de parmetros,
localizar los drivers correctos e instalar las nuevas versiones de los
programas. La mayora de las aplicaciones funcionaban ms lentamente
que en MS-DOS y Windows 3.1, dado que no aprovechaban las mejoras
realizadas.
1.1.2 Arquitectura
Grfica 90. Arquitectura Windows 95
Fuente: www.club.telepolis.com
Aplicacin
Win 32
Aplicacin
Win32
(VSDFLR
FRPSDUWLGRGH
GLUHFFFLRQHVLRQHV
6HUYLFLRVGHO6LVWHPD
1~FOHR.HUQHO
8VXDULR8VHU
*',
0iTXLQDYLUWXDO
06'26
0iTXLQDYLUWXDO
06'26
0iTXLQDYLUWXDO
06'26
&RPSRQHQWHVHQHODQLOOR
&RPSRQHQWHVHQHODQLOOR
6XEVLVWHPDGHJHVWLyQGH
DUFKLYRV
FAT de
32
Sistema
archivos
CD ROM
Redirec
de red
6XEVLVWHPDGH(6SRUEORTXHV
6XEVLVWHPDDGPLQLVWUDGRU
GHPiTXLQDYLUWXDO
Servicios:
Gestin de memoria
Planificador
Servicios VxD y cargador dinmico
Administrador de la VM MS-DOS
Servidor DPMI
Controladores:
Teclado, comunicaciones, ratn,
visualizacin, etc..
Windows 98 tiene un nico sistema denominado sistema VM, en el que todos los
procesos del sistema se ejecutan.
El gestor de mquina virtual es responsable de tres reas de servicios:
Planificador de procesos (para permitir la multitarea).
Paginacin de memoria.
1.3.4 Arquitectura
1. El Ejecutivo (Executive)
El Ejecutivo contiene los componentes sensibles en rendimiento que se ejecutan
en modo kernel, donde pueden interaccionar con el hardware, y entre ellos, sin
incurrir en la sobrecarga de cambios de contexto y cambios de modo.
El programa NTOSKRNL.EXE contiene todos los componentes del Ejecutivo
(excepto el subsistema Win32 -que est en WIN32K.SYS), y el kernel. Se carga
en la mitad superior de memoria en la fase de arranque del sistema.
Funciones del ejecutivo
Exportadas y llamadas desde modo usuario (servicios del sistema). Exportadas
por ntdll.dll.
Llamadas desde modo kernel pero exportadas y documentadas por Windows 2000
DDK (Device Driver Kit) o IFS Kit (Installable File System).
Subsistemas del Ejecutivo
Gestor de objetos. Crea, gestiona, y borra objetos del ejecutivo y TAD que
representan recursos: procesos, hebras, etc.
Manejadores de dispositivos
Los manejadores de dispositivos son mdulos en modo kernel cargables que hace
de interfaz entre el Gestor de E/S y el hardware.
Se ejecutan en modo kernel en uno de los tres contextos siguientes:
Contexto de la hebra que inicio la E/S
Contexto de una hebra de sistema en modo kernel.
Como resultado de una interrupcin, en cuyo caso no utiliza el contexto de
ninguna hebra.
Tipos de manejadores
Hardware. Manipulan el hardware para realizar E/S, por ejemplo driver de bus, de
disco, etc.
Sistemas de archivos. Aceptan solicitudes de E/S orientadas a archivos y las
traducen a solicitudes E/S ligadas al correspondiente dispositivo.
Filtros de sistemas de archivos. Interceptan E/S y le dan un valor aadido antes
de pasarla a la capa siguiente, por ejemplo mirroring, encriptacin.
Redirectores de red. Manejadores de sistemas de archivos que
transmiten/reciben operaciones de E/S de sistemas de archivos a otra mquina.
Protocolos. Implementan los protocolos de red, tales como TCP/IP, NetBUI, e
IPX/SPX.
Filtros de flujo kernel. Se encadenan para realizar procesamiento de seales
sobre flujos de datos, tales como grabar y reproducir vdeo/audio.
Procesos de sistema
Proceso ocioso (hay uno por CPU).
Proceso de sistema. Contiene gran parte de hebras de sistema en modo kernel,
por ejemplo, la hebra Balance Set Manager, control de dispositivos.
Gestor de sesiones (smss.exe). Primer proceso en modo usuario; gestiona parte
de la inicializacin del sistema, y lanza csrss, y winlogon.
Subsistema Win32 (csrss.exe).
Proceso Logon (winlogon.exe). Maneja las entradas/salidas de usuarios
interactivos. Se activa con la secure attention sequence (SAS).
1.4 Windows Server 2003
1.4.1 Caractersticas
Disponible en cuatro versiones: Standard, Enterprise, Datacenter y Web.
Enterprise y Datacenter cuentan con versiones para plataformas de 64 bits
(Itanium) y con configuraciones de hasta 8 nodos en cluster, mientras que
1.4.2 Arquitectura
Abandon la estructura relativamente monoltica de anteriores versiones de IIS,
donde un solo componente manejaba las peticiones HTTP y los procesos de
administracin. En su lugar, se ha construido un servicio formado por varios
componentes especializados, que optimizan cada tarea.
La innovacin ms destacable en cuanto a rendimiento se refiere, es que se ha
incluido en el ncleo del sistema operativo un componente llamado HTTP.SYS,
dedicado a manejar las peticiones HTTP.
Grfica 93. Estructura del sistema operativo Windows 2003 Server
Fuente: www.windowstimag.com
1.4.3 Descripcin
Fcil de implementar, administrar y usar
Windows Server 2003 es fcil de usar. Los nuevos asistentes simplificados
facilitan la configuracin de funciones especficas de servidor y de las tareas
habituales de administracin de servidores, de tal forma que incluso los servidores
que no disponen de un administrador dedicado son fciles de administrar.
Adems, los administradores disponen de diversas funciones nuevas y mejoradas,
diseadas para facilitar la implementacin de Active Directory. Las rplicas de
Active Directory de gran tamao pueden implementarse desde medios de copia de
seguridad, y la actualizacin desde sistemas operativos de servidor anteriores,
como Microsoft Windows NT, es ms fcil gracias a la Herramienta de Migracin
de Active Directory (ADMT), que copia contraseas y permite la creacin de
secuencias de comandos.
El mantenimiento de Active Directory es ms fcil con las funciones nuevas, como
la posibilidad de cambiar el nombre de los dominios y de volver a definir
esquemas, proporcionando a los administradores la flexibilidad necesaria para
controlar los cambios organizativos que puedan producirse. Adems, las
relaciones de confianza entre bosques permiten a los administradores conectar los
bosques de Active Directory, proporcionando autonoma sin sacrificar la
integracin.
Las herramientas de implementacin mejoradas, como los Servicios de instalacin
remota, ayudan a los administradores a crear rpidamente imgenes del sistema y
a implementar servidores.
Infraestructura segura
La administracin de identidades en Active Directory abarca la totalidad de la red.
El cifrado de datos confidenciales resulta sencillo, y las directivas de restriccin de
software pueden usarse para prevenir los daos causados por virus y otro tipo de
cdigo malintencionado. Windows Server 2003 es adecuado para implementar
una infraestructura de claves pblicas (PKI), tiene funciones de inscripcin
automtica y de renovacin automtica.
Confiabilidad,
empresarial
disponibilidad,
escalabilidad
rendimiento
de
nivel
Web Edition
Standard Edition
Enterprise Edition
Datacenter Edition
Web
Standard
Edition
Edition
133 MHz 133 MHz
Velocidad
550 MHz 550 MHz
recomendada
de la CPU
Enterprise Editon
Datacenter Edition
Requisito
Web
Edition
Memoria RAM 128 MB
mnima
Memoria RAM 256 MB
mnima
recomendada
Memoria RAM 2 GB
mxima
Standard
Edition
128 MB
128 MB
512 MB
256 MB
256 MB
1 GB
4GB
32 GB para equipos
basados en x 86.
64 GB para equipos
basados en Itanium
Hasta 8
Soporte para 1 o 2
multiprocesa
dores
Hasta 4
Espacio
en 1.5 GB
disco
necesario
para
la
instalacin
1.5 GB
Enterprise Editon
Datacenter Edition
1.5 WINDOWS XP
1.5.1 Historia
Windows XP es una continuacin de Windows 2000 en el hecho de que admite la
especificacin de la interfaz de configuracin y energa (ACPI), que proporciona
una administracin de energa y una configuracin del sistema seguras.
XP, est construido sobre los modernos sistemas operativos Windows NT y, los
que, hasta ahora, eran la gama alta de Microsoft destinada a empresas y
servidores. Windows XP fue construido sobre el motor renovado de Windows por
lo que, en teora, debe ser igual de estable.
1.5.2 Caractersticas
Windows XP viene en dos versiones que son Windows XP professional y Windows
XP Home Edition.
Windows XP requiere al menos 128 MB de RAM, 1.5 GB de disco duro (algo ms
si se quiere instalar despus otras cosas aparte del sistema operativo) y un
procesador de 233 MHz. Y esto slo es el mnimo. Para trabajar en condiciones
ptimas no servir casi ningn ordenador con ms de un ao y medio de
antigedad.
Windows XP ofrece caractersticas de administracin de energa mejoradas para
los equipos mviles y de escritorio. Tambin proporciona una compatibilidad ms
Caractersticas
Windows
XP
Home
Edition
Windows XP
Professional
NO
SI
NO
SI
NO
SI
NO
SI
NO
SI
SI
SI
NO
SI
1.6 Windows NT
1.6.1 Arquitectura
Wndows NT presenta una arquitectura del tipo cliente-servidor. Los programas de
aplicacin son contemplados por el sistema operativo como si fueran clientes a los
que hay que servir, y para lo cual viene equipado con distintas entidades
servidoras uno de los objetivos fundamentales de diseo fue el tener un ncleo tan
pequeo como fuera posible, en el que estuvieran integrados mdulos que dieran
respuesta a aquellas llamadas al sistema que necesariamente se tuvieran que
ejecutar en modo privilegiado (tambin llamado modo kernel, modo ncleo y modo
supervisor). El resto de las llamadas se expulsaran del ncleo hacia otras
entidades que se ejecutaran en modo no privilegiado (modo usuario), y de esta
manera el ncleo resultara una base compacta, robusta y estable. Por eso se dice
que Windows NT es un sistema operativo basado en micro-kernel
En la arquitectura se distingue un ncleo que se ejecuta en modo privilegiado, y se
denomina Executive, y unos mdulos que se ejecutan en modo no privilegiado,
llamados subsistemas protegidos.
Los programas de usuario (tambin llamados programas de aplicacin)
interaccionan con cualquier sistema operativo (S.O. en adelante) a travs de un
juego de llamadas al sistema propio de dicho sistema. En el mundo Windows en
general, las llamadas al sistema se denominan API (Application Programming
Interfaces, interfaces para la programacin de aplicaciones).
1.6.5 Caractersticas
Es nueva tecnologa para el mundo de las PC y es diferente por su
ambiente grfico, pero realmente no es nueva tecnologa.
Est basado en variaciones del kernel de Mac de UNIX. La arquitectura del
microkernel soporta aplicaciones no diseadas para Windows NT.
Operaciones bsicas de sistemas y otras capas sobre ella.
Soporta 5 subsistemas: Windows 32 bits / Windows 16 bits / DOS / POSIX /
OS/2.
Funciona como Cliente Servidor en un ambiente de red.
Permite desarrollar servicios de redireccionamiento para LAN Manager de
Mips, RISC y Digital Alpha.
Soporta sistemas de multiproceso.
Cada aplicacin se encuentra ejecutando en un hilo tratado como una caja
multiprocesadora.
Al igual que OS/2 ejecuta aplicaciones con errores de codificacin,
principalmente al ejecutarse en procesadores 386 y 486.
Cada aplicacin es limitada a un espacio de memoria (Esquema de
direccionamiento de 32 bits real). Ejecuta aplicaciones de 16 y 32 bits y de
otros Sistemas Operativos y para RISC de 64 bits.
Existe una versin para Laptop.
Soporta la tecnologa Plug-in para sistemas API y sistemas de archivos
instalables.
Tambin cuenta con servicios bsicos de redes y APIs para archivos,
manejadores de impresin, manejo de mensajes y seguridad directa.
Aplicaciones para redes digitales que pueden ejecutarse en diferentes
plataformas.
Implanta facilidades para el uso de OSF, DCE y RPCs.
Para facilitar los puertos de aplicacin asla el kernel del Hardware (Tipo de
interfaz para el Sistema Operativo), con lo que se logra la portabilidad o
compatibilidad a nivel de cdigo.
Provee datos, aplicaciones y proteccin del sistema contra accesos
inadvertidos.
Permite a los usuarios un acceso seguro a ms informacin sin
comprometer la seguridad del sistema.
Conserva las principales caractersticas del servidor 3.51 incluso el
protocolo nativo NetBEUI, IPX y TCP/IP.
Soporta hasta 256 usuarios, administracin de multidominio y replicacin de
directorio.
Nuevas o mejoradas herramientas de administracin y perfeccionamiento
en la ejecucin.
El servidor NT relacionado con Internet, enva la informacin con el servidor
de Internet IIS versin 2.0. Tambin hace uso del FTP. Relaciona nuevos
rasgos punto a punto con el protocolo PPTP y TCP/IP.
Banyan
DECnet.
Apple Talk.
Funcionamiento de TCP/IP. Protocolo de control de transmisin/Protocolo
Internet. Fue desarrollado a finales de los aos 70, como resultado de un proyecto
de investigacin sobre interconexin de redes realizado por la Agencia de
proyectos de investigacin avanzada para la defensa (DARPA) de Estados
Unidos. La principal ventaja y utilidad de TCP/IP es que es un protocolo estndar y
reencaminable; se trata del protocolo ms completo y aceptado de todos los
existentes. Permite comunicarse a travs de redes interconectadas con distintos
sistemas operativos y arquitecturas de hardware, como UNIX o computadoras
principales, as como con Windows NT.
Permite comunicarse a travs de redes interconectadas con distintos sistemas
operativos y arquitecturas de hardware, como UNIX o computadoras principales,
as como con Windows NT.
TCP/IP de Microsoft utiliza tambin la interfaz de NetBIOS, comnmente conocida
como peticin para comentarios (RFC) de NetBIOS. Adems, Microsoft
proporciona diversas utilidades TCP/IP para su uso con TCP/IP en Windows NT.
Es el protocolo ms aceptado, aunque no es tan rpido como NetBEUI en redes
locales de pequeo tamao.
Funcionamiento de NetBEUI. NetBEUI (Interfaz extendida de usuario de
NetBIOS) fue presentado por primera vez por IBM en 1985. NetBEUI es un
protocolo compacto, eficiente y rpido.
NetBEUI est optimizado para obtener un rendimiento muy elevado cuando se
utiliza en redes locales o segmentos de redes locales departamentales. En cuanto
al trfico cursado dentro de un segmento de red local, NetBEUI es el ms rpido
de los protocolos suministrados con Windows NT.
Funcionamiento de DLC (Control de vnculo de datos). A diferencia de
NetBEUI y TCP/IP, el protocolo DLC no ha sido diseado para servir de protocolo
principal entre PC. Por el contrario, se suele utilizar DLC con Windows NT si se
necesita que las computadoras con Windows NT accedan a computadoras
principales IBM o si se est configurando una impresora que se conecta
directamente a un cable de red.
Si se desea utilizar DLC para permitir la comunicacin entre computadoras con
Windows NT y computadoras principales, bastar con aadir el protocolo DLC
como protocolo adicional en cada una de las computadoras que se comunican
realmente con las computadoras principales. No ser necesario que instale DLC
en todas las computadoras de la red.
Se eliminan espacios.
Se mantienen los seis primeros caracteres del nombre.
Se aade el carcter seguido del nmero del uno al cuatro.
Se mantiene la extensin existente.
INFORM1.DOC
INFORM2.DOC
INFORM3.DOC
INFORM4.DOC
INA4F51.DOC
INE5A71.DOC
INE5A72.DOC
Descripcin
Este sistema operativo era un entorno multitarea dotado de una interfaz grfica de usuario que,
a diferencia de las versiones anteriores de Windows, no necesitaba que se cargara primero
MS DOS para ser ejecutado. Estaba basado en mens desplegables, ventanas y un
dispositivo sealador (ratn). Una de las caractersticas principales de Windows 95 era que los
nombres de los archivos no estaban restringidos a ocho caracteres y tres de la extensin, ya
que podan tener hasta 256 caracteres para realizar una descripcin completa del contenido
del archivo. Adems, incorporaba PLUG AND PLAY que es una tecnologa desarrollada por
los fabricantes de PCs, por la que un usuario puede instalar fcilmente los dispositivos de
hardware, permitiendo al sistema realizarlo automticamente sin la intervencin de usuario.
Microsoft
Es el siguiente escaln en la familia de sistemas operativos Windows. Como era obvio, esta
Windows 98 nueva versin contina soportando 32 bits y PLUG AND PLAY. Desde el punto de vista del
usuario, Windows 98 no trae nada nuevo en su interfaz grfica. Podra decirse que es una
compilacin de caractersticas, ya que muchas de ellas ya se encontraban en Internet Explorer
4.0 (al ser instalada esta actualizacin con Windows 95 OSR- 2). Permite soporte para FAT32
(al igual que Windows 95 OSR 2) y el Active Desktop (de IE 4). Poda instalarse una opcin
para poder trabajar como sistema multiusuario de estacin de trabajo.
Microsoft
Es un sistema operativo que brinda poder, velocidad y nuevas caractersticas; adems de las
Windows NT tradicionales de los sistemas Windows. Fue lanzado al mercado el 24 de mayo de 1993) y es
un sistema operativo de 32 bits que puede trabajar en procesadores 386, 486 y Pentium.
Adems de ser multitarea y multiusuario (en opcin de servidor de redes), es multiprocesador
(es decir, permite trabajar en un equipo que disponga de varios procesadores en la CPU). Se
encuentra disponible en dos versiones: Estacin de trabajo (versin Workstation) o Servidor
(versin Server).
Windows
Soporta y comparte el mismo cdigo que Windows 98 pero con una caracterstica propia: dice
Millenium
adis a MS DOS, ya que no estn disponibles las opciones de arranque solo Smbolo del
Sistema y Reiniciar en modo MSDOS. Los archivos de configuracin conf.sys y autoexec.bat
no se ejecutan (existan o no); solo tienen sentido durante la instalacin de Windows; despus
dar igual su contenido. Por ello, no funcionar ningn programa MSDOS (que necesite
insertar parmetros en el archivo config.sys) y no es compatible 100% con aplicaciones
diseadas para MS-DOS.
Windows
Es ms rpido que Windows 98, ya que, a igualdad de memoria RAM, se ejecuta ms rpido
2000
que Windows 98 y no se ralentiza con cargas pesadas. los usuarios pueden ejecutar ms
programas y hacer ms tareas al mismo tiempo porque Windows 2000est basado totalmente
en una arquitectura de 32 bits. Mejora el interfaz grfico de Windows al reducir los iconos
innecesarios del escritorio, simplifica el men de inicio (introduciendo una nueva funcionalidad
que adapta el men de inicio a la manera de trabajo del usuario, mostrando slo las
aplicaciones que se utilizan ms frecuentemente). Es ms seguro que Windows NT, ya que
est basado en un sistema de seguridad que permite a los usuarios o/y administradores
seleccionar el nivel de proteccin apropiado para su informacin y aplicaciones, para
intercambiar o almacenar informacin y aplicaciones, para intercambiar o almacenar
informacin en ordenadores independientes, en la red, en una intranet o en Internet.
Se encuentran disponibles cuatro versiones:
Professional. Es el sucesor de Windows NT Workstation. Permite utilizar hasta 2
Sistema
operativo
Descripcin
UNIX con este lenguaje, lo que, como se ver ms adelante lo impuls a los
niveles de popularidad actuales.
En 1977, UNIX se port a otra arquitectura diferente a la de la PDP, gracias a que
para recompilarlo slo era necesario realizar los cambios pertinentes para
adaptarlo a la nueva arquitectura, manteniendo intacto el resto del cdigo. Este es
el concepto de sistema abierto que lo hizo triunfar. Adems, UNIX fue diseado
modularmente, es decir, se programaron multitud de sencillos mdulos genricos
que una vez interconectados eran capaces de realizar tareas complejas. Esto
permiti una fcil depuracin de sus errores y facilit la colaboracin entre distintos
equipos de desarrollo.
En resumen, UNIX es uno de los sistemas operativos ms populares del mundo
debido a su extenso soporte, distribucin y, sobre todo, a su caracterstica de
sistema abierto. Originalmente fue desarrollado como sistema multitarea con
tiempo compartido para mini ordenadores y mainframes y, desde entonces, se ha
convertido en uno de los sistemas ms utilizados a pesar de su, ocasionalmente,
confusa interfaz con el usuario y el problema de su estandarizacin.
Por su parte, Linux es una versin de UNIX de libre distribucin, inicialmente
desarrollada por Linus Torvalds en la Universidad de Helsinki, en Finlandia. Ha
sido desarrollado con la colaboracin de muchos programadores y expertos de
UNIX a lo largo y ancho del mundo, gracias a la existencia de Internet. Cualquier
habitante del planeta puede acceder a Linux y desarrollar nuevos mdulos o
cambiarlo a su antojo.
El ncleo de Linux no utiliza ni una sola lnea del cdigo de A T &T o de cualquier
otra fuente de propiedad comercial y buena parte del software para Linux se
desarrolla bajo las reglas del proyecto de GNU de la Free Software Foundation.
Cambridge, Massachusetts.
Inicialmente, Linux fue un proyecto de aficionado de Linus Torvalds. Se inspiraba en
Minix, un pequeo UNIX de carcter fundamentalmente acadmico diseado para
microprocesadores de Intel de las familias 8086, 8088 y 80286 desarrollado por
Andrew Tanenbaum. La intencin de Linus Torvalds era la de mejorar MINIX para
aprovechar al mximo las caractersticas avanzadas del procesador 80386 de Intel
como son la conmutacin de tareas en modo protegido y el coprocesador
matemtico.
Comenc a utilizar el C tras escribir algunos drivers, y ciertamente se aceler el
desarrollo. En este punto, sent que mi idea de hacer un "un Minix mejor' que Mini"
se haca ms seria. Esperaba que algn da pudiese recompilar el gcc bajo Linux...
Dos meses de trabajo, hasta que tuve un driver de discos (con numerosos bugs,
pero que pareca funcionar en mi PC) y un pequeo sistema de ficheros. Aqu tena
ya la versin 0.01 [Finales de Agosto e de 1991]: no era muy agradable de usar sin
el drive de disketes, y no hacia gran cosa. No pens que alguien compilara esa
versin.
El 5 de octubre de 1991, Linus anunci la primera versin oficial de Linux, La
0.02. Ya poda ejecutar bash (el shell de GNU) y gcc (el compilador de C de GNU),
pero no haca mucho ms. La intencin era ser un juguete para hackers. No haba
nada sobre soporte a usuarios, distribuciones, documentacin ni nada parecido.
Hoy, la comunidad de Linux an trata estos asuntos de forma secundaria. Lo
primero sigue siendo el desarrollo del kemel.
Actualmente, Linux es ya un clnico de UNIX completo, capaz de ejecutar XWindow, TCP/IP, Emacs, UUCP y software de correo y News, mucho software de
libre distribucin ha sido ya portado a Linux y estn empezando a aparecer
multitud de aplicaciones comerciales. El hardware soportado es mucho mayor que
en las primeras versiones del ncleo y abarca la prctica totalidad de arquitecturas
y perifricos.
Linux es, pues, una reimplementacin completamente gratuita de las
especificaciones POSIX, con extensiones de SYSV y BSD (lo cual significa que
parece UNIX pero no proviene del mismo cdigo fuente base), que est disponible
tanto en su versin fuente como ya compilada. El copyright pertenece a Linus B.
Torvalds ([email protected]) y otros colaboradores, y es libremente
redistribuible bajo las condiciones de la GNU Public License.
2.2 Arquitectura de UNIX y LINUX
2.2.1 Arquitectura del Ncleo de Unix
Grfica 96. Arquitectura del sistema UNIX
Capas
La idea clave del estilo de arquitectura por capas es el planteamiento de una
jerarqua de capas para los distintos mdulos del ncleo, diferenciados segn su
funcionalidad y nivel de acceso a los dispositivos fsicos. En Linux se pueden
distinguir tres grandes capas, donde cada capa se comunica con los dispositivos
pasando por las inmediatamente inferiores. Veamos un momento estas tres capas
independientes:
1 capa: Programas de usuario: Aplicaciones ejecutadas por el usuario,
programas desarrollados por l, rutinas del sistema operativo, etc.
2 capa: Kernel: Subsistemas encargados de facilitar las herramientas al
programador que le permitan comunicarse con el hardware, sin tener que
ocuparse del manejo detallado de cada uno de los dispositivos. As, el
programador se olvida de si pretende leer de una unidad de disquetera, de
un disco duro, de un CDROM o de un recurso de red compartido, ya que
dispone de una herramienta que "escribe en dispositivos" cuya tarea
particular se reparten estos subsistemas para llevarla a cabo eficazmente.
3 capa: Dispositivos hardware: Son los propios aparatos, unidades de
almacenamiento, dispositivos de lectura, impresoras, tarjetas de
comunicaciones, sonido, imagen... etc.
Sin embargo, no se puede afirmar que Linux es estrictamente una arquitectura de
capas, ya que las capas se forman de subsistemas que colaboran entre s.
Si se revisa el otro estilo de arquitectura, el de arquitectura orientada a objeto, se
tiene que los diferentes subsistemas "encapsulan" las operaciones que realizan
sobre los dispositivos en forma de herramientas, de tal forma, que el programador
hace uso de esas herramientas olvidndose de las vicisitudes del manejo del
hardware y todo lo que ello conlleva.
Pero el estilo "hbrido" entre las dos ideas de arquitectura explicadas, es la que
mejor describe el estilo de la arquitectura de Linux.
Subsistema de llamadas al sistema. El subsistema de llamadas al sistema es el
que provee al ncleo de una interfaz externa. Es decir, es el subsistema que
permite la comunicacin a los programas de usuario interactuar con los dems
subsistemas mediante lo que se denominan "llamadas al sistema".
Como cualquier interfaz, lo que se pretende es esconder los detalles del ncleo y
del hardware del ordenador. De esta manera, se pueden aadir dispositivos o
cualquier otra versin de UNIX). Esto significa que pueden trabajar varios
usuarios, simultneamente en l y que cada uno de ellos puede tener varios
programas en ejecucin. Esto se consigue mediante la tcnica de time-sharing
(comparticin de tiempo), en la que el sistema operativo, a travs de su gestor de
procesos, asigna intervalos de tiempo de CPU a cada proceso de la mquina.
El sistema Linux es compatible con ciertos estndares de UNlX a nivel de cdigo
fuente, incluyendo el IEEE POSIX.1, System V y BSD. Fue desarrollado
buscando la portabilidad de los fuentes: casi todo el software gratuito desarrollado
para UNIX se compila en Linux sin problemas. Y todo el software que se hace
para Linux (cdigo del ncleo, drivers, libreras y programas de usuario) es de
libre distribucin.
E] ncleo es capaz de emular por su cuenta las instrucciones del coprocesador
80387, con lo que en cualquier Intel 80386, con coprocesador matemtico o sin l
podrn ejecutar aplicaciones que requieran la presencia de la unidad de clculo
en coma flotante. As, se evita que los programas tengan que hacer su propia
emulacin matemtica.
Linux implementa el control de trabajos POSIX (que se usa en los shells csh y
bash), las pseudoterminales (dispositivos pty) y teclados nacionales mediante
manejadores de teclado cargables dinmicamente. Adems, soporta consolas
virtuales, lo que permite tener ms de una sesin abierta en la consola de texto y
conmutar entre ellas fcilmente.
Linux soporta diversos sistemas de ficheros para almacenar los datos. Algunos de
ellos, como el ext2fs (un avanzado sistema de archivos propio con una capacidad
de hasta 4 Terabytes y nombres de archivos de hasta 255 caracteres de longitud)
han sido desarrollados especficamente para Linux. Tambin soporta, entre otros,
el sistema de ficheros Minix-1 (el sistema de ficheros de Xenix), HPF8-2 del OS/2
2.1, el sistema de ficheros de MS-DOS (FAT) con el que se podrn acceder desde
Linux a los disquetes y particiones en discos duros formateados con MS-DOS,
tambin soporta la versin ms moderna de este sistema de ficheros (FAT32) y
todos los sistemas de archivo tpicos de System V. Adems, soporta el ISO-9660,
que es el estndar seguido en el formato de los CD-ROMs.
Linux implementa todo lo necesario para trabajar en red con la pila de protocolos
TCP/IP, desde manejadores para las tarjetas de red ms populares hasta
SLIP/PPP, que permiten acceder a una red TCP/IP por el puerto serie. Asimismo
se implementan PLIP (para comunicarse por el puerto de la impresora) y NFS
(Network File System, para acceso remoto a ficheros). Y tambin se han portado
los clientes de TCP/IP, como FTP, telnet, NNTP y SMTP. Recientemente se han
incorporado los protocolos de red Appletalk y Netware de Novell.
El ncleo de Linux ha sido desarrollado para utilizar las caractersticas del modo
protegido de los microprocesadores 80386 80486 y superiores. En concreto, hace
consola.
Soporte para varios sistemas de archivo comunes.
Acceso transparente a particiones MS-DOS (o a particiones OS/2 FA T)
mediante un sistema de archivos especial.
Sistema de archivos ISO-9660 que lee todos los formatos estndar de
CD-ROM.
Pila de protocolos TCP/IP.
Admite protocolos Appletalk.
Software cliente y servidor NetWare disponible en los ncleos de
desarrollo.
2.4 Instalacin del sistema
Antes de proceder a la instalacin del sistema operativo Linux en una mquina,
se han de realizar dos pasos muy importantes:
Verificar que la mquina cumple al menos con los requisitos mnimos de
hardware que el sistema operativo a instalar requiere.
Elegir la distribucin a instalar entre las muchas existentes.
2.4.1 Requisitos hardware
Las necesidades hardware de Linux no son nada exigentes y mucho menos en
la actualidad, donde cualquier ordenador del mercado supera, y con creces, los
requisitos mnimos. An as, es conveniente tener presentes estos requisitos
mnimos especialmente si se va a instalar en equipos de cierta antigedad.
Estas necesidades varan en funcin del uso que se le vaya a dar a la mquina
de la cantidad de usuarios a los que se vaya a dar servicio y a las aplicaciones
que estos vayan a ejecutar.
Requisitos de placa base y de CPU
Actualmente Linux soporta, dentro de la arquitectura PC, sistemas con una CPU
Intel 80386, 80486 o Pentium, Pentium II, III y IV. Esto incluye todas las
variantes del tipo de CPU, como el 386SX, 486SX, 486DX, 486DX2, Pentium
Pro. Pentium Celeron, Mendocino, etc. Los clnicos no Intel, como AMD y
Cyrix tambin estn soportados por Linux.
La placa base debe ser de arquitectura ISA o EISA en cuanto a bus se refiere.
El bus MicroChannel (MCA), que se encuentra en mquinas como los IBM/PS2,
no est soportado actualmente.
Requisitos de memoria
Linux, comparado con otros sistemas operativos avanzados, necesita muY poca
memoria para funcionar. Se debera contar con un mnimo de 4 Megabytes de
RAM; sin embargo, es altamente recomendable tener al menos 32 Megabytes
para un funcionamiento ms fluido.
En equipos con poca memoria RAM, se reserva una parte del disco duro para
espacio de intercambio o swap que se usa como memoria RAM virtual. Incluso
si se dispone de bastante memoria RAM fsica en la mquina, es recomendable
utilizar un rea de swap. El rea de swap no puede reemplazar a una memoria
fsica RAM real pero puede permitir al sistema ejecutar aplicaciones cuyos
requisitos de memoria superen a la RAM disponible en el sistema guardando en
disco duro aquellas partes de cdigo que estn inactivas.
Una vez ms, el uso final del equipo marca las necesidades de hardware. Si el
sistema no va a ejecutar ningn tipo de entorno grfico, con 16-32 ME habr
suficiente, pero si la intencin es que disponga de alguno de ellos
(posteriormente se vern ms en detalle), es recomendable dotar al equipo con,
al menos, 64 MB de RAM.
La controladora de disco duro
Si bien, no es imprescindible un disco duro para ejecutar Linux, ya que se puede
ejecutar un sistema mnimo completamente desde disquete, esto resulta lento y
muy limitado, por lo que la presencia de disco duro se hace obligada. Para ello,
Linux soporta tanto las controladoras AT-estndar (l6-bits) como las
controladoras XT- estndar (8 bits). Soporta todas las controladoras MFM, RLL
e IDE. La mayora, pero no todas, las controladoras ESDI estn soportadas
(slo aquellas que hacen emulacin hardware de la ST506). La regla general
para controladoras que no sean SCSI es que, si se puede acceder a las
unidades desde MS-DOS u otro sistema operativo, se debe poder hacerlo
desde Linux.
Linux tambin soporta un nmero de controladoras de disco SCSI, si bien el
soporte para SCSI es ms limitado a causa de la gran cantidad de estndares
que existen para la interfaz de las controladoras. Las controladoras SCSI
soportadas incluyen las Adaptec AHA1542B, AHA1542C, AHA1742A (versin
de BIOS 1.34), AHA1522, AHA1740, AHA1740 (controladora SCSI-2, BIOS 1.34
en modo mejorado); Future Domain 1680, TMC-850, TMC-950; Seagate ST-02;
Otro hardware
Para el resto del hardware de la mquina, teclado, ratn, impresoras, tarjeta de
red, mdems, unidades de cinta, unidades lectoras-regrabadoras de CD-ROM,
DVD, escneres, etc., se puede decir que siempre que el dispositivo siga los
estndares internacionales estar soportado por el sistema. En cualquier caso,
da a da se estn aadiendo dispositivos a la lista de perifricos soportados,
por lo que es conveniente informarse en las publicaciones de novedades y en
los foros de desarrollo.
2.4.2 Distribuciones
En s mismo, Linux es slo el ncleo del sistema operativo, por lo que necesita
acompaarse de otras aplicaciones para ser realmente til; muchas de estas
aplicaciones han sido portadas desde otros sistemas operativos (generalmente
UNIX) o creadas especficamente para l. Todas estas aplicaciones estn
disponibles gratuitamente desde Internet pero, para evitar esta labor de
bsqueda y descarga, algunas empresas presentan en paquetes colecciones de
aplicaciones que, junto al ncleo, completan un sistema operativo completo.
A continuacin se citan algunas de las ms populares:
Slackware (http://www.slackware.com). Una de las primeras y muy
popular en un principio, actualmente ha perdido terreno debido a que su sistema de instalacin no tiene control de versiones ni dependencias
como el sistema RPM de Red Hat o el DEB de Debian.
Debian (http://www.debian.org). Esta distribucin no est desarrollada
por ninguna compaa, sino que es fruto de la colaboracin de la
comunidad de Internet, por lo que se trata de una distribucin totalmente
gratuita donde todo el software es GNU/GPL y no incluye software
comercial. Otra de sus ventajas es su sistema de instalacin de paquetes
DEB.
SUSE (http://www.suse.de). Distribucin que combina el sistema de
paquetes de Red Hat (RPM) con una organizacin derivada de
Slackware. Es la distribucin ms popular en Europa e incluye soporte
para diferentes idiomas incluido el castellano. Es una de las ms fciles
de instalar y configurar, adems es muy completa en cuanto al nmero
de paquetes se refiere.
Caldera (http://www.calderasystems.com). Presenta la distribucin
OpenLinux, basada en el sistema de paquetes RPM de Red Hat y
orientada a entornos comerciales, ya que incluye aplicaciones de oficina
como Aplixware y Corel W ord Perfecto.
/dev/fd0
/dev/fd1
/dev/hda
/dev/hda1
/dev/hda2
/dev/hda3
/dev/hda4
/dev/hda5
/dev/hda6
/dev/hdb
/dev/hdb1
/dev/sda
/dev/sda1
/dev/sdb
/dev/sdb1
/dev/hda1
/dev/hda2
/dev/hda3
/dev/hda5
/dev/hda6
Ahora fdisk est preguntando acerca del tamao de la particin a crear. Podemos
especificar el cilindro de terminacin de la particin o introducir directamente el tamao
requerido, en bytes, kilobytes o megabytes. Como se desea que la particin ocupe 80 MB,
se introduce +80M. Cuando se indica el tamao de esta forma, fdisk lo redondea a un
nmero de cilindros.
Last cylinder or + size or + sizeM or +sizeK (204 683):
+ 80M
Warning: Linux cannot currently use 3390 sectors of this partition
Si se obtiene un mensaje como el anterior, este puede ignorarse. fdisk imprime este, aviso
debido a que es un programa antiguo que data de cuando las particiones de Linux no
podan superar los 64 MB.
Ahora se va a crear la segunda particin. Para el ejemplo, se va a crear de 10 MB.
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (474-683): 474
Last cylinder or + size or + sizeM or +sizeK (474 683):
+ 10M.
Finalmente, se ha de ver la tabla de particiones, para comprobar el estado final del disco.
Una vez ms, es recomendable anotar la informacin que se presenta, sobre todo los
tamaos en bloques de las nuevas particiones. Esta informacin ser til al crear, ms
tarde, los sistemas de ficheros. Adems, se debe verificar que las particiones no se solapen.
Command (mfor help): p
Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/hda1 * 1 1 203 61693 6 DOS 16 - bit >= 32M
/dev/hda2 204 204 473 82080 81 Linux/MINIX
/dev/hda3 474 474 507 10336 81 Linux/MINIX
Se puede ver que ahora en /dev/hda2 hay una particin de 82.080 bloques
(aproximadamente 80 MB) y en /dev/hda3 hay 10.336 bloques (unos 10MB).
Los cilindros sobrantes (508 a 683) se quedan sin usar. Puede que se desee hacerlo as para ms adelante crear ms particiones. Finalmente, se utilizar el comando w para
escribir los cambios en el disco y salir.
Command (m for help): w
#
<size>
En ella se debe introducir el nombre del usuario y la clave (tanto Linux coN UNIX
distinguen entre letras maysculas y minsculas, por lo que root no es mismo que
Root o ROOT).
Cuando se sale del sistema, volver a aparecer esta misma ventana. Para apagar
el ordenador se puede seleccionar el botn de Options..., tras lo que aparece un
men con las siguientes opciones:
Sessions. Permite elegir al usuario el entorno de ventanas con el que va a
trabajar, los entornos ms habituales son: AnotherLevel, Default (arranca el
entorno por defecto instalado que puede ser cualquiera de los otros),
FailSafe (Modo a prueba de fallos), Gnome o KDE
Language. Permite cambiar el idioma en el que se muestran algunos de los
mensajes del sistema.
System. Contiene dos opciones: Reboot (para rearrancar el sistema) y Halt
para apagarlo. Nota: NUNCA se debe apagar directamente el ordenador
siempre hay que apagarlo empleando la opcin halt anterior (tras salir del
entorno con logout) o empleando el comando halt en el caso de trabajar en
modo texto.
Tras introducir el nombre del usuario y el password aparecer una pantalla similar
a la siguiente:
Como puede observarse en la figura anterior, este entorno es muy similar a otros
como Windows, OS/2 o Macintosh. Al igual que estos entornos, GNOME est
diseado para ser empleado con el ratn e incluye elementos comunes con estos
entornos como conos, mens, etc. Al igual que Windows, incluye en la parte
inferior una barra, el Panel de GNOME (GNOME Panel), en el cual se encuentran
accesos directos a determinados programas de uso comn.
La pantalla de GNOME se encuentra dividida en dos zonas principales como se
puede apreciar en la figura anterior: la parte superior en la que aparecen las
ventanas de las aplicaciones y documentos del usuario recibe el nombre de
escritorio, y la parte inferior de la pantalla que recibe el nombre de panel de
GNOME. Este elemento est diseado para contener la siguiente informacin:
La huella de pie o footprint. Al seleccionar este elemento aparece un men
similar al men Inicio de Windows 9x con las aplicaciones ms importantes
instaladas.
Las applets que son enlaces a las aplicaciones de uso ms frecuente como
la consola, Netscape, la ayuda, etc.
El acceso a los escritorios virtuales. Al contrario que en Windows, X
Window permite organizar las ventanas en varios escritorios virtuales.
GNOME dispone tambin de un rea especfica en la que aparecen los
botones representativos de las ventanas activas en el sistema.
En los dos extremos del panel aparecen dos botones con flechas con los
que el usuario puede colapsar el panel de forma que se maximice el rea
til del escritorio. Haciendo clic con el botn derecho del ratn sobre
cualquiera de los elementos anteriores, aparecer un men contextual que
permite configurar el elemento.
2.5.4 EL SHELL
Hasta este momento, se han visto algunos de los entornos grficos ms
importantes existentes para Linux. No obstante, cualquier usuario de Linux
acabar antes o despus relacionndose con el sistema empleando el modo texto.
Este modo se basa en la ejecucin de una serie de comandos, que son
interpretados por un programa o shell.
El kernel o ncleo del sistema ofrece sus servicios y el acceso a dispositivos
travs de llamadas al sistema y llamadas de funciones. Pero, mientras los
programas acceden directamente a estos, para que el usuario pueda acceder a los
servicios de sistema se necesita un programa que haga de intermediario entre el
usuario (a travs del terminal) y el kernel. Este programa es el shell y, como su
nombre indica, es algo que envuelve y protege al ncleo como si este fuese una
perla.
utiliza un signo de $ como prompt para indicar que est preparado para aceptar
comandos, aunque este carcter puede ser fcilmente sustituido por otro u otros
elegidos por el usuario. En el caso de que el usuario acceda como administrador
este signo se sustituye por #.
En este punto, el usuario puede teclear comandos con o sin argumentos que
sern ejecutados por el sistema operativo.
Como utilidad prctica, cabe mencionar que, cuando sea necesario introducir el
nombre de un fichero o directorio como argumento a un comando, Linux permite
escribir las primeras letras del mismo y realiza un autorrellenado al presionar la
tecla del tabulador. Si no puede distinguir entre diversos casos, rellenar hasta el
punto en el que se diferencien.
2.6 Estructura de archivos
2.6.1 Tipos de archivos
La base del sistema de archivos de Linux es, obviamente, el archivo que no es
otra cosa que la estructura empleada por el sistema operativo para almacenar
informacin en un dispositivo fsico como un disco duro, un disquete, un CD-ROM,
etc. Como es natural, un archivo puede contener cualquier tipo de informacin,
desde una imagen en formato GIF o JPEG a un texto o una pgina WEB en
formato HTML. El sistema de archivos es la estructura que permite que Linux
maneje los archivos que contiene.
Todos los archivos de Linux tienen un nombre, el cual debe cumplir unas ciertas
reglas:
Un nombre de archivo puede tener entre 1 y 255 caracteres.
Se puede utilizar cualquier carcter excepto la barra inclinada / y no es
recomendable emplear los caracteres con significado especial en Linux,
que son los siguientes: =, 1\ , -, ', ", ', *, ;, -, ?, [,
], (, )>>, !, &, -, < y >>>. Para emplear ficheros con estos
caracteres o espacios hay que introducir el nombre del fichero entre
comillas.
Se pueden utilizar nmeros exclusivamente si as se desea. Las letras
maysculas y minsculas se consideran diferentes y, por lo tanto, no es lo
mismo carta.txt que Carta.txt o carta.Txt
Como en Windows, se puede emplear un cierto criterio de tipo para marcar las
distintas clases de ficheros empleando una serie de caracteres al final del nombre
que indiquen el tipo de fichero del que se trata. As, los ficheros de texto, HTML,
las imgenes PNG o JPEG tienen extensiones .txt, .htm (o .html), .png y .jpg (o
jpeg) respectivamente.
Pese a esto Linux slo distingue tres tipos de archivos:
Archivos o ficheros ordinarios que son los mencionados anteriormente.
Directorio (o carpetas). Son archivos especiales que agrupan otros ficheros
de una forma estructurada.
Archivos especiales. Son la base sobre la que asienta Linux, puesto que
representan los dispositivos conectados a un ordenador, como puede ser
una impresora. De esta forma, introducir informacin en ese archivo
equivale a enviar informacin a la impresora. Para el usuario estos
dispositivos tienen el mismo aspecto y uso que los archivos ordinarios.
2.6.2 Enlaces
Los enlaces son un tipo de archivo ordinario cuyo objetivo es crear un nuevo
ftombre para un archivo determinado. Una vez creado el enlace simblico este
permite acceder al fichero que enlaza de igual modo como si se accediese desde
el archivo original. Los enlaces simblicos son especialmente tiles cuando se
quiere que un grupo de personas trabajen sobre un mismo fichero, puesto que
permiten compartir el fichero pero centralizan las modificaciones.
2.6.3 El camino o path
En cualquier sistema operativo moderno la estructura de archivos es jerrquica y
depende de los directorios. En general, la estructura del sistema de archivos se
asemeja a una estructura de rbol, estando compuesto cada nudo por un
directorio o carpeta, que contiene otros directorios o archivos.
En Windows, cada unidad de disco se identifica como una carpeta bsica que
sirve de raz a otras y cuyo nombre es especial a:, C:, d: etc. En los sistemas UNIX
y, por lo tanto, en Linux, existe una nica raz llamada I de la que cuelgan todos
los ficheros y directorios, y que es independiente de los dispositivos que estn
conectados al ordenador.
El camino o path de un fichero o directorio es la secuencia de directorios que se
ha de recorrer para acceder a un determinado fichero separados por l.
Supongamos la estructura de archivos de la siguiente figura:
/usr. Este es uno de los directorios ms importantes del sistema puesto que
contiene los programas de uso comn para todos los usuarios. Su
estructura suele ser similar a la siguiente.
o
o
o
o
= valor
$nombre
Ejemplo
$
pi=3.14159
$ echo
$pi
3.14159
Para asignar a una variable una cadena que contenga espacios o caracteres
especiales del sistema, hay que encerrarla entre comillas simples.
Ejemplo
$ direccin =Calle San Agust \\ i [] n n\\ u []mero 1
$ echo $direccin
Calle San Agustn nmero 1
A las variables de entorno creadas por el usuario o por los programas para su uso
propio, hay que aadir las variables intrnsecas del shell y que son necesarias
para su buen funcionamiento. Una de las ms utilizadas el la variable P A TH que
contiene la ruta por defecto en la que se buscarn los comandos tecleados por el
usuario. Las ms usuales se pueden ver en la siguiente tabla:
Variable
$#
$*
$$?
$$
$HOME
$IFS
$MAIL
$PSl
$PS2
$PATH
Contenido
Nmero de argumentos recibidos
Todos los argumentos
Opciones dadas
Valor devuelto por el ltimo comando ejecutado
Identificador del proceso actual
Directorio del usuario
Lista de caracteres Que se utilizan como separadores en los
argumentos
Archivo donde se almacena el correo electrnico del usuario
Prompt del usuario
Prompt de continuacin de lnea
Lista de directorios de bsqueda para los comandos
Tabla. Variables de entorno ms comunes
Ejemplo
$ echo $PATH
:/bin:/usr/bin:/home/alex/bin
para permisos de ficheros del sistema. En su lugar, los usuarios deben pertenecer
a un grupo individual, como users.
El fichero /etc/group contiene informacin acerca de los grupos. El formato de
cada lnea es:
nombre de grupo:clave:GID:otros miembros
Algunos ejemplos de grupos son:
root: *:0:
usuarios:*:100:jcalvo, alex
invitados:*:200:
otros:*:250:virtu
El primer grupo (root) es un grupo especial del sistema reservado para la cuenta
root. El siguiente grupo (users) es para usuarios normales. Tiene un GID de 100.
Los usuarios jcalvo y a/ex tienen acceso a este grupo. Recurdese que en
/etc/passwd cada usuario tiene un GID por defecto. Sin embargo, los usuarios
pueden pertenecer a ms de un grupo, aadiendo sus nombres de usuario a
otras lneas de grupo en /etc/group. El comando groups lista a qu grupos
pertenece cada usuario.
El tercer grupo (invitados) es para usuarios invitados y otros es para otros
usuarios. El usuario virtu tiene acceso a este grupo.
Como se puede ver, el campo clave de /etc/group raramente se utiliza. A veces,
se usa para dar una clave para acceder a un grupo. Esto es raras veces
necesario. Para evitar que los usuarios cambien a grupos privilegiados (con el
comando newgroup), se pone el campo de la clave a *.
Se pueden usar los comandos addgroup o groupadd para aadir grupos al
sistema. Normalmente, es ms sencillo aadir lneas a /etc/group directamente,
puesto que no se necesitan ms configuraciones para aadir un grupo. Para
borrar un grupo, slo hay que borrar su entrada de /etc/group.
2.8.2 Permisos
Linux, al igual que todos los sistemas UNIX, mantiene un sistema de permisos de
acceso a los ficheros muy estricto, con el fin de controlar qu es lo que se puede
hacer con ellos y quin lo puede hacer. Estos permisos se identifican con letras y
son:
r
(group o grupo) y para todos los usuarios del sistema independientemente del
grupo.
El permiso de lectura permite a un usuario leer el contenido del fichero o, en el
caso de un directorio, listar el contenido del mismo (usando el comando /s). El
permiso de escritura permite a un usuario escribir y modificar el "fichero. Para
directorios, el permiso de escritura permite crear nuevos ficheros o borrar
ficheros ya existentes en dicho directorio. Por ltimo, el permiso de ejecucin
permite a un usuario ejecutar el fichero si es un programa o script (guin) del
intrprete de comandos. Para directorios, el permiso de ejecucin permite al
usuario cambiar al directorio en cuestin (con el comando cd).
Se presenta un ejemplo clarificador del uso de permisos de ficheros.
EJEMPLO
Usando el comando Is con la opcin -1 se mostrar un listado largo de los ficheros, el cual incluye
los permisos de ficheros.
# /s -1 stuff
-rw-r--r-- 1 Alex users 505 Mar 1319:05 stuff
El primer campo impreso en el listado representa los permisos del fichero, el tercer campo indica
quin es el propietario del fichero (Alex), y el cuarto es el grupo al cual pertenece el fichero
(users). Obviamente, el ltimo campo es el nombre del fichero (stuff). Los dems campos no son
relevantes en este momento.
Este fichero pertenece a Alex y al grupo users y la cadena -rw-r--r-- informa, por orden, de los
permisos para el propietario, el grupo del fichero y cualquier otro usuario.
El primer carcter de la cadena de permisos (-) representa el tipo de fichero. Significa que es un
fichero regular; otras opciones para este campo son d que indica que se trata de un directorio, /
que indica que se trata de un archivo de enlace (link en ingls) y s que indica que se trata de un
enlace simblico. Las siguientes tres letras (rw-) representan los permisos para el propietario del
fichero, Alex en este ejemplo. El r para lectura y w para escritura. Luego Alex tiene permisos de
lectura y escritura para el fichero stuff.
Como ya se ha mencionado, aparte de los permisos de lectura y escritura est el permiso de
ejecucin, representado por una x. Como hay un - en lugar del x, significa que Alex no tiene
permiso para ejecutar ese fichero. Esto es correcto, puesto que stuff.
Como ya se mencionado, a parte de los permisos de lectura y escritura, esta el permiso de
ejecucin, representado por una x. Como hay un en lugar del x, significa que Alex no tiene
permiso para ejecutar ese fichero. Esto es correcto, puesto que stuff no es un programa
ejecutable. Por supuesto, como Alex es el propietario del fichero, puede darse permiso de
ejecucin si lo desea.
Los siguientes tres caracteres, (r--) representan los permisos para los miembros del grupo. El
grupo al que pertenece el propietario del fichero y por ende el fichero es users. Como slo
aparece un r cualquier usuario que pertenezca al grupo users puede leer este fichero.
Anlogamente, los ltimos tres caracteres, tambin (r--), representan los permisos para cualquier
otro usuario del sistema (diferentes del propietario o de los pertenecientes al grupo users). De
nuevo, como slo est presente el r, los dems usuarios pueden leer el fichero, pero no escribir
en l o ejecutarlo.
Tino
ext2
ext
Minix Filesystem
mmlX
Xia Filesvstem
XIa
UMSDOS Filesystem
umsdos
MS-DOS Filesystem
msdos
/proc Filesystem
proc
iso9660
Xenix Filesystem
System V Filesystem
Coherent Filesystem
HPFS Filesystem
xenix
svsv
coherent
hpfs
Comentarios
Sistema de ficheros mas comn en Linux.
Reemplazado por ext2.
Sistema de ficheros Minix original; raras
veces utilizado.
Como ext2, pero raras veces utilizado.
Utilizado para instalar Linux en una
particin MS-DOS.
Utilizado para acceder a ficheros MSDOS.
Suministra infonnacin de proceso para
ps, etc.
F onnato utilizado por muchos CDROMs.
Sistema de ficheros de Xenix.
Variantes del System V para el x86.
Acceso a ficheros de Coherent.
Acceso en lectura a particiones HPFS.
El comando mount slo puede ser utilizado por root. Esto es as para garantizar la
seguridad del sistema. Aunque y para facilitar la usabilidad de los equipos, existen
varios paquetes que permiten a los usuarios normales montar y desmontar
sistemas de ficheros (disquetes en particular) sin comprometer la seguridad del
sistema.
El comando mount -av realmente monta todos los sistemas de ficheros excepto el
sistema de ficheros raz (en el ejemplo anterior, /dev/hda2). El sistema de ficheros
raz es montado automticamente en tiempo de arranque por el ncleo.
En vez de utilizar el comando mount -av, se puede montar un sistema de ficheros
a mano. El comando # mount -t ext2 /dev/hda3 /usr es equivalente a montar el
sistema de ficheros con la entrada /dev/hda3 del ejemplo de fichero fstab anterior.
Los sistemas de ficheros son desmontados bien manualmente mediante el
comando unmount o automticamente por los comandos shutdown o halt antes
de cerrar el sistema.
Normalmente, es una buena idea el comprobar de vez en cuando los sistemas de
ficheros en busca de ficheros daados o corruptos. Algunos sistemas comprueban
automticamente sus sistemas de ficheros en tiempo de arranque (con los
comandos apropiados en /etc/rc).
Normalmente, es una buena idea el comprobar de vez en cuando los sistemas de
ficheros en busca de ficheros daados o corruptos. Algunos sistemas comprueban
automticamente sus sistemas de ficheros en tiempo de arranque (con los
comandos apropiados en /etc/rc).
# e2fsek -av /dev/hda2
comprobar el sistema de ficheros
automticamente cualquier error.
ext2fs
de
/dev/hda2
corregir
Habitualmente, es una buena idea desmontar un sistema de ficheros antes de comprobarlo. Por ejemplo, el comando:
# umount /dev/hda2
desmontar el sistema de ficheros en /dev/hda2, tras lo cual podr ser
comprobado. La nica excepcin es que no se puede desmontar el sistema de
ficheros raz. Para poder comprobar el sistema de ficheros raz cuando est
desmontado, se debe utilizar un disquete de arranque/raz. Tampoco se puede
desmontar un sistema de ficheros si alguno de sus ficheros est siendo utilizado
por un proceso en ejecucin.
Por ejemplo, no se puede desmontar un sistema de ficheros si el directorio de
un
de
de
su
raw/lp2/PS_600dpi-a4-auto-mono-600dpi a4 raw
:sd=/var/spool/lpd/PS 600dpi-a4-raw:
:lf=/var/spool/lpd/PS_600dpi-a4-raw/log:
mono 600:
600:
:af=/var/spool/lpd/PS_600dpi-a4-raw/acct:
:if=/var/lib/apsfilter/bin/PS 600dpi-raw:
:la@:mx#O:
:tr=:cl:sh:sf:
Como puede verse en el ejemplo, una impresora est configurada usando 3
tipos diferentes de filtros:
ascii, para ser usada con el filtro ASCII.
lp, para ser usada con el filtro ms adecuado a la impresora (el filtro se
elige automticamente).
raw, para ser usada sin conversin de los datos (llamado en castellano
modo crudo).
Tambin se indica que la resolucin de impresin es de 600 puntos por pulgada
(600 dpi) Y el tamao de papel ser A4.
La conexin fsica de las impresoras se puede realizar mediante diferentes
puertos:
Puerto Paralelo. El dispositivo se vincula a un archivo en el directorio
/dev con el nombre Ip0, lp 1, Ip
Si la conexin est bien realizada, se debe poder imprimir mediante este
comando:
Echo -en "Hola> dev/lp0
Puerto serie. Se vincula a un archivo en /dev con el nombre ser0, ser1,
ser2
Puerto USB. Se vincula a un archivo en /dev con el nombre usblpO,
usblpl, usblp2...
La prueba de impresin se realiza con el comando:
Echo -en "Hola> dev/usblp0.
Tambin se puede gestionar una impresora conectada remotamente a travs de
los protocolos TCPIIP, para ello se ha de definir en el cliente (mquina local) una
cola para gestionar la impresora. Esto se realiza tambin en el fichero
/etclprintcap. Ejemplo:
nombre-Imp!remote printer on maquinaremota.dominio:
:sd=/var/spool/lpd/nombre-Imp:
:rm=maquinaremota.dominio:
:rp=remoto:
:bk:sh:mk#0:
En el servidor de impresin hay que habilitar explcitamente a las mquinas que
tienen permiso para imprimir dando de alta sus IPs en el archivo /etc/hosts.lpd.
Para completar el proceso de impresin, el sistema dispone de otro demonio
llamado lpd (line printer daemon) que se activa durante el arranque y que se est
ejecutando constantemente en segundo plano. Este proceso inspecciona el
archivo /etc/printcap, es decir las colas de impresin definidas en el sistema y
realiza las siguientes tareas:
Para listar los trabajos existentes en una cola de impresin se puede usar
el comando /pq
$ /pq Pcola
rm. Borra ficheros. Ntese que cuando los ficheros son borrados en UNIX,
son irrecuperables (a diferencia de MS-DOS, donde usualmente se puede
recuperar un fichero borrado).
Sintaxis: rm <fichero]> <fichero2> . . . <ficheroN>.
Donde <fichero1> a <ficheroN> son los nombres de los ficheros a borrar.
Opciones: -i pedir confirmacin antes de borrar un fichero.
Ejemplo: rm -i Ihome/jcalvo/javi /home/jcalvo/docs borra los ficheros javi y
docs en /home/jcalvo.
grep. Muestra todas las lneas de un fichero dado que coinciden con un
cierto patrn.
Sintaxis: grep <patrn> <fichero1> <fichero2> . . . <ficheroN>
Donde <patrn> es una expresin regular y <fichero1> a <ficheroN'> son
los ficheros donde buscar.
Ejemplo: grep users /etc/passwd mostrar todas las lneas en el fichero
/etc/passwd que contienen la cadena users.
las dirige al servidor. Casi todas las aplicaciones del DOS se pueden ejecutar en el
sistema operativo NetWare, gracias a su shell para DOS.
Mientras tanto, Novell sigui mejorando NetWare al ritmo de los avances
tecnolgicos. NetWare 286 funciona en modo protegido del procesador 80286, el
ms eficiente. En 1989, Novell present NetWare 386, el primer sistema operativo
que aprovechaba al mximo las ventajas del microprocesador Intel 80386.
Qu es una red?
Una red es un grupo de computadoras que pueden comunicarse entre s,
compartir recursos (discos duros, impresoras, ...) y acceder a otros equipos u otras
redes.
Los componentes bsicos del hardware de una red son:
Uno o ms servidores
Estaciones de trabajo
Dispositivos perifricos
Tarjetas de red
Medios de transmisin
Qu es NetWare?
NetWare es un sistema operativo de red de computadores desarrollado por la
empresa Novell. Es un conjunto de aplicaciones diseadas para conectar,
gestionar y mantener una red y sus servicios.
Una red NetWare utiliza el software NetWare para habilitar la comunicacin entre
dispositivos y el compartimiento de recursos.
NetWare es un conjunto de componentes software. Algunos de estos
componentes slo se pueden ejecutar desde el servidor de NetWare. Otros slo
se pueden ejecutar desde las estaciones de trabajo.
Soporte de estaciones de trabajo
A una red NetWare podemos conectar los siguientes tipos de estaciones de
trabajo:
DOS
Windows
OS/2
Macintosh
UNIX
3.1.2 Caractersticas de las distintas versiones
ampliables.
Hacer que NetWare sea independiente del protocolo soportando los
estndares importantes de la industria, como TCP/IP y los niveles de
protocolo OSI.
Ofrecer encaminamiento (rounting) y redes de rea amplia.
mltiples protocolos sobre un slo adaptador de red o incluso para hacer convivir
varios adaptadores de red sobre el mismo sistema operativo.
ODI proporciona a los protocolos una API (Interfaz de Programacin de
Aplicaciones) que permite comunicar con el adaptador de red y la convivencia de
distintos protocolos simultneamente.
La configuracin de Netware con ODI est compuesta de los siguientes mdulos
de software entre otros:
MLID (Multiple Link Interface Driver). Es el programa que controla al
adaptador de red, especialmente preparado para la utilizacin de la
tecnologa ODI. Cada tarjeta tiene un mdulo MLID distinto, que
normalmente recibe el nombre del adaptador y tiene extensin COM. As, la
tarjeta NE2000 tiene un mdulo MLID denominado NE2000.COM.
LSL.COM (Link Support Layer o Legislador de Soporte de Enlace). Provee
la capacidad para la convivencia mltiple de protocolos en una o ms
tarjetas de red. Sobre este mdulo se asientan otras capas de software
para habilitar la gestin de red de distintas tecnologas: IPX, TCP/IP, etc.
Por encima de estos mdulos se pueden instalar otros de software, como en el
caso de la configuracin monoltica.
3.1.7 Servicios WEB
Con Netware 5 se incluye el servidor Web FastTrack versin 3.5 desarrollado por
la empresa Novonyx, que fue fundada por Novell y Netscape con el propsito de
incorporar toda la lnea de productos de Netscape sobre la plataforma Netware.
FastTrack es el mismo servidor Web que se puede encontrar en otros sistemas
operativos.
A principios de 1998 Novell y Netscape anunciaron que su subsidiaria Novonyx se
encargara de proporcionar los servidores de Netscape SuiteSpot sobre la
plataforma Netware. Todas las funciones administrativas, de ventas y soporte
sern coordinadas por Novell a partir de dicha fecha.
El producto cuyo nombre oficial es "Netscape FastTrack Server for Netware 5" es
un servidor WEB de alto rendimiento basado en estndares abiertos. Con l se
entrega informacin una nuestra intranet o Internet empleando el protocolo HTTP.
UNICON. El programa con el que se realiza toda la administracin de los servicios
FTP, LPD, LPR y NIS se llama UNICON.NLM. Se debe ejecutar en el servidor
Netware y no est integrada con el Administrador normal de Windows.
Servicios del Directorio Netware. Los Servicios del Directorio NetWare (o NDS)
mantienen una base de datos con informacin acerca de todos los recursos de
una red NetWare organizada en una estructura de rbol jerrquica llamada rbol
del directorio. Los NDS procesan las peticiones de recursos de red que hacen los
clientes: localizan el recurso en la red, verifican el cliente y lo conectan al recurso.
Seguridad. El sistema de seguridad de NetWare no es un sistema unitario, sino
que est distribuido entre los muchos servicios de la red. El papel de cada sistema
de seguridad es el de regular el acceso a los recursos de red. El componente
fundamental de la seguridad de la red es su cuenta de usuario, que le identifica e
indica qu es lo que est autorizado a hacer en la red.
Sistema de archivos. Sistema que utiliza el servidor de NetWare para organizar
datos en los discos duros. Cada archivo recibe un nombre de archivo y se
almacena en un punto determinado en un sistema jerrquico de archivo para que
los archivos se puedan localizar rpidamente.
El sistema de archivos NetWare permite que los clientes compartan unidades de
discoconectadas a los servidores de NetWare. Se puede utilizar para almacenar,
compartir y utilizar aplicaciones y archivos de datos.
Impresin en red. NetWare permite a todas las estaciones de trabajo imprimir por
las mismas impresoras. Se pueden conectar estas impresoras a los servidores de
NetWare, a las estaciones de trabajo o directamente al cable de la red. Gracias al
imitado por otros sistemas operativos de hoy da. Dos versiones fueron hechas
OS/2 para Windows sacada en 1994 y entonces OS/2 Warp con el OS/2 versin
nativa de Windows 3.1 a principios de 1995. OS/2 Warp tambin soporta
Windows para trabajo en grupo donde OS/2 2.1 nunca lo soport
Os/2 Warp Connect (1995), puso a OS/2 en el rango de punto a punto y
estaciones de trabajo cliente OS/2 por diseo tiene incluido en el sistema
operativo la gestin de redes. Slo libera al animal enjaulado. Connect es
tambin conocido como un sistema confiable para clientes de redes o para
pequeos servidores.
OS/2 Warp Server (1997), efectivamente integr el LAN Server de IBM en OS/2
Warp. Os/2 Warp Server ha sido aclamado como el mejor sistema operativo de
redes, es muy eficiente y requiere menos hardware, que sus equivalentes
funcionales de NT y UNIX para dar el mismo rendimiento.
Tiene muchos usos y caractersticas de administracin los cuales han hecho de l
ya el favorito para muchos de los administradores de redes
OS/2 Warp 4 Merlin (1998), existen infinidad de rumores a cerca de Merlin.
Merlin es el nombre del proyecto dado para la siguiente revisin de OS/2 Warp.
Ms nunca existir una versin OS/2 sola; siempre ser un servicio de cliente y
redes de punto en todas las futuras versiones de OS/2. Merlin posee mejoras en
(Work place Shell), incluye mejora en los multimedios, y otras mejoras
principalmente apuntaron a hacer a OS/2 mucho ms amigable para usar
3.2.3 Manejo de archivos en OS/2
Debido al objetivo inicial de mantener compatibilidad con DOS, las versin 1.0 de
OS/2 era muy similar a la de ste sistema operativo. Posteriormente en las
versiones 2.x mejor el sistema de archivos con otras facilidades, como ofrecer
dos modos de trabajo: el sncrono y el asncrono. El modo sncrono se realiza a
travs del llamado a las rutinas 'DosRead' y 'DosWrite', mientras que el asncrono
se realiza por medio de 'DosReadAsync' y 'DosWriteAsync'. En el caso de que se
estn ejecutando varios 'threads' de un proceso, la sincronizacin de las
operaciones sobre archivos se puede realizar a travs de semforos con la
llamada a la rutina 'DosMuxSemWait'.
Respecto a los discos duros, OS/2 permite crear varias particiones en un solo
disco y mantener sistemas de archivos en cada particin con su propio File
Allocation Table (FAT) en cada particin. A este tipo de particiones se les llama
'particiones ampliadas'. OS/2 continua usando nombres de archivos de ocho
caracteres y extensiones de tres con un punto que los separa. A continuacin se
muestran algunas llamadas para la manipulacin de archivos.
Llamada
Descripcin
DosBufReset
DosClose
DosDelete
DosDevIOCtl
DosMkDir
DosNewSize
DosFileInfo
DosSetFileInfo
DosOpen
DosSetFileMode
DosRmDir
DosSelectDisk
Como en UNIX y algunos otros sistemas operativos, OS/2 permite ser instalado en
una particin de disco duro y dejar otras intactas para instalar otros sistemas
operativos, dando as la facilidad de poder usar una misma computadora con
diferentes sistemas operativos. OS/2 ofrece una interfaz grfica para que el
usuario trabaje, en particular ofrece un cono para representar los archivos y una
barra de mens para realizar operaciones sobre ellos como abrirlos, cerralos,
copiarlos, etc. Si el usuario est acostumbrado a teclear comandos, entonces
puede pedir una sesin de DOS para usar los comandos habituales de ese
sistema operativo. En particular, en el ambiente de ventanas se tiene un cono
denominado Sistema OS/2 que contiene otro cono llamado Unidades y ah
existen conos que representan el disco duro, unidades de disco flexible, etc. Para
realizar copias de archivos, borrados, etc; basta con arrastrar los conos
correspondientes de/hacia el origen/destino deseado. La versin inicial de OS/2
tena includo el sistema Windows, pero debido a las regalas que deba pagar a
Microsoft, ste fue eliminado y el usuario debe adquirirlo por separado, y
configurarlo al momento de instalacin.
3.2.4 Manejo de procesos en OS/2
OS/2 utiliza un esquema de planificacin apropiativa, es decir, los procesos
pueden ser suspendidos para darle su turno de ejecucin a otro diferente. Los
procesos pueden estar dividos en 'threads' que cuentan con sus propios registros,
pila y contador de programa y todos los 'threads' de un mismo proceso comparten
la memoria. Esto facilita la comunicacin entre ellos y la sincronizacin. Tambin
es posible que un proceso genere un proceso hijo, en tal caso el hijo hereda todos
los atributos del padre como son los descriptores de archivos abiertos, los valores
en memoria, etc; prcticamente igual que el sistema operativo UNIX.
Otra facilidad de OS/2 es la facilidad de crear 'conductos' lo cual tambin es una
funcin heredada de UNIX.
los ACL. En los dispositivos se manejan cinco tipos de permisos: leer, escribir,
ejecutar, borrar y controlar. No todos los permisos se aplican a todos los
dispositivos. El permiso de control no se maneja explcitamente sino que se
otorga por omisin al dueo y al sistema. Los permisos de los discos, unidades de
cinta y otros dispositivos son establecidos por el administrador del sistema.
Los dispositivos reciben nombres lgicos, por ejemplo, para una unidad de cinta
el nombre puede ser MTA0.
Maneja System Interface (SCSI) que son ampliamente usados en diversas
plataformas. El intercambio de datos entre la unidad central de proceso y los
perifricos se lleva a cabo a travs de los buses normalizados UNIBUS y
MASSBUS.
Actividad inicial:
En este punto, vamos a establecer un comparativo entre las arquitecturas aqu
mencionadas. A nivel de capas, costos, servicios, equipos, sistemas
operativos que pueden manejar, etc.
Es importante resaltar ventajas y desventajas de cada una, y al final proponer
cul sera la arquitectura ideal para un sistema de red estndar.
Nombre OSI
.request
Indicacin
.indication
Respuesta
.response
Confirmacin
.confirm
Significado
Una entidad solicita que un servicio realice un
trabajo para ella.
Una entidad es informada de que ha ocurrido un
evento.
Una entidad responde con una primitiva a un
evento producido anteriormente
Una entidad es informada acerca de una solicitud
efectuada anteriormente
Presentacin
FUNCIN
Modo de
Transporte
Se definen los protocolos que utilizarn las APDU
aplicaciones y procesos de los usuarios. La
ISO referencia 5 grupos de protocolos:
Grupo 1. Protocolos de gestin del sistema.
Grupo 2. Protocolos de gestin de la
aplicacin.
Grupo 3. Protocolos de sistema
Grupo 4 y 5. Protocolos especficos para
aplicaciones
Se ocupa de la sintaxis y de la semntica de la PPDU
informacin, es decir, investiga en el contenido
informativo de los datos; comprime los datos
para que las comunicaciones sean menos
costosas y encriptacin de la informacin
Transporte
Red
(Subred)
Red
Enlace
Fsico
FUNCIN
Permite el dialogo entre el emisor y el
receptor, estableciendo una sesin en la cual
se puede dar un transporte de datos ordinario.
Se realiza en dos etapas:
Establecimiento de sesin y creacin
de un buzn.
Intercambio de datos entre los
buzones
Determina
si
la
comunicacin
ser
bidireccional o simultanea
Acepta los datos de la capa de sesin, los
fracciones para que sean aceptados por la
subred y se asegura que de que llegar al
nivel de trasporte del destinatario
Se ocupa de la subred, su funcin es la del
encadenamiento, o sea, elegir la ruta mas
adecuada para que el paquete llegue a su
destino el cual esta identificado por una
direccin, adems trata la congestin y la
resolucin de problemas generados por redes
heterogneas.
Establece una lnea de comunicacin libre de
errores que se produzcan en la recepcin de
tramas, eliminar tramas errneas, solicitar
retransmisiones, adecuar el flujo de datos, etc.
Define
las
caractersticas
mecnicas,
elctricas, funcionales y de procedimiento
para establecer y destruir conexiones entre
dos equipos. Garantiza la compatibilidad de
los conectores
Modo de
Transporte
SPDU
TPDU
PAQUETE
TRAMA
BIT
LU Primaria (PLU)
Establece la Sesin
Gestiona la Sesin
Finaliza la Sesin
LU Secundaria (SLU)
Aceptar o rechazar la peticin de establecimiento de sesin
En ocasiones puede negociar los protocolos de la sesin.
Dichos roles se establecen en el momento de la comunicacin. Algunas LU como
las de los terminales nicamente pueden ser secundarias, mientras que otras LU
como las de los programas de aplicacin pueden ser tanto primarias como
secundarias.
Se han definido varios tipos de LU como son LU0, que es la bsica, LU para
terminales remotas tipo 3270 y LU 6.2 para comunicaciones entre programas
transaccionales distribuidos.
2. PU
Cada nodo contiene una PU para gestionar los enlaces que conectan el nodo a los
adyacentes y sus propios recursos. La implantacin se suele realizar tanto en
hardware como en software, dependiendo de las funciones.
Existen los siguientes tipos de PU dependiendo de las funciones que desempean
en la arquitectura SNA:
PU tipo 5. Nodo de UCP. Contiene servicios de unidad fsica del nodo host y el
SSCP. Soporta direcciones SNA completa, grupos de transmisiones, rutas
explicitas y rutas virtuales. Contiene un SSCP, una PU y un numero variable de
LU, generalmente asociados a programas de aplicacin. Proporciona servicios de
sesin y ruta.
PU tipo 4. Nodo controlador de Comunicaciones (UTC). Soporta las mismas
funciones que las PU T5 con la excepcin de que no contienen SSCP.
PU tipo 2. Nodo perifrico. Soporta una direccin SNA limitada y ninguna de las
funciones de la PU y T4. Nodos de este tipo son los controladores de terminales.
PU tipo 2.1. Nodo perifrico. Es un nodo que reside en los nodos de los sistemas
distribuidos, estos no necesitan ser controlados por un SSCP.
PU tipo 1. Nodo Perifrico. Soporta un controlador no inteligente. Los servicios de
esta unidad se implantan en el nodo controlador de comunicaciones.
Cada nodo de la red posee al menos una unidad fsica. Reside la PU en dicho
nodo y le representan en el entorno de la red. Los servicios de la unidad fsica del
nodo gestionan los aspectos fsicos del mismo. Se comunican con el SSCP para
enviar informacin de aspectos como Error/Trafico.
3. SSCP(System Services Control Point)
Las funciones del SSCP son las siguientes:
Controlar los recursos del sistema de comunicaciones. El SSCP es el
encargado de supervisar el dominio del sistema de comunicaciones al que
pertenece.
Gestionar es establecimiento de las sesiones. Controla el acceso de los
usuarios finales a la red permitiendo un control de la gestin de la red
Interrelaciona la LU para ejecutar funciones como conexin y desconexin
de aplicaciones.
Recibe mandatos del operador
Enva mensajes al operador
El SSCP reside en una UCP. Un SSCP gestiona un dominio de la red. Si la red
cuenta ms de un SSCP se tiene una red de mltiples dominios. Los dominios
deben ser disjuntos. Todos los nodos y enlaces han formado parte de un nico
dominio. Un dominio es el conjunto de nodos controlados por un SSCP (nodo de
tipo 5).
Nodo SNA
Es un elemento de la red en el que se implantan la funcin PU. Todo nodo tiene su
PU y solo una. En un nodo, sin embargo, pueden conectar ms de una LU.
Existen dos principales tipos de nodos en SNA:
1. Nodo subarea. Constituye los nodos tipo 4 o5. el nombre lo reciben debido a
que las direcciones de la red que lo identifican utilizando una parte de la direccin
que es la direccin de la subarea. Un nodo controlador de comunicaciones
controla los enlaces y estaciones de trabajo que estn conectadas a el. Existen
dos clases de nodos subarea:
De clase pocesador. Contiene un mtodo de acceso de
telecomunicaciones y proporciona las funciones de control y gestin de red.
OSI
Aplicacin
Presentacin
Sesin
Transporte
Red
Enlace
Fsico
DNA DE DEC
Usuario
Gestin de red
Sesin y control de red
Extremos de comunicaciones
Encaminamiento
Enlace
Fsico
BIBLIOGRAFA
ALCALDE, Eduardo. MORERA, Juan. PEREZ-CAMPANERO, Juan A. (1994).
Introduccin a los Sistemas Operativos. Serie Informtica de Gestin. Mxico:
Editorial Mc Graw Hill.
BARRETO ROA, Julio Humberto. (2001). Sistemas Operativos. Gua de estudio.
Bogot: Editorial UNAD.
CALDERA (2003). Kit de recursos. Unifying Unix Whit Linux For Business.
CAAS, Javier. Documento pdf: Sistemas Operativos. Catorce captulos (1999).
CARRETERO PEREZ, Jess, GARCIA CABALLEIRA, Flix, ANASAGASTI, Pedro
de Miguel, PEREZ COSTOYA, Fernando (2001). Sistemas Operativos. Una visin
aplicada. Madrid: Mc Graw Hill.
FLYNN, Ida M, MCHOES, Ann McIver.(2001) Sistemas operativos. Tercera
Edicin. Mxico: Editorial Thomson Learning.
GUARQUIN, Margarita y QUIROGA, Edgar (2005). Mdulo ensamble y
mantenimiento de computadores. Bogot: UNAD.
RAYA, Laura, ALVAREZ, Raquel, RODRIGO, Vctor. (2005). Sistema Operativos
en entornos Monousuario y Multiusuario. Mxico: Alfaomega, Ra-Ma.
RUEDA, Francisco. (1989). Sistemas Operativos. Santaf de Bogot: Mc Graw
Hill.
SILBERSCHATZ, Avi, GALVIN, Peter, GAGNE,
Operativos. Mxico: Editorial Limusa Wiley.
Greg.
(2002).
Sistemas
DIRECCIONES WEB
http://www.tau.org.ar/base/lara.pue.udlap.mx/sistoper/
http://www.itver.edu.mx/so1/
http://www.itver.edu.mx/so2/
http://os.matiu.com.ar/
http://os-matiu.dreamhost.com/classes/clase1.html
http://www.iespana.es/canalhanoi/so/
http://server2.southlink.com.ar/vap/sistemas_operativos.htm
http://www.inei.gob.pe/web/metodologias/attach/lib616/INDEX.HTM
http://www.itq.edu.mx/vidatec/maestros/sis/mnogues/Unidad1.htm
http://www.cs.virginia.edu/~knabe/iic2332/notes01.html
http://www.mundotutoriales.com/tutoriales_sistemas_operativos-mdtema56.htmm
http://www.microsoft.com/spain/technet/recursos/articulos/domcntrl.mspx
http://www.microsoft.com/spain/technet/implantacion/default.mspx
http://www.microsoft.com/latam/technet/productos/windows/windowsserver2003/
http://comala.escom.ipn.mx/proyecto/temarios/tercero/sistope.html
http://lara.pue.udlap.mx/sist_oper/index.html
Linux:
www.caldera.com
www.conectiva.com.co
www.debian.com
www.gnu.org
www.linux.org
www.lucars.org
www.mandrake.com
www.redhat.com
www.suse.com
http://linux.ciberaula.com/articulo/introduccion_practica_linux/#paquetes_linux
Descargas Linux en espaol:
http://www.ibiblio.org/pub/Linux/
http://www.ibiblio.org/pub/Linux/docs/LuCaS/
http://www.ibiblio.org/pub/Linux/docs/LuCaS/htmls/manuales.html
http://www.ibiblio.org/pub/Linux/docs/LDP/install-guide/translations/es/
ftp.cdrom.com