Está en la página 1de 95

Sistemas Operativos

U1-C1

Objetivo del Curso


El alumno comprender el funcionamiento interno de los sistemas operativos, y analizar las tcnicas empleadas para la administracin de los recursos: procesador, memoria, dispositivos de E/S y el sistema de archivos, de una computadora.

Temario
Terminologa y Conceptos bsicos de los sistemas operativos Administracin del procesador Administracin de la memoria Administracin de los dispositivos de entrada y salida Administracin de los sistemas de archivos

Referencias bsicas
Silberchatz. Operating System Concepts. Wiley. Sexta Edicin. Tanenbaum, Andrew. Operating systems, Design and Implementation. Prentice Hall. 1997 Tanenbaum, Andrew. Sistemas Operativos, Diseo e Implementacin. Prentice Hall Software Series. Milenkovic, Milan. Sistemas Operativos. Conceptos y diseo. McGraw Hill. Tanenbaum, Andrew. Sistemas operativos Modernos. Prentice Hall Hispanoamericana, 1993.

Sistemas Operativos

U1-C2

Qu es un sistema operativo? Un programa que acta como intermediario entre el usuario y el hardware de la computadora. Objetivos del Sistema Operativo:
Proveer un ambiente en donde el usuario pueda ejecutar programas y solucione sus problemas de manera ms fcil. Permitir el uso cmodo de la Computadora. Utilizar el hardware de la computadora de una manera eficiente.

Componentes de una Computadora


1. Hardware. Proporciona los recursos bsicos de una computadora (CPU, memoria, dispositivos E/S). 2. Sistema Operativo. Controla y coordina el uso del hardware entre diferentes aplicaciones para diferentes usuarios. 3. Programa de Aplicacin. Define la forma en que los recursos del sistema son utilizados para resolver los problemas computacionales del usuario (compiladores, sistemas de bases de datos, video juegos, etc). 4. Usuarios (personas, otras computadoras).

Vista de un sistema computacional

Perspectiva del usuario (1)


PC.
Los recursos slo son utilizados por un usuario. S.O. diseado con facilidad de uso. Cierta atencin al funcionamiento, casi nula para la utilizacin de los recursos.

Mainframes.
Recursos compartidos, intercambio de informacin. S.O. diseado para maximizar la utilizacin de los recursos. Asegura que los tiempos disponibles de CPU, memoria, E/S son utilizados eficientemente

Perspectiva del usuario (2)


Estaciones de trabajo.
Computadoras conectadas con servidores. Sus usuarios cuentan con recursos dedicados a ellos pero tambin los comparten S.O. diseados con compromisos entre la usabilidad y la utilizacin de recursos

Handheld.
Sistemas personales con limitaciones de poder e interface S.O. diseados para el uso individual.

Perspectiva del sistema


Asignador de recursos.
Administra y organiza los recursos.

Programa de control.
Control de los dispositivos de E/S y programas de usuario para prevenir errores y el mal uso de la computadora.

Kernel.

Evolucin de los sistemas operativos


Sistemas Mainframe
Las supercomputadoras fueron las primeras usadas para resolver problemas comerciales o cientficos. De estas computadoras parte la evolucin de los S.O.

Sistemas de procesamiento por Lotes (Batch)


El usuario no interactuaba directamente con la computadora. En cambio, el usuario preparaba un trabajo y lo introduca a la computadora (tarjetas perforadas). Despus se obtena un resultado impreso generalmente en papel.

Sistemas de procesamiento por Lotes (Batch)


Para acelerar el procesamiento se desarroll el sistema de procesamiento por lotes
La idea era colectar un grupo de trabajos (batch) y luego introducir el lote completo a la computadora

Los sistemas operativos en esta poca eran muy simples y el trabajo principal del S.O. era transferir el control de manera automtica de un trabajo a otro. Al terminar con todo el lote, un operador retiraba las cintas de entrada y salida, introduca la nueva cinta con el Lote e imprima la cinta de salida.

Procesamiento de trabajos

Organizacin de la memoria en un sistema de procesamiento por lotes

