You are on page 1of 18

C I I S A 1

Apuntes n1 Sistemas Operativos

frontal, desde tarjetas perforadas o desde una cinta. Luego se pulsaban


los botones adecuados para establecer la direccin de inicio y comenzar
En estos apuntes se presenta la evolucin de los sistemas la ejecucin del programa. Mientras este se ejecutaba, el programador-
operativos a lo largo de la historia, introduciendo algunos conceptos operador lo poda supervisar observando las luces en la consola. Si se
fundamentales relativos a stos, como podran ser la gestin de descubran errores, el programador poda detener el programa,
procesos o su arquitectura. examinar el contenido de la memoria y los registros y depurar el
programa directamente desde la consola. La salida del programa se
imprima, o se guardaba en cintas o tarjetas para su impresin posterior.
Un aspecto importante de ese entorno era su naturaleza interactiva
INTRODUCCIN directa. El programador tambin era el operador del sistema de
computacin.

Antao, con las primeras mquinas, era algo muy complicado


ser programador... y no slo porque los lenguajes de programacin no
haban evolucionado, sino porque se deba manejar el computador
desde la consola y la consola en aquellos tiempos significaba un
puado de interruptores . Afortunadamente, esto ha ido cambiando y
se lo debemos, en parte, a que han nacido y evolucionado los sistemas
operativos. Como tambin lo han hecho las mquinas, los lenguajes de
programacin e incluso las ideas. Figura 1. Ciclo de Programacin

La mayora de los sistemas utilizaban un esquema de reservas o de


VISTA HISTORICA .- registro para asignar tiempo de mquina (Ver Figura 1). Si alguien quera
usar el computador, acuda a la hoja de registro, buscaba el siguiente
En un principio solo exista el hardware del computador. Los tiempo libre de la mquina que fuera conveniente y se anotaba para
primeros computadores eran (fsicamente) grandes mquinas que se usarla. Sin embargo, con este procedimiento se presentaban ciertos
operaban desde una consola. El programador escriba un programa y problemas. Por ejemplo, si un programador se haba registrado para
luego lo controlaba directamente. En primer lugar, el programa se usar una hora de tiempo del computador dedicada a ejecutar el
cargaba manualmente en la memoria, desde los interruptores del tablero programa que estaba desarrollando, pero se topaba con algn error
difcil y no poda terminar en esa hora. Si alguien ms haba reservado el

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 2
Apuntes n1 Sistemas Operativos

siguiente bloque de tiempo, el programador deba detenerse, rescatar lo que logren el mayor nmero posible de clculos. El cambio a los
que pudiera y volver mas tarde para continuar. Por otra parte, si el sistemas por lotes con secuenciacin automtica de trabajos se efectu
programa se ejecutaba sin problemas, podra terminar en 35 minutos; para mejorar el rendimiento. El problema es que las personas somos
pero como pens que necesitara la mquina durante ms tiempo, se demasiado lentas. Por lo tanto, es deseable sustituir la intervencin
registr para usarla una hora, y esta permanecera inactiva durante 25 humana por el software del sistema operativo. An con esta
minutos. secuenciacin automtica de trabajos, la CPU todava tiene periodos de
inactividad. El problema es la velocidad de los dispositivos mecnicos de
Conforme transcurri el tiempo, se desarrollaron hardware y E/S, los cuales son intrnsecamente ms lentos que los dispositivos
software adicionales; empezaron a popularizarse los lectores de tarjetas, electrnicos. Una CPU lenta trabaja en el orden de los microsegundos,
impresoras de lneas y cintas magnticas. Se disearon ensambladores, pues ejecuta millones de instrucciones por segundo. La solucin que se
cargadores y ligadores para facilitar las tareas de programacin, y se encontr a esto fue el uso de buffers que se anticipaban al programa
crearon bibliotecas de funciones comunes, de manera que stas podan leyendo los datos y dejndolos en memoria antes de que se produjese la
copiarse a un nuevo programa sin tener que escribirlas de nuevo. orden de leerlos, con lo que se acelera la ejecucin total del programa.

Por otro lado, se poda necesitar un considerable tiempo de


