Sei sulla pagina 1di 28

Tema I

Introduccin a los Sistemas Operativos

Evolucin del Sistema Operativo


Un SO evolucionar en el tiempo por una serie de razones:

Actualizaciones de hardware y nuevos tipos de hardware.


Nuevos servicios.

Correcciones.

Evolucin del Sistema Operativo


La historia de los SOs esta ligada a:
La rpida evolucin del hardware $ decreciente, con el nivel de integracin Adaptacin $ creciente precio de la mano de obra

Estadsticas Sistema Operativo

http://gs.statcounter.com [Consultada 01 de Febrero]

Estadsticas Sistema Operativo

http://gs.statcounter.com [Consultada 01 de Febrero]

Estadsticas Sistema Operativo

http://www.netmarketshare.com [Consultada 01 de Febrero]

Estadsticas Sistema Operativo

http://www.netmarketshare.com [Consultada 01 de Febrero]

Proceso en serie
El programador interactuaba directamente con el hardware. Adems, reservaba un tiempo en la computadora para compilar, cargar y ejecutar el programa. Despus cede el turno a otro usuario segn una planificacin en papel. No haba SO. Existe interactividad. Problemas:

1. Uso ineficiente de recursos (mquina permanece ociosa mucho tiempo). 2. Monousuario. 3. Alto tiempo de preparacin de tarea (setup time).

Sistemas sencillos de Proceso por Lotes


El usuario entregaba su programa como un conjunto de tarjetas perforadas con otras tarjetas de control que codificaban las acciones requeridas, escritas en Lenguaje de Control de Trabajos (JCL, Job Control Language), al operador que juntaba varios trabajos en un lote. El monitor (software que controlaba los programas que estaban en funcionamiento) lea un trabajo, lo ceda al procesador. Cuando el trabajo terminaba, devolva el control al monitor que pasaba al trabajo siguiente. Exista un sistema operativo residente en memoria principal, listo para ser ejecutado cuando era requerido.

Sistemas sencillos de Proceso por Lotes


Mejoras: Eficiencia (computadora menos ociosa). Preparacin de trabajos se hace por el monitor. Problemas: 1. No interactivo. Dificultad para debugging. 2. Un trabajo puede monopolizar la computadora. Se requiere de un temporizador. 3. Evitar que un trabajo invada la zona de memoria del monitor. 4. Sistema operativo ms complejo (Proteccin de memoria). 5. El monitor consume recursos, provocando ineficiencia en el uso de los recursos del sistema (procesador y dispositivos).

Sistemas por Lotes con Multiprogramacin


Igual que los Sistemas sencillos de Proceso por Lotes pero ahora se pueden ejecutar varios trabajos a la vez: mientras un trabajo se ejecuta en el procesador, otro puede realizar operaciones E/S. El monitor es el SO. Se mejora an ms la eficiencia. Problemas:

1. No interactivo Hardware ms complejo 2. Interrupciones + DMA (Direct Memory Access) Sistema Operativo ms complejo 3. Proteccin de memoria + Planificacin de procesos.

Sistemas de Tiempo Compartido


Utiliza la multiprogramacin para administrar varias tareas interactivas. El tiempo del procesador se comparte entre los diversos usuarios, es decir, a cada usuario se le cede un quantum hasta que le vuelve a tocar el turno. Mltiples usuarios acceden simultneamente al sistema por medio de terminales. Cuenta con un sistema operativo. Mejoras:
o
o

Es Interactivo. Es altamente eficiente (el procesador no permanece ocioso).

Sistemas de Tiempo Compartido


Problemas:

1. Hardware ms complejo
(Interrupciones de tiempo) 2. Sistema operativo ms complejo

(Almacenar el estado de ejecucin de un proceso cuando se saca del procesador + Proteccin de memoria + Seguridad de archivos)

Estructura de los Sistemas Operativos

Sistemas Operativos Monolticos


No tiene una estructura clara y bien definida. Todos sus componentes se encuentran integrados en un nico programa (el sistema operativo) que ejecuta en un nico espacio de direcciones. Todas las funciones que ofrece el sistema operativo se ejecutan en modo ncleo. Estos sistemas operativos han surgido de sistemas operativos sencillos y pequeos a los que se les ha ido aadiendo ms funcionalidades. Esto les ha hecho evolucionar y crecer hasta convertirlos en programas grandes y complejos formados por muchas funciones situadas todas ellas en un mismo nivel. Ejemplos: MS-DOS y UNIX

Sistemas Operativos Monolticos


La estructura bsica para este tipo de SO es: Un programa principal que invoca el procedimiento solicitado. Un conjunto de procedimientos de servicio se llevan a cabo las llamadas al sistema. Un conjunto de procedimientos de utilera que ayudan a los procedimientos de servicio. En este modelo, para cada llamada al sistema procedimiento de servicio que se ocupa de ella. hay un

Los procedimientos de utilera hacen cosas que varios procedimientos de servicio necesitan, como obtener datos de los programas de usuario.

Sistemas Operativos Monolticos


