Professional Documents
Culture Documents
Clase 2
La estructura jerrquica del sistema operativo moderno diferencia funciones de acuerdo a su complejidad, sus caractersticas en el tiempo y su nivel de abstraccin. En este caso se puede ver el sistema como una serie de niveles. Cada uno implementa un subconjunto las funciones requeridas por el sistema operativo y a su vez dependen del nivel inmediato inferior para realizar funciones ms elementales y ocultar sus detalles a los niveles superiores a los que proporciona un servicio.
Un enfoque de este tipo se utiliz por primera vez en el sistema operativo THE en la Technische Hogeschool Eindhoven. THE se defini en los seis niveles que se muestran en la siguiente tabla:
Por otra parte que especificar sus requisitos que se pueden dividir en dos grandes grupos: 1. Requisitos del usuario, el usuario desea que el sistema sea como fcil sencillo de utilizar y aprender, fiable, seguro y rpido. 2. Requisitos del sistema, el sistema debe ser fcil de disear, implementar y mantener, flexible, fiable, sin errores y eficiente.
Hay diferentes razones por las que que consideran en el diseo sistema operativo su posible evolucin: 1. Las actualizaciones del hardware y la aparicin de nuevos tipos de mquinas. 2. La posibilidad de aadir nuevos servicios solicitados por los usuarios. 3. La necesidad de corregir fallos detectados despus de un tiempo de funcionamiento.
Una vez diseado el sistema operativo hay que implementarlo en este punto hay que elegir el lenguaje que se piensa utilizar para escribirlo. Inicialmente se codifican ntegramente en lenguaje ensamblador, pero en la actualidad es cada vez ms normal escribirlos en un lenguaje de alto nivel, aunque ciertas partes, muy independientemente del hardware, se escriban en ensamblador.
Las ventajas de utilizar un lenguaje de alto nivel para construir un sistema operativo son las mismas que las de utilizarlos para generar las aplicaciones. Entre estas ventajas se pueden resaltar: 1. el cdigo se puede escribir ms rpidamente. 2. Facilidad de comprender y depurar el cdigo 3. Transportabilidad del SO a otras plataformas.
Las partes ms crticas para lograr un buen rendimiento del sistema operativo son el gestor de memoria y el planificador del procesador perseguido se pueden hacer anlisis y ver qu rutinas pueden degradar el sistema y sustituirla por otras ms optimizadas por escribirla directamente ensamblador.
Un sistema operativo por lotes normalmente lee un flujo de trabajos individuales (de un lector de tarjetas por ejemplo) cada uno con sus propias tarjetas de control que predecan en lo que el trabajo has. Una vez terminado el trabajo su salida generalmente se imprime. La caracterstica definitiva de un sistema por lotes es la falta de interaccin entre el usuario y el trabajo mientras ste se ejecuta. El trabajo se prepara y se entrega y cierto tiempo despus aparece la salida.
En cambio s varios trabajos estn en un dispositivo de acceso directo un disco es posible la planificacin de trabajos. El aspecto ms importante de la planificacin de trabajos es la capacidad de multiprogramar. La operacin fuera de lnea y el spooling para traslapar la E/S tiene sus limitaciones. La multi programacin aumente el aprovechamiento de la CPU organizando los trabajos de tal forma que la CPU siempre tenga uno que ejecutar.
El tiempo compartido o multitareas, es una extensin lgica de la multiprogramacin. Se ejecutan mltiples trabajos mientras la CPU se conmute entre ellos, pero la conmutacin es tan frecuente que los usuarios pueden interactuar con cada programa durante su ejecucin.
Sistemas paralelos
La mayor parte de los sistemas hasta ahora han sido sistemas mono procesador es decir han tenido una sola CPU sin embargo la tendencia actual es hacia los sistemas multiprocesador tales sistemas tienen ms de un procesador en comunicacin ntima los cuales comparten el bus del computador, el reloj y a veces la memoria y los dispositivos perifricos. Decimos que estos sistemas estn fuertemente acoplados
Los multiprocesador es tambin pueden ahorrar dinero en comparacin con varios sistemas mono procesador porque los procesadores pueden compartir perifricos, gabinetes y fuentes de potencia. Si varios programas deben operar con el mismo conjunto de datos, es ms econmico guardar esos datos en un disco y hacer que todos los procesadores los compartan, en vez de tener muchos computadores con discos locales y hacer copias de los datos
Los sistemas de mltiples procesador ms comunes en la actualidad siguen el modelo de multiprocesamiento simtrico, en el que cada procesador ejecuta una copia idntica del sistema operativo y estas copias se comunican entre s cuando es necesario. Algunos sistemas utilizan multiprocesamiento asimtrico, en el que a cada procesador se asigna una tarea especfica. Un procesador maestro controla el sistema, los dems procesadores obtienen sus instrucciones del maestro o bien tienen tareas definidas este esquema definen la relacin maestro esclavo
Sistemas distribuidos
En contraste con los sistemas fuertemente acoplados que vimos anteriormente los procesadores no comparten la memoria ni el reloj. En vez de ello, cada procesador de su propia memoria local. Los procesadores se comunican entre s a travs de diversas lneas de comunicacin, buses de alta velocidad o lneas telefnicas solemos decir que paleta de sistemas estn dbilmente acoplados o distribuidos.
Razones para construir sistemas distribuidos: 1. Recursos compartidos 2. Computacin ms rpida 3. comunicacin
Un sistema operativo de tiempo real tiene restricciones de tiempo fijas bien definidas. El procesamiento debe efectuarse dentro de los intervalos definidos, o el sistema fallar. Podemos contrastar este requisito con un sistema de tiempo compartido, en el que es deseable responder rpidamente, o con un sistema por lotes, en el que tal vez no hay restricciones de tiempo.
Con capas: a medida que fueron creciendo la necesidad de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organizacin software, de sistema operativo, donde una parte del sistema contena sus partes y esto organizado en forma de niveles. Se constituy en estructura jerrquica o de niveles en los sistemas operativos (THE, Technische Hogeschool Eindhoven).
El tipo ms reciente de sistemas operativos es el denominado cliente / servidor o Microkernel, puede ser ejecutada la mayora de los computadores, ya sean grandes o pequeos. ste sistema sirve para toda clase de aplicaciones por tanto, es de propsito general y cumple con las mismas actividades que los sistemas operativos convencionales. El ncleo tiene como misin establecer la comunicacin entre los clientes y los servidores. Los procesos puede hacer tanto servidores como clientes.
Modelos microkernel
Multiusuario: 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 podr ejecutar simultneamente. Algunos sistemas tipo y Unix ofrecen adems de la posibilidad de trabajar con terminales remotas, el trabajo con terminales virtuales esta caracterstica permite emular en una sola mquina el trabajo con varias terminales remotas ya que es posible iniciar sesin como diferentes usuarios.
Mono tarea: son aquellos que slo permite una tarea la vez por usuario. Puede darse el caso de un sistema multiusuario inmol tarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo slo una tarea a la vez ejemplo: MS DOS, MS windows 3.X, 95 (estos sistemas tan slo simulaba la multitarea, pero realmente pertenecen a esta clasificacin).
Multitarea es aquel que le permite el usuario est realizando varias labores al mismo tiempo por ejemplo, puede estar escuchando msica con un reproductor de civil, escribiendo un programa, copiando archivos entre directorios y descargando msica de Internet. Es comn encontrar en ellos interfaces grficas orientadas al uso de mens y el ratn, lo cual permite un rpido intercambio entre las tareas para el usuario mejorando la productividad.
Uniproceso, es aquel que es capaz de manejar solamente un procesador del computador, de manera que se pro computador tuviese ms de uno le sera intil. El ejemplo ms tpico de este tipo de sistemas es el: MS DOS Y MacOS (versiones antiguas).
Multiproceso; se refiere al nmero de procesadores del sistema, que es ms de uno y este es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simtricamente y a simtricamente
Sistemas operativos distribuidos, abarcan los servicios de red, logrando integrar recursos (impresoras, unidades de respaldo, memoria, procesos, o unidades centrales de proceso) en una sola mquina virtual que el usuario acceso en forma transparente es decir, ahora el usuario ya no necesita saber la ubicacin de los recursos, sino que lo conoce por nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo habitual.
Tarea
Introduccin a los procesos Concepto de proceso Concurrencia y secuencialidad Regiones criticas Exclusin mutua Los procesos desde la perspectiva del programador de sistema Los procesos desde la perspectiva del Sistemas Operativos