operacin para realizar un trabajo. Cada trabajo consista en varios
pasos distintos: cargar la cinta del compilador del compilador p.e. DEFINICION .-
FORTRAN, ejecutar el compilador, descargar la cinta del compilador,
cargar la cinta del ensamblador, ejecutar el ensamblador, descargar la Un sistema operativo (Def. Peterson) es un programa que acta
cinta del ensamblador, cargar el programa objeto y ejecutarlo. Si ocurra como una interfaz entre el usuario de un computador y el hardware del
un error en cualquiera de los pasos, probablemente habra que mismo, ofreciendo el entorno necesario para que el cual el usuario
comenzar desde el principio. Cada paso del trabajo poda ocasionar la pueda ejecutar programas. As, el objetivo principal de un sistema
necesidad de cargar y descargar cintas magnticas, tarjetas operativo es facilitar el uso del sistema informtico y el objetivo
perforadoras, etc. por lo que al avanzar el tiempo aparecieron los secundario es el empleo del hardware del computador de manera
primeros sistemas operativos . eficiente .

Los computadores, sobretodo los centrales de gran tamao, han sido Una definicin ms comn es que el sistema operativo es el
siempre mquinas muy costosas. Por ello, los dueos han deseado que programa que se ejecuta todo el tiempo en el computador, siendo todos
estas mquinas efecten la mayor cantidad posible de clculos. Hoy en los dems, programas de aplicacin.
da, esta situacin tambin se aplica a los microprocesadores de menor
costo, de los cuales, a pesar de no ser tan costosos, siempre se espera

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 3
Apuntes n1 Sistemas Operativos

El sistema operativo controla y coordina el uso del hardware por parte necesidad de controlar los distintos dispositivos de E/S y los
de los distintos programas de aplicacin de los diversos usuarios. As, al programas de usuario.
sistema operativo lo podemos considerar:
Sin embargo, en general, no existe una definicin
Similar a un GOBIERNO . Los recursos bsicos de un sistema completamente adecuada de SISTEMA OPERATIVO. Los S.O. existen
informtico son el hardware, el software y los datos. El sistema porque son una va razonable para resolver el problema de crear un
operativo facilita los medios para el uso adecuado de estos sistema informtico manejable.
recursos durante la operacin del sistema informtico. Al igual
que un gobierno, el S.O. no realiza por s mismo una funcin til,
simplemente crea el entorno en el que otros programas puedan
hacer un trabajo til.

Como un ASIGNADOR DE RECURSOS . Un sistema


informtico tiene muchos recursos (hardware y software)
susceptibles de ser requeridos para resolver un problema: tiempo
de CPU, espacio en memoria, espacio de almacenamiento en
archivos, dispositivos de entrada/salida (E/S), etc. El sistema
operativo acta como el gestor de estos recursos y los asigna a
programas y usuarios especficos, segn las necesidades (Ver
Figura 2). Como puede haber muchas solicitudes de recursos,
posiblemente conflictivas entre s, el S.O. tiene que decidir a que
solicitudes se asignan los recursos para que el sistema S.O.
informtico opere fcil y eficientemente.

Como un PROGRAMA DE CONTROL , en el sentido de que


supervisa la ejecucin de los programas de usuario para evitar
errores y el uso inadecuado del computador. A l concierne
especialmente la operacin y el control de los dispositivos de E/S.
Es una concepcin ligeramente distinta ya que se centra en la

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 4
Apuntes n1 Sistemas Operativos

Posiblemente sea ms sencillo, definir los sistemas operativos por lo que


HACEN ms que por lo que SON . Su objetivo fundamental es la
utilidad para el usuario . Los S.O. existen porque se supone que es
ms fcil utilizar el computador con ellos que sin ellos.

El funcionamiento eficiente del sistema informtico, es un


objetivo secundario, especialmente importante en los grandes sistemas
multisuarios. Tales sistemas suelen ser muy caros y por tanto es
deseable que sean lo ms eficientes posibles. Estos dos objetivos,
utilidad y eficiencia, a veces son contradictorios. En el pasado, las
consideraciones de eficiencia solan ser ms importantes que la utilidad.
As, gran parte de la teora de los sistemas operativos se concentra en el
uso ptimo de los recursos del computador.

Los sistemas operativos y la arquitectura del computador se han influido