Esta divisin de los procedimientos en tres capas se muestra en la siguiente figura:
Procedimiento personal

Procedimientos de servicio

Procedimientos de utilera

Sistemas Operativos Monolticos


Problemas:

Resulta complicado modificar el sistema operativo para aadir nuevas funcionalidades y servicios.
En este tipo de sistemas no se sigue el principio de ocultacin de la informacin. Para solucionar este problema es necesario dotar de cierta estructura al sistema operativo.

Sistemas Operativos Estructurados

Sistemas por Capas

El SO se organiza como una jerarqua de capas donde cada capa ofrece una interfaz clara y bien definida a la capa superior y solamente utiliza los servicios que le ofrece la capa inferior. La principal ventaja que ofrece este tipo de estructuras es la modularidad y la ocultacin de la informacin. Una capa no necesita conocer cmo se ha implementado la capa sobre la que se construye, nicamente necesita conocer la interfaz que ofrece. Esto facilita enormemente la depuracin y verificacin del sistema, puesto que las capas se pueden ir construyendo y depurando por separado.

Sistemas Operativos por Capas

THE

Construido en la Technische Hogeschool Eindhoven de los Pases Bajos por E.W. Dijkstra (1968) y sus estudiantes.

El sistema THE era un sencillo sistema por lotes para una computadora holandesa, la Electrologica X8, que tena 32K de palabras de 27 bits. El sistema tena seis capas:
Capa
5 4 3 2 1 0

Funcin
El operador Programas de usuario Administracin de E/S Comunicacin operador-proceso Administracin de memoria Planificacin de la CPU y multiprogramacin

Sistemas Operativos por Capas

Multics

En lugar de estar organizado por capas, estaba organizado como una serie de anillos concntricos, siendo los interiores ms privilegiados que los exteriores. Cuando un procedimiento del anillo exterior quera invocar a uno de un anillo interior, tena que emitir un equivalente de una llamada al sistema, es decir, una instruccin TRAP cuyos parmetros se examinaban cuidadosamente para comprobar su validez antes de permitir que la llamada procediera.

Sistemas Operativos por Capas

Multics

Intrprete de comandos

Aplicacin de Usuario

Gestin de informacin Gestin de memoria Gestin de E/S

Spool Gestin de CPU

Sistemas Operativos Estructurados

Modelo cliente-servidor

El enfoque consiste en implementar la mayor parte de los servicios y funciones del sistema operativo en procesos de usuario, dejando slo una pequea parte del sistema operativo ejecutando en modo ncleo. A esta parte se le denomina microncleo y a los procesos que ejecutan el resto de funciones se les denomina servidores. La estructura de este sistema operativo se muestra en la siguiente figura:
Procesos Cliente
Programa de usuario
API Programa de usuario API

Procesos Servidores
Servidor de Proceso Servidor de memoria Servidor de la e/s
Servidor de archivos y directorios

Servidor de seguridad

Servidor de comunicaciones

Modo Usuario
Modo ncleo

Microncleo Hardware

Sistemas Operativos Estructurados


Ventajas:

Modelo cliente-servidor

Presentan una gran flexibilidad. Cada proceso servidor slo se ocupa de una funcionalidad concreta, lo que hace que cada parte pueda ser sencilla y manejable. Facilita el desarrollo y depuracin de cada uno de los procesos servidores. Desventajas: Presentan una mayor sobrecarga en el tratamiento de los servicios que los sistemas monolticos. Debido a que los distintos componentes de este tipo de SO ejecutan en espacios de direcciones distintos, lo que hace que su activacin requiera ms tiempo. Ejemplos: Minix, Mach, Amoeba, Windows NT (aunque muchos de los servidores se ejecutan en modo de ncleo por eficiencia.)

Mquinas Virtuales
Existe un elemento central llamado monitor de la mquina virtual que:
o o o

Se ejecuta en el hardware. Realiza la multiprogramacin. Proporciona varias mquinas virtuales a la capa superior.

Las mquinas virtuales instrumentan copias exactas del hardware simple, con su modo ncleo/usuario, e/s, interrupciones y todo lo dems que posee una mquina real. Pueden ejecutar cualquier SO que se ejecute en forma directa sobre el hardware. Las distintas mquinas virtuales pueden ejecutar distintos sistemas operativos y en general as lo hacen. Soportan perifricos virtuales. Ejemplos: VM/370 de IBM, VirtualBox, Virtual PC, VmWare, Xen.

Mquinas Virtuales

370 virtuales

Instrucciones de E/S aqu TRAP aqu

CMS

CMS

CMS

Llamadas al sistema aqu TRAP aqu

VM/370
370 hardware simple

Mquinas Virtuales

procesos
procesos

procesos
Interfaz de Programacin kernel VM kernel VM

procesos kernel VM

kernel hardware

Implementacin Mquina Virtual

hardware

Mquina no virtual

Mquina no virtual

Ing. Yesenia Carrera Fournier sofiunam at gmail.com

Semestre 2013-II

Potrebbero piacerti anche