Sistemas de Multiprogramacin
Con la mejora de la tecnologa y la introduccin de los discos se tuvieron dispositivos ms rpidos de E/S.
Permiti a los sistemas operativos almacenar los trabajos en dichos discos en lugar de cintas o tarjetas perforadas

Esto permiti a los S.O. acceder directamente a varios trabajos por lo que se incluyeron algoritmos de calendarizacin de los trabajos, con el propsito de realizar las tareas y usar los recursos eficientemente.

Sistemas de Multiprogramacin Uno de los aspectos ms importantes de la multiprogramacin es la calendarizacin de trabajos. La multiprogramacin incrementa la utilizacin del CPU mediante la organizacin de los trabajos de tal forma que siempre hay un proceso para ejecutar. La idea es partir la memoria en varias partes, con un trabajo distinto en cada particin
Mientras que un programa esperaba a que terminara la operacin de E/S, otro podra utilizar la CPU

Sistemas de Multiprogramacin
No obstante, el nmero de particiones que se podan hacer en memoria era muy inferior a la cantidad de trabajos que se podan almacenar en los discos. Entonces otra caracterstica de esta generacin de S.O. fue la utilizacin de SPOOLING (Simultaneous Peripheral Operational On Line), que consista en poder cargar del disco un nuevo trabajo cuando conclua otro. La multiprogramacin es de las primeras instancias en donde el S.O. tiene que tomar una decisin por el usuario.

Sistemas de Multiprogramacin Si varios procesos estn listos para ser cargados a la memoria y no hay suficiente memoria, el S.O. debe escoger entre ellos. (calendarizacin de procesos) Si se tienen varios procesos en memoria entonces es necesaria una Administracin de la memoria Si varios procesos estn listos para ejecutarse al mismo tiempo, es necesaria entonces una Calendarizacin del CPU

Sistemas de Multiprogramacin

Sistemas de multiprogramacin Qu pasa cuando tenemos un proceso que por mucho tiempo no necesita realizar operaciones de entrada/salida Conforme el uso de la computadora evolucion a un modo mucho ms interactivo la multiprogramacin por s sola ya no satisfaca

Multitarea cooperativa Procesos o tareas que ceden voluntariamente tiempo a otros procesos Qu pasaba si un proceso que tena la CPU se colgaba
Colapso del sistema

Sistemas de tiempo compartido


Los sistemas de tiempo compartido o Multitarea son una extensin lgica de la multiprogramacin. La CPU ejecuta mltiples trabajos intercambiando entre uno y otro, pero el intercambio es tan frecuente que el usuario puede interactuar con cada programa mientras se ejecuta.
El tiempo compartido es otorgado por el hardware y el S.O.

Por lo tanto, un S.O. multitareas permite a muchos usuarios compartir la computadora simultneamente.

Tiempo compartido
En un sistema de tiempo compartido cada accin y comando slo necesita tiempos cortos de CPU para cada usuario. De esta forma, mientras el sistema cambia rpidamente de un usuario a otro, da la impresin que todo el sistema est dedicado para su uso. Reparto equitativo de los recursos

Tiempo Compartido
Un SO de tiempo compartido debe utilizar calendarizacin del CPU y multiprogramacin para proporcionarle a cada usuario una pequea porcin del tiempo del sistema. Al programa cargado en la memoria y que se est ejecutando se le llama Proceso. Los procesos pueden necesitar operaciones de E/S, en ese lapso el SO le asigna el procesador a algn otro usuario.

Tiempo compartido Los SO de tiempo compartido necesitan administracin y proteccin de la memoria. Para mantener tiempos de respuesta razonables, los procesos pueden ser cargados y descargados (swap) de la memoria principal hacia el disco, el cual sirve como un almacn temporal para la memoria.

Tiempo compartido
Memoria Virtual Es una tcnica comn para lograr el swap. Permite la ejecucin de un proceso que no puede ser completado en la memoria. La principal ventaja de la memoria virtual es que los programas pueden ser ms grandes que la memoria fsica. Memoria virtual abstrae la memoria principal en un gran arreglo uniforme de almacenamiento, separando la memoria lgica vista por el usuario de la memoria fsica.