mutuamente. Para facilitar el empleo del hardware se desarrollaron los
sistemas operativos. A medida que se diseaban y utilizaban, se hizo
obvio que ciertos cambios en el diseo del hardware podran influir en
los sistemas operativos.

CARACTERISTICAS GENERALES .-

En general se puede decir que el Sistema Operativo posee las


siguientes caractersticas:

o Conveniencia . (hace ms conveniente el uso del computador)


Fig.2 - Recursos administrados por el S.O. o Eficiencia . (permite que los recursos del computador se usen
eficientemente)

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 5
Apuntes n1 Sistemas Operativos

o Administrar el hardware . (se encarga de manejar de una mejor Consta del programa ejecutable, sus datos y pila,
manera los recursos del computador en cuanto a hardware contador y otros registros, adems de la informacin
se refiere, asignando a cada proceso una parte del necesaria para ejecutar el programa.
procesador para poder compartir los recursos) La informacin de control relacionada con los procesos
o Organizar datos para acceso rpido y seguro . se almacena en una tabla de procesos :
o Permite que se puedan compartir el hardware y los datos entre o Es administrada por el S. O.
los usuarios . o Posee un arreglo de estructuras, una por cada
o Facilitar las Entradas y Salidas . (debe hacerle fcil al usuario la proceso existente en ese momento.
manipulacin de los dispositivos de E/S) Un proceso (suspendido) consta de:
o Evita que otros usuarios interfieran . (e.d. evita que los usuarios o Un espacio de direccin.
se bloqueen entre ellos, informndoles si esa aplicacin esta o Los datos pertinentes de la tabla de procesos.
siendo ocupada por otro usuario) Un proceso puede crear procesos hijo y con estos
o Manejar las comunicaciones en red . (permite al usuario manejar nuevos procesos hijo, conformar un rbol de
con alta facilidad todo lo referente a la instalacin y uso de procesos .
las redes de computadores)
o Tcnicas de recuperacin de errores . 2)ARCHIVOS :
o Habilidad para evolucionar . (deber construirse de manera que
permita el desarrollo, prueba o introduccin efectiva de Una de las funciones principales del S. O. es brindar
nuevas funciones del sistema sin interferir con el servicio) independencia de dispositivos.
Muchos S. O. soportan el concepto de directorio como
una forma de agrupar archivos.
Los directorios se estructuran jerrquicamente, por lo
CONCEPTOS DE SISTEMAS OPERATIVOS .- que a cada archivo le corresponde una ruta de
acceso .
En general los ms representativos son los siguientes: Existen distintos esquemas de seguridad de archivos
en los distintos S. O.
1)PROCESOS :
Es el concepto central de todos los S. O. 3)LLAMADAS AL SISTEMA :
Es bsicamente un programa en ejecucin.
Permiten a los programas comunicarse con el S. O. y
solicitarle servicios.

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 6
Apuntes n1 Sistemas Operativos

A cada llamada le corresponde un procedimiento: el trabajo mientras ste se ejecuta. El trabajo se prepara y se enva.
o Pone los parmetros de la llamada en un lugar Tiempo despus aparece la salida.
especfico para luego ejecutar una instruccin
de llamada a procedimiento protegido para
iniciar el S. O.
o Luego el S. O. recupera el control, examina los 2) MULTIPROGRAMACIN.
parmetros y si son vlidos ejecuta el trabajo
solicitado. Un solo usuario no puede, en general, mantener todo el tiempo
o Luego de terminar, el S. O. coloca un cdigo de ocupada a la UCP o a los dispositivos de E/S. La multiprogramacin
estado en un registro indicando si tuvo xito o aumenta la utilizacin de la UCP organizando los trabajos de manera
fracaso y ejecuta una instruccin del tipo que sta siempre tenga algo que ejecutar. El S.O. escoge uno de los
return para regresar el control al trabajos del depsito y comienza a ejecutarlo. En algn momento el
procedimiento. trabajo tendr que esperar, ya que el sistema ha pasado el control a otro
o El procedimiento regresa al programa llamador programa y as sucesivamente. Mientras haya otro trabajo por ejecutar,
con un cdigo de estado como un valor de la UCP nunca estar inactiva.
funcin; dentro de los parmetros pueden
regresar valores adicionales. Los sistemas operativos multiprogramados son bastante
sofisticados. Tener varios trabajos dispuestos para su
ejecucin, supone mantenerlos simultneamente
en memoria.
GESTION DE PROCESOS DE UN SISTEMA OPERATIVO
(Tipos de) .-
s.o.
Fig.3 Imagen abstracta
de la distribucin de
trabajo 1 memoria para un sistema
1) SISTEMAS POR LOTES. mutiprogramado.
trabajo 2
Cuando se desarrollaron por primera vez, estaban
trabajo 3
caracterizados por la "agrupacin en bloques" de trabajos similares. Los
modernos sistemas utilizan otras caractersticas. El rasgo caracterstico
de un sistema por lotes es la ausencia de interaccin entre el usuario y

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 7
Apuntes n1 Sistemas Operativos

trabajo 4

Dentro de los sistemas multiprogramados tenemos tres tipos: Fig.4 Tiempo Compartido

2.1) Tiempo compartido.


2.2) Tiempo real.
Utiliza la planificacin de la UCP y la multiprogramacin para
proporcionar a cada usuario, que tiene su propio programa en memoria, Suele usarse como dispositivo de control en una aplicacin
una pequea porcin del computador con tiempo compartido. La E/S dedicada. Tiene restricciones temporales bien definidas, por lo que el
interactiva es demasiado lenta para un computador por lo que, para que procesamiento debe llevarse a cabo dentro de los lmites definidos o el
la UCP no permanezca inactiva, el S.O. la cambiar al programa de otro sistema fallar. Puede parecer extraa la utilidad de este tipo de gestin,
usuario. sto ocurre tan rpidamente que cada usuario tiene la as que pondremos un ejemplo: una nave espacial se dispone a
impresin de que cuenta con su propio computador, cuando en realidad acoplarse a la estacin espacial MIR, nos interesa conocer las
todos lo comparten. coordenadas de la MIR en todo momento para compararlas con las
nuestras y as actuar en consecuencia. De nada nos sirve que se
resuelvan los clculos una vez nos hemos estrellado porque un
tty astronauta estaba jugando con el mismo computador al tetris y este
consuma toda la potencia de clculo del computador.

SENSOR
UCP tty

UCP

tty

CONTROL
1Periodo : 1 Semestre de 2004.
tty
( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 8
Apuntes n1 Sistemas Operativos

operadores y los trabajos semejantes se agruparon en lotes. El


computador ya no tena que esperar la intervencin humana, aun as, la
Fig.5 Tiempo Real utilizacin de la UCP era muy lenta. Con el fin de mejorar el rendimiento
global del sistema se introdujo el concepto de multiprogramacin,
gracias al cual se almacenan en la memoria varios trabajos al mismo
tiempo, lo que aumenta el rendimiento de la UCP y reduce el tiempo de
2.3) Combinados. ejecucin de los trabajos.

Es una mezcla de los dos anteriores. Aunque se ha intentado


combinar la funcionalidad del tiempo compartido y el tiempo real en un
solo S.O., los resultados han sido psimos debido a los obvios conflictos TIPOS DE SISTEMAS OPERATIVOS .-
entre los requisitos de ambos tipos.

3) SISTEMAS DISTRIBUIDOS. A continuacin se vern tres clasificaciones:


Es un sistema dbilmente acoplado, es decir, los procesadores 1) S istemas O perativos por su estructura (visin interna),
no comparten ni memoria ni reloj, cada uno cuenta con su propia 2) S istemas O perativos por los servicios que ofrecen y, finalmente,
memoria local y se comunican a travs de distintas lneas de 3) S istemas O perativos por la forma en que ofrecen sus servicios
comunicacin. Los procesadores pueden variar de tamao y funcin. (visin externa).
Las principales ventajas son:

o Comparticin de recursos. 1) S.O. POR SU ESTRUCTURA . (Visin Interna)


o Aceleracin de los clculos.
o Fiabilidad.
o Comunicacin. Aqu, se examinan las diferentes posibilidades de implementacin de un
S.O. por dentro, es decir, no como organiza el sistema operativo al
Como resumen, diremos que en un principio los computadores resto de los programas, sino como se organiza respecto a s mismo.
se utilizaban desde la consola central pero posteriormente el software
mejor la comodidad de programar, aunque necesitaba un tiempo
considerable de preparacin. Para reducir este tiempo, se contrataron 1.1) Estructura Monoltica.

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 9
Apuntes n1 Sistemas Operativos