Tiempo compartido
Los sistemas de TC deben proporcionar un sistema de archivos.
Necesario una administracin de archivos

Tambin, proporcionan un mecanismo para la ejecucin concurrente, lo que requiere de esquemas complejos de calendarizacin del CPU Para asegurar la ejecucin ordenada, el sistema debe proporcionar mecanismos para la sincronizacin y comunicacin de procesos.

Licenciatura en Ciencias de la Computacin

Sistemas Operativos

U1-C3

Repaso Qu es un S.O.? Perspectivas del usuario


Mainframe, PC, estaciones de trabajo, handheld

Evolucin de los sistemas operativos


Mainframe
Procesamiento por lotes Multiprogramacin Tiempo compartido

Sistemas de Escritorio
Las PC aparecieron en 1970. Al principio los S.O. de estos sistemas no fueron ni multiusuarios ni multitareas. Los principales objetivos de estos sistemas es maximizar la conveniencia y tiempo respuesta. Pueden adoptar tecnologa desarrollada para S.O. grandes (mainframes) Dado que el usuario no tiene que compartir el CPU, su mxima utilizacin ya no es una preocupacin primaria

Sistemas Multiprocesadores
La mayora de los sistemas actuales son de un solo procesador. Sin embargo los sistemas que tienen ms de un procesador (sistemas paralelos o multiprocesadores) cada da crecen ms en importancia. Principales Ventajas
Incremento del rendimiento Economa en escalabilidad? Confiabilidad, tolerancia a fallas

Sistemas Multiprocesadores
Multiprocesamiento simtrico (SMP)
Cada procesador ejecuta una copia idntica del sistema operativo. Muchos procesos pueden correr al mismo tiempo (tantos procesos como procesadores) afectando poco el desempeo. Este tipo de sistemas permite compartir dinmicamente los procesos y recursos entre varios procesadores. La mayora de los sistemas modernos soportan SMP

Sistemas Multiprocesadores
Multiprocesamiento asimtrico
Cada procesador tiene asignada una tarea Un procesador maestro controla el sistema
Calendariza y asigna procesos a cada procesador esclavo.

Comn en sistemas extremadamente grandes

Sistemas Distribuidos
Los sistemas distribuidos estn basado en las redes de computadoras y su funcionalidad depende del trabajo en redes. Cada procesador tiene su propia memoria local. Los procesadores se comunican entre ellos utilizando las redes de comunicaciones. Existen sistemas cliente-servidor o peer to peer Sistema operativo de red, proporciona caractersticas de trabajo en red, incluye esquemas de comunicacin que permite a diferentes procesos en diferentes computadoras intercambiar mensajes.

Sistemas en grupos (Cluster) Al igual que en lo sistemas paralelos, los clusters de computadoras agrupan mltiples CPUs para realizar un trabajo computacional. Una capa de software se ejecuta en cada nodo del cluster. De esta manera, cada nodo puede monitorear uno o ms de los otros nodos. Dos tipo de clustering
Asimtrico (Un monitor para el servidor activo) Simtrico (Todos se monitorean entre ellos)

Tarea 1
Caractersticas de los sistemas operativos durante la evolucin histrica

Tarea 2
Caractersticas de los sistemas operativos de tiempo real

Sistemas Porttiles
Asistentes personales digitales (PDAs) Telfonos celulares Caractersiticas
Memoria limitada. Procesadores lentos. Pantallas pequeas.

Evolucin de los SO

Sistemas Operativos

U1-C4

Repaso
Sistemas de escritorio Multiprocesadores
Simtrico y asimtrico

Sistemas distribuidos Sistemas en cluster Sistemas porttiles

Estructura de los sistemas de computadora


Necesitamos tener una idea general de la estructura de un sistema computacional antes de poder explorar los detalles de su funcionamiento. Un computadora moderna de propsito general consiste de un CPU y un nmero controladores de dispositivos que estn conectados mediante un bus comn el cual proporciona acceso a la memoria compartida. Cada controlador de dispositivo est a cargo de un dispositivo en particular.

Un sistema de computadora moderno

Operacin del sistema


Cuando una computadora se inicia, necesita un programa inicial para continuar.
Programa de arranque (Bootstrap), generalmente almacenado en una ROM, como firmware o eeprom Inicializa todo el sistema El programa de arranque debe saber cmo cargar el sistema operativo y ejecutarlo.
Debe asignar y cargar en la memoria el kernel

La ocurrencia de un evento es normalmente marcada por una interrupcin ya sea del hardware o del software

Interrupciones
El hardware dispara (trigger) una interrupcin enviando una seal al procesador por medio del bus del sistema. El software dispara una interrupcin ejecutando un programa especial, llamada al sistema. Los sistemas operativos modernos se rigen mediante interrupciones. Los eventos, por lo general son marcados por la ocurrencia de una interrupcin o trap (excepcin)

Interrupciones
Cuando el CPU recibe una interrupcin, se detiene de lo que hace y transfiere su ejecucin a otro lugar. Cada interrupcin cuenta con una rutina de servicio de interrupcin quien es responsable de manejar a dicha interrupcin. Para el manejo de las interrupciones se usa una tabla de apuntadores a las rutinas de interrupciones. Esta tabla (Vector de Interrupciones) refiere a la rutina de interrupcin correspondiente a una interrupcin. El Vector de Interrupciones se almacena en la memoria baja y almacena las direcciones de las rutinas de servicio.

Estructura de E/S
Controladores de dispositivos. Cada controlador tiene a su cargo un tipo de dispositivo. Sncrono. Una vez que una operacin de E/S es inicializada, el control regresa al usuario hasta que se completa la operacin de E/S.
Existe un instruccin especial de espera (wait) que paraliza al CPU hasta la siguiente interrupcin Computadora que no cuentan con la instruccin Wait tienen un ciclo wait. A lo ms una peticin de E/S es atendida a la vez, impidiendo el procesamiento simultneo de E/S.

Estructura de E/S
Asncrono. Una vez que una operacin de E/S es inicializada, el control regresa al usuario sin esperar que se complete la operacin de E/S.
Llamada al sistema. Se efecta para permitir al programa del usuario esperar por la finalizacin de la operacin de E/S, si as se desea. Si no es necesario ejecutar algn programa o el sistema operativo no tiene trabajo por hacer entonces se utiliza la instruccin wait. Para manipular varias operaciones E/S, el S.O. utiliza una Tabla de Estado de Dispositivo. Cada registro de esta tabla indica el tipo de dispositivo, direccin y estado.

Estructura E/S

a) Sncrono

b) Asncrono

Estructura de E/S
Un dispositivo E/S produce una interrupcin cuando necesita un servicio. Cuando la interrupcin ocurre, el S.O. determina primero cul dispositivo de E/S caus la interrupcin. Entonces enlista la tabla de estado de dispositivos para saber el estado del dispositivo Modifica la tabla para reflejar la ocurrencia de la interrupcin

Tabla de Estado de Dispositivo

Estructura DMA
As como existen dispositivos de E/S que envan informacin de manera muy lenta, permitiendo que la CPU pueda ejecutar otras operaciones, existen dispositivos de E/S de alta velocidad Estos dispositivos transmiten informacin a una velocidad cercana a la velocidad de la memoria. Esto deja poco tiempo al procesador para ejecutar otras operaciones. Para resolver este problema se utiliza DMA (Direct Access Memory).

Sistemas Operativos

U1-C5

Repaso Estructura de los sistemas de cmputo Entrada/salida


Interrupciones Sncrono/asncrono Tabla de estado de dispositivo DMA

Estructura de Almacenamiento
Para ser ejecutados, los programas deben estar en la memoria principal o RAM. La RAM es la nica memoria que el procesador puede acceder directamente. La interaccin se logra mediante la secuencia de instrucciones load y store.
La instruccin load mueve una palabra de la memoria RAM hacia un registro interno del CPU, mientas que store mueve el contenido de un registro hacia la memoria RAM.

Memoria voltil y almacenamiento secundario Idealmente se quiere que los programas y datos residan en la memoria RAM permanentemente, pero
La memoria RAM es usualmente muy pequea para almacenar todos los programas y datos necesarios permanentemente. La memoria principal es un almacn voltil que pierde su contenido cuando se apaga la fuente de poder.

Es por esto que casi todos los sistemas deben proveer un almacn secundario como una extensin de la memoria principal.

Estructura de almacenamiento
El dispositivo secundario de almacenamiento ms comn es el disco magntico. La mayora de los programas son almacenados en disco hasta que se cargan a la memoria principal. Sin embargo, la memoria RAM, los discos magnticos, los registros son algunas de las muchas formas posibles de almacenamiento
Memoria cach, CD-ROM, cintas magnticas, etc

Memoria principal
Como ya hemos mencionado, el CPU solo puede acceder directamente a la memoria RAM y sus registros internos. En el caso de los dispositivos de E/S, sus controladores contienen registros que almacenan comandos o datos a transferir entre la memoria y esos registros. Para permitir un acceso ms conveniente a los dispositivos de E/S muchas arquitecturas proporcionan correspondencia de memoria de E/S (memory-mapped I/O).

Memory-mapped
Se establecen rangos de direcciones de memoria y se crea un correspondencia entre stos y los registros de los dispositivos. Leer y escribir de estos rangos de memoria implica que la informacin sea transferida desde o hacia los registros. La correspondencia de memoria es muy utilizada para dispositivos como los puertos paralelos y seriales. Los registros de estos dispositivos son llamados puertos de E/S

Programmed I/O (PIO)


Entonces cuando el CPU escribe informacin en el registro activa un bit para indicar que esa informacin puede ser transferida. El dispositivo toma la informacin y cambia el bit del registro para indicar que est listo para la siguiente transferencia. Si el CPU encuesta para saber el estado del bit de control se le llama Programmed I/O (PIO) Si el CPU no utiliza la encuesta para saber del bit de control, sino en cambio recibe una interrupcin cuando el dispositivo est listo para la siguiente transferencia, entonces la transferencia es guiada por interrupcin

Discos Magnticos
Rotan entre 60 y 200 veces por segundo Tasa de transferencia. Velocidad con la que transfiere informacin. Tiempo de posicionamiento (tiempo de acceso aleatorio). Tiempo que le toma mover el brazo hacia el cilindro deseado. Latencia de rotacin. Tiempo en que el sector llega a la cabeza de lecto-escritura.

Jerarqua de almacenamiento
De acuerdo a la rapidez y el costo. Los niveles altos son muy caros pero muy rpidos. Los sistemas arriba de los discos electrnicos son voltiles y los que estn por debajo son Novoltiles.

Sistemas Operativos

U1-C6

Repaso
Estructura de los sistemas de cmputo Entrada/salida
Interrupciones Sncrono/asncrono Tabla de estado de dispositivo DMA

Almacenamiento
Memoria voltil y secundaria correspondencia de memoria de E/S Programmed I/O Discos Jerarqua de almacenamiento

Memoria cach
No obstante la rapidez de la memoria principal, el acceso a su informacin puede tomar varios ciclos del CPU El remedio para esto es agregar ms memoria entre el CPU y la memoria principal. A esta memoria se le llama memoria cach. Cuando el CPU necesita informacin lo que hace es examinar si se encuentra en la cach. Si se encuentra la utiliza. Sino toma la informacin de la memoria principal y pone una copia en la cach. El principal uso de la memoria cach es almacenar datos que han sido utilizados recientemente y que prximamente se usarn de nuevo.

Cach
Dado que la memoria cach tiene un limite de tamao, es importante tener una buena administracin de la cach Generalmente, la transferencia de informacin entre cach, CPU y los registros es una funcin de hardware sin la intervencin del S.O. Por otro lado la transferencia entre disco y memoria principal es controlada por el S.O.

Coherencia de cach

Suponga que quiere incrementar el valor de A y A se encuentra en un archivo en disco. Se realizan varias copias de A hasta que finalmente se copia en un registro de CPU para su incremento. Una vez que se ha incrementado el valor de A existen diferentes copias con valores diferentes de A. Imagine qu pasa en un sistema multitarea si varios procesos quieren obtener el valor reciente de A. Imagine qu pasa en un sistema de multiprocesadores donde cada procesador tiene su propia memoria cach. Asegurar que el ltimo cambio de A en una cach sea inmediatamente reflejado en todas las dems se le llama Cache Coherency.