Es la estructura de los primeros sistemas operativos constituidos A medida que fueron creciendo las necesidades de los usuarios y
fundamentalmente por un slo programa compuesto de un conjunto de se perfeccionaron los sistemas, se hizo necesaria una mayor
rutinas entrelazadas de tal forma que cada una puede llamar a cualquier organizacin del software, del sistema operativo, donde una parte del
otra. Sus caractersticas principales son: sistema contena subpartes y esto organizado en forma de niveles. Se
dividi el sistema operativo en pequeas partes, de tal forma que cada
Construccin del programa final a base de mdulos una de ellas estuviera perfectamente definida y con una clara interfaz
compilados separadamente que se unen a travs del ligador. con el resto de elementos.
Carecen de protecciones y privilegios al entrar a rutinas que Se constituy una estructura jerrquica o de niveles en los
manejan diferentes aspectos de los recursos de la computadora, sistemas operativos, el primero de los cuales fue denominado THE
como memoria, disco, etc. (Technische Hogeschool, Eindhoven), de Dijkstra, que se utiliz con fines
didcticos (Figura 7). Se puede pensar tambin en estos sistemas como
si fueran `multicapa'. Multics y Unix caen en esa categora y
prcticamente la mayora de los sistemas operativos actuales.

(Fig.6)

(Fig.7)
Estn generalmente hechos a medida, por lo que son eficientes y
rpidos en su ejecucin y gestin, pero por lo mismo carecen de
flexibilidad para soportar diferentes ambientes de trabajo o tipos de
aplicaciones.

1.2) Estructura Jerrquica.

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 10
Apuntes n1 Sistemas Operativos

Otra forma de ver este tipo de sistema es la denominada de anillos


concntricos.(Fig.8).
1.3) Mquina Virtual.

Se trata de un tipo de sistemas operativos que presenta 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 los 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 ( Ver Figura 9 ).
(Fig.8)

En el sistema de anillos, cada uno tiene una apertura, conocida


como puerta o trampa (trap), 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. Las capas ms internas
sern, por tanto, ms privilegiadas que las externas.

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 11
Apuntes n1 Sistemas Operativos

programa de aplicacin normal es un cliente que llama al servidor


correspondiente para acceder a un archivo o realizar una operacin de
entrada/salida sobre un dispositivo concreto. A su vez, el proceso cliente
puede actuar como servidor para otro." Este paradigma ofrece gran
flexibilidad en cuanto a los servicios posibles en el sistema final, ya que
el ncleo provee solamente funciones muy bsicas de memoria,
entrada/salida, archivos y procesos, dejando a los servidores proveer la
mayora que el usuario final o programador puede usar. Estos servidores
deben tener mecanismos de seguridad y proteccin que, a su vez, sern
filtrados por el ncleo que controla el hardware. Actualmente se est
trabajando en una versin de UNIX que contempla en su diseo este
paradigma.

Aplicacin Servidor de
(Fig.9) cliente Servidor de red
memoria

Servidor de
Servidor de despliegue
1.4) Cliente-servidor. archivos

Es el tipo ms reciente de sistemas operativos. Puede ser


ejecutado en la mayora de los computadores, ya sean grandes o Microkernel
pequeos. Este sistema sirve para toda clase de aplicaciones por tanto,
es de propsito general y cumple con las mismas actividades que los
sistemas operativos convencionales. Hardware

El ncleo (Kernel o microkernel) tiene como misin establecer la Llamada


(Fig.10) Cliente-servidor
comunicacin (servir de puente ) entre los clientes y los servidores. Los Respuesta
procesos pueden ser tanto servidores como clientes. Por ejemplo, un

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 12
Apuntes n1 Sistemas Operativos

El sistema operativo se ejecuta en modo central o modo de


1.5) De Objetos. supervisin (denominado tambin modo kernel ), con mxima prioridad
y generalmente con proteccin por hardware. Los compiladores, editores
En muchos sistemas grandes es difcil determinar un cuerpo y dems programas se ejecutan en modo usuario . Considerando lo
principal en un sistema operativo. Por eso en vez de intentar disear un anterior, podemos tener las figuras 11, 12 y 13 siguientes para un
sistema de arriba a abajo, la metodologa orientada a objetos, se enfoca sistema operativo monoltico, en capas y cliente-servidor
inicialmente en los datos que el software tiene que manipular para hacer respectivamente.
su trabajo. Para un sistema operativo, esos datos toman la forma de
recursos del sistema, archivos, procesos, bloques de memoria, etc.

La meta ms importante de disear un sistema alrededor de los


datos es crear un software que sea fcil y barato de cambiar. La
importancia de que se pueda modificar se convierte evidente cuando se
considera que el 70% del costo del software es debido al mantenimiento.
Este mantenimiento incluye cambios como incluir nuevas caractersticas,
modificar el formato de los datos, arreglar errores, e incluir nuevo
hardware.

Un modo en que la orientacin a objetos minimiza el cambio


es escondiendo la representacin fsica de los datos con los objetos .
Un objeto es una estructura de datos que su formato fsico est
escondido detrs de una definicin de un tipo. Engloba a un conjunto de
propiedades, llamadas atributos, y es manipulado a travs de una serie
de servicios.

COMPARATIVA GRFICA
Figura 11: Sistema operativo monoltico.

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 13
Apuntes n1 Sistemas Operativos

Figura 13: Sistema operativo cliente/servidor.

2) S.O. POR SERVICIOS . (Visin externa)

Esta clasificacin es la ms comnmente usada y conocida


desde el punto de vista del usuario final. Esta clasificacin se comprende
fcilmente con el cuadro sinptico que se muestra a continuacin en la
Figura 14.

Figura 12: Sistema operativo en capas

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 14
Apuntes n1 Sistemas Operativos

operativos de los computadores personales (PCs), tpicamente se han


clasificado en esta categora.

2.2 ) Multiusuarios.

Los sistemas operativos multiusuarios son capaces de dar


servicio a ms de un usuario a la vez , ya sea por medio de varias
terminales conectadas al computador 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.

2.3 ) Monotareas.

Los sistemas monotarea son aquellos que slo permiten una


tarea a la vez por usuario. Puede darse el caso de un sistema
multiusuario y monotarea, en el cual se admiten varios usuarios al
mismo tiempo pero cada uno de ellos puede estar haciendo solo una
tarea a la vez.

(Fig.14) 2.4 ) Multitareas.

2.1 ) Monousuarios. Un sistema operativo multitarea es aqul que le permite al


usuario estar realizando varias labores al mismo tiempo. Por ejemplo, se
Los sistemas operativos monousuarios son aqullos que puede estar editando el cdigo fuente de un programa durante su
soportan a un usuario a la vez, sin importar el nmero de procesadores depuracin mientras compila otro programa, a la vez que est recibiendo
que tenga el computador o el nmero de procesos o tareas que el correo electrnico en un proceso en background. Es comn encontrar en
usuario pueda ejecutar en un mismo instante de tiempo. Los sistemas ellos interfaces grficas orientadas al uso de mens y el ratn, lo cual

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 15
Apuntes n1 Sistemas Operativos

permite un rpido intercambio entre las tareas para el usuario, Existen aplicaciones que fueron hechas para correr en sistemas
mejorando su productividad. monoproceso que no toman ninguna ventaja a menos que el sistema
operativo o el compilador detecte secciones de cdigo paralelizable, los
2.5 ) Uniproceso. cuales son ejecutados al mismo tiempo en procesadores diferentes . Por
otro lado, el programador puede modificar sus algoritmos y aprovechar
Un sistema operativo uniproceso es aqul que es capaz de por s mismo esta facilidad, pero esta ltima opcin las ms de las veces
manejar solamente un procesador de la computadora, de manera que si es costosa en horas hombre y muy tediosa, obligando al programador a
la computadora tuviese ms de uno le sera intil. El ejemplo ms tpico ocupar tanto o ms tiempo a la paralelizacin que a elaborar el algoritmo
de este tipo de sistemas es el DOS y tambin el MacOS. inicial.

2.6 ) Multiproceso.
3) S.O. POR LA FORMA DE OFRECER SUS SERVICIOS . (Visin
Un sistema operativo multiproceso se refiere al nmero de externa)
procesadores del sistema, que es ms de uno y ste es capaz de
usarlos todos para distribuir su carga de trabajo. Generalmente estos Esta clasificacin tambin se refiere a una visin externa, que en
sistemas trabajan de dos formas: simtrica o asimtricamente . este caso se refiere a la del usuario, el cmo accesa los servicios. Bajo
Cuando se trabaja de manera asimtrica, el sistema operativo esta clasificacin se pueden detectar dos tipos principales: sistemas
selecciona a uno de los procesadores el cual jugar el papel de operativos de red y sistemas operativos distribudos propiamente tal.
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 3.1 ) Sistemas Operativos de Red.
enviados indistintamente a cualesquiera de los procesadores
disponibles, teniendo, tericamente, una mejor distribucin y equilibrio
en la carga de trabajo bajo este esquema. Los sistemas operativos de red se definen como aquellos que
tienen la capacidad de interactuar con sistemas operativos en otras
Se dice que un thread es la parte activa en memoria y corriendo computadoras por medio de un medio de transmisin con el objeto de
de un proceso, lo cual puede consistir de un rea de memoria, un intercambiar informacin, transferir archivos, ejecutar comandos remotos
conjunto de registros con valores especficos, la pila y otros valores de y un sin fin de otras actividades. El punto crucial de estos sistemas es
contexto. Un aspecto importante a considerar en estos sistemas es la que el usuario debe saber la sintaxis de un conjunto de comandos o
forma de crear aplicaciones para aprovechar los varios procesadores. llamadas al sistema para ejecutar estas operaciones, adems de la

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 16
Apuntes n1 Sistemas Operativos

ubicacin de los recursos que desee accesar. Lo importante es hacer ver recursos como una sola entidad en forma transparente se le llama
que el usuario puede accesar y compartir muchos recursos remotos va sistema operativo distribudo . Las razones para crear o adoptar
el sistema operativo. sistemas distribudos se dan por dos razones principales: por necesidad
( debido a que los problemas a resolver son inherentemente
3.2 ) Sistemas Operativos Distribudos. distribudos ) o porque se desea tener ms confiabilidad y disponibilidad
de recursos. En el primer caso tenemos, por ejemplo, el control de los
cajeros automticos en diferentes regiones de un pas. Ah no es posible
Los sistemas operativos distribudos abarcan los servicios de los ni eficiente mantener un control centralizado, es ms, no existe
sistemas operativos de red, logrando integrar recursos ( impresoras, capacidad de cmputo y de entrada/salida para dar servicio a los
unidades de respaldo, memoria, procesos, unidades centrales de millones de operaciones por minuto. En el segundo caso, supngase
proceso ) en una sola mquina virtual que el usuario accesa en forma que se tienen en una gran empresa varios grupos de trabajo, cada uno
transparente. Es decir, ahora el usuario ya no necesita saber la necesita almacenar grandes cantidades de informacin en disco duro
ubicacin de los recursos, sino que los conoce por nombre y con una alta confiabilidad y disponibilidad. La solucin puede ser que
simplemente los usa como si todos ellos fuesen locales a su lugar de para cada grupo de trabajo se asigne una particin de disco duro en
trabajo habitual. Todo lo anterior es el marco terico de lo que se servidores diferentes, de manera que si uno de los servidores falla, no se
deseara tener como sistema operativo distribudo, pero en la realidad no deje dar el servicio a todos, sino slo a unos cuantos y, ms an, se
se ha conseguido crear uno del todo, por la complejidad que suponen: podra tener un sistema con discos en espejo ( mirror ) a travs de la
distribur los procesos en las varias unidades de procesamiento, red, de manera que si un servidor se cae, el servidor en espejo contina
reintegrar sub-resultados, resolver problemas de concurrencia y trabajando y el usuario ni cuenta se da de estas fallas, es decir, obtiene
paralelismo, recuperarse de fallas de algunos recursos distribudos y acceso a recursos en forma transparente.
consolidar la proteccin y seguridad entre los diferentes componentes
del sistema y los usuarios. Los avances tecnolgicos en las redes de
rea local y la creacin de microprocesadores de 32 y 64 bits lograron TENDENCIAS
que computadoras mas o menos baratas tuvieran el suficiente poder en
forma autnoma para desafiar en cierto grado a los mainframes, y a la
vez se dio la posibilidad de intercomunicarlas, sugiriendo la oportunidad Las principales tendencias en los S. O. son las siguientes:
de partir procesos muy pesados en clculo en unidades ms pequeas y
distribuirlas en los varios microprocesadores para luego reunir los sub- Soporte generalizado para multiprocesamiento.
resultados, creando as una mquina virtual en la red que exceda en
poder a un mainframe. El sistema integrador de los microprocesadores
Migracin hacia el microcdigo de funciones de los S. O.
realizadas por software.
que hace ver a las varias memorias, procesadores, y todos los dems

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 17
Apuntes n1 Sistemas Operativos

Permanencia de la perspectiva del S. O. como administrador de


Distribucin del control entre procesadores localizados. recursos, teniendo presente que los datos sern considerados
cada vez ms como un recurso para ser administrado.

Profundizacin de los esquemas de mquinas virtuales.


Profundizacin del desarrollo de S. O. con funciones distribuidas
entre varios procesadores a travs de grandes redes de sistemas.
Compatibilidad con nuevas generaciones de computadores.

Desarrollos en la ingeniera de software para brindar S. O. ms


preservables, confiables y comprensibles. ANEXO

VISTA HISTORICA DE LOS S. O. A TRAVES DE


Proliferacin de redes de sistemas, distribuyendo tareas en GENERACIONES.-
equipos sobre los que el usuario puede no tener conocimiento ni
control con nfasis en la importancia de la perspectiva de las Los S. O. han estado histricamente relacionados con la
mquinas virtuales. arquitectura de las computadoras en las cuales se ejecutan, razn por la
cual su historia puede analizarse segn las siguientes generaciones y
sus principales caractersticas.
Permanencia del concepto de almacenamiento virtual. Generacin Cero (dcada de 1940): Carencia total de S. O. Completo
acceso al lenguaje de mquina.
Mejora de la eficiencia en el soporte de la ejecucin concurrente Primera generacin (1945-1955): bulbos y conexiones. Carencia de
de programas. S. O. Comienzan en los aos cincuenta como transicin entre trabajos,
haciendo la misma ms simple. Realizando a veces directamente las
conexiones elctricas. Alrededor de 1950 se introducen las tarjetas
perforadas.

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.
C I I S A 18
Apuntes n1 Sistemas Operativos

Segunda generacin (1955-1965): transistores y sistemas de


procesamiento por lotes (bach). Los programas y datos se entregaban
en tarjetas, se acumulaban y luego eran procesados todos juntos por la
mquina, buscando minimizar los tiempos muertos.

Tercera generacin (1965-1980): circuitos integrados y


multiprogramacin. El sistema 360 de IBM unifica computadoras
comerciales y cientficas en una sola lnea de mquinas con software
compatible. Se introduce la multiprogramacin, que divide la memoria en
partes y ejecuta un programa distinto en cada una. El spooling
(Simultaneous Peripheral Operation On Line) permite la operacin
simultnea y en lnea de perifricos. El tiempo compartido es una
variante de multiprogramacin que habilita a cada usuario una terminal
en lnea. MULTICS, un gigantesco sistema operativo, fracasa en su
construccin pero aporta muchas ideas que hacen surgir UNIX.
Aparecen los sistemas de tiempo real, que requieren tiempos de
respuesta muy exigentes, especialmente para usos industriales o
militares. Se difunden las computadoras de rango medio.

Cuarta generacin (1980-1990): estaciones de trabajo y computadoras


personales. Sistemas operativos DOS y UNIX. Software "amigable con
el usuario" destinado a usuarios no profesionales y con una interfase
grfica muy desarrollada. Desarrollo de sistemas operativos de red, con
varias computadoras interconectadas que pueden ser accedidas por un
mismo usuario. Tambin desarrollo de sistemas operativos distribudos,
compuestos por varios procesadores que se presentan al usuario como
un sistema nico.

1Periodo : 1 Semestre de 2004.


( Ver. R.003 CIISA 2004 )
Profesor : Ral Carvajal S.

You might also like