Proteccin de Hardware Operacin de modo dual


Para asegurar un buena operacin, el SO y los programas del usuario deben estar protegidos de cualquier error o malfuncionamiento Para recursos compartidos es necesaria la proteccin de los mismos. Los SO proporcionan soporte especial al Hardware que le permite distinguir entre modos de ejecucin

Modos de ejecucin
Al menos se necesitan dos modos de operacin: modo usuario y modo monitor (protegido) Un bit, llamado bit de modo, se agrega al hardware de la computadora para indicar el modo actual: monitor (0) o usuario (1). Con el bit de modo, se puede distinguir entre una tarea ejecutada para el usuario y una ejecutada para el S.O.

Modos de operacin
Cuando una computadora inicia, el hardware se pone en modo protegido, entonces el sistema operativo se carga y empieza los procesos del usuario en modo usuario. Cuando una interrupcin o llamada al sistema ocurre, el hardware cambia de modo usuario o modo protegido. Entonces, cuando el SO toma el control de la computadora lo hace en modo protegido. El sistema siempre cambia al modo usuario antes de pasar el control a los programas del usuario.

Instrucciones protegidas
La operacin dual, nos permite proteger al SO de usuarios errantes y entre ellos. Dicha proteccin se logra designando a algunas instrucciones de mquina que podran causar dao, como instrucciones privilegiadas. El hardware permite la ejecucin de las instrucciones privilegiadas solamente en modo protegido.

Proteccin E/S
Un programa de usuario puede terminar abruptamente al realizar alguna operacin ilegal de E/S. Para prevenir al usuario de incurrir en operaciones ilegales de E/S, se definen todas stas como instrucciones protegidas Por lo tanto, el usuario no puede manipular instrucciones E/S directamente sino a travs del sistema operativo.

Proteccin de la memoria
Otro aspecto que se debe proporcionar para asegurar la correcta operacin de un S.O. es la proteccin de la memoria. Esta proteccin al menos se debe hacer para el vector de interrupciones y las rutinas del servicio de interrupciones. Para separar cada espacio de memoria para los programas, se debe poder determinar los rangos de direcciones legales que los programas debe acceder.

Registro base y lmite


Esta proteccin se establece manejando dos registros, usualmente llamados registro base y registro lmite. El registro base establece la direccin de memoria fsica legal ms pequea El registro lmite contiene el tamao del rango
Ejemplo: si el registro base es de 300040 y el registro lmite es de 120900 entonces el programa puede acceder legalmente las direcciones entre 300040 y 420940 inclusive.

Proteccin de la memoria
La proteccin se completa al comparar el CPU cada direccin generada en modo usuario con los registros Cualquier intento de un programa ejecutndose en modo usuario de acceder a la memoria de modo restringido u otra espacio de memoria de usuario genera una excepcin para el monitor.

Proteccin del CPU


Adems de la proteccin a E/S, memoria, se debe asegurar que el S.O. siempre mantenga el control. Se debe prevenir que un programa de usuario se quede atorado en un ciclo infinito y nunca regresar el control al S.O. Para lograr lo anterior se utiliza un temporizador (timer). Un temporizador puede interrumpir al CPU despus de un periodo determinado

Proteccin del CPU


El perodo puede ser fijo o variable. El temporizador variable generalmente se implementa por un reloj y un contador De esta manera a cada programa se le asigna un tiempo lmite para ejecutarse. Cuando el programa inicia su ejecucin, el contador empieza a decrementarse cada ciclo de reloj. Mientras el contador sea positivo el control es devuelto al programa de usuario. Cuando se hace negativo, el S.O. termina el programa por exceder su tiempo lmite asignado.

Temporizadores Un uso ms comn del temporizador es para implementar el tiempo compartido. En el caso ms directo, el temporizador interrumpe cada N milisegundos, donde N es la ranura de tiempo que cada usuario puede ejecutar su programa antes de que el siguiente usuario tome el control del CPU.

Resumen
Un sistema operativo debe proporcionar el ambiente dentro del cual se ejecutan los programas. Segn el tipo de objetivos planteados para un S.O. es el diseo y estructura del mismo. No obstante, los S.O. deben contar con ciertos componentes comunes para ofrecer sus servicios tanto a usuarios, como a programadores.

Sistemas Operativos

U1-C7

Estructuras de Sistemas Operativos

Estructura de Sistemas
Sistemas tan grandes y complejos como los S.O. deben ser diseados cuidadosamente para su correcto funcionamiento y su fcil modificacin Encontramos, entre los diseos, las siguientes estructuras
Simple Capas Microkernel

Estructura simple Muchos sistemas comerciales no tiene una estructura muy bien definida MS-DOS es un ejemplo. Fue hecho para proporcionar la mayor funcionalidad en el menor espacio. En consecuencia, no fue dividido en mdulos de manera correcta

Estructura de MS-DOS

Unix
UNIX en un principio consista de dos partes separables: el kernel y los programas del sistema Entonces el kernel proporciona, administracin de archivos, calendarizacin de CPU, administracin de memoria, etc. por medio de las llamadas al sistema. Mucha funcionalidad combinada para un solo nivel! Esto hizo a UNIX difcil de mejorar, ya que un cambio en una seccin poda afectar otra.

Estructura inicial del sistema Unix

Estructuras en capas
La modularizacin de un sistema se puede hacer de diferentes maneras, una de ellas es en capas. La capa ms baja es el hardware y la ms alta es la interfaz de usuario. Una capa de un S.O. es la implementacin de un objeto abstracto el cual encapsula datos y operaciones que manipulan esos datos. Tpicamente una capa M consiste de estructuras de datos y rutinas que pueden ser llamadas por las capas superiores. A su vez, la capa M llama operaciones de las capas inferiores.

Estructura en capas
La principal ventaja de este esquema es que las capas son diseadas para que slo utilicen funciones de las capas inferiores. Esto permite una verificacin y rastreo del sistema ms sencilla. Una capa no necesita saber cmo se implementas las funciones, sino qu hacen las funciones. Cada capa esconde la existencia de ciertas estructuras de datos, operaciones y hardware de las capas superiores.

Estructura en capas

Problemas de la estructura en capas


La mayor dificultad en este esquema es el cuidadoso diseo de lo que deben hacer las capas.
Por ejemplo: el manejador de espacio de disco utilizado por los algoritmos de memoria virtual debe estar en un nivel inferior que las rutinas de administracin de la memoria, por que la administracin de la memoria requiere la habilidad de usar espacio de disco.

Este esquema tiende a ser menos eficiente que otros.


En cada capa es necesaria la modificacin de parmetros, pase de informacin, etc. Cada capa agrega una sobrecarga a las llamadas al sistema.

Estructura de OS/2

Microkernels
Conforme crece un S.O. su kernel se vuelve ms grande y difcil de manejar.

A mediados de los 80s investigadores de Carnegie Mellon University desarrollaron un S.O. llamado Mach que organiza en mdulos el kernel utilizando un esquema de microkernel.

Este mtodo reestructura un S.O. removiendo todos los componentes no esenciales del kernel e implementndolos en programas a nivel del sistema o de usuario.

Estructura en Microkernel
La funcin principal de un microkernel es proporcionar una facilidad de comunicacin entre el programa cliente y los diferentes servicios que tambin estn corriendo en el espacio de usuario. Por ejemplo, si el programa cliente desea acceder a un archivo, entonces debe interactuar indirectamente con el servidor de archivos mediante el pase de mensajes a travs del microkernel.

Beneficios de los microkernel Fcil extensin del microkernel


Nuevos servicios se agregan al espacio del usuario y no requieren modificar el kernel

Portabilidad del S.O. a nuevas arquitecturas Mayor fiabilidad y seguridad. Dado que la mayora de los servicios corren como procesos de usuario en vez del sistema.

Tarea Investigar caractersticas de sistemas operativos Monolticos y Microkernel. Dar ejemplos de sistemas operativos con esta estructura.

También podría gustarte