lunes, 11 de agosto de 2008

Estructura por Capas, Sistemas Operativos

http://wiki.xtech.com.ar/images/5/5e/Capas_so.png
Un sistemas operativo por capas consiste en organizar o estructurar por jerarquía cada una de estas capas o anillos, cada una construida sobre la inmediata inferior. El primer sistema construido de esta manera fue el sistema THE (Technische Hogeschool Eindhoven), desarrollado en Holanda por E. W. Dijkstra (1968) y sus estudiantes. La capa superior tiene un mayor nivel de abstracción en la forma en la que trabaja el OS.

El sistema original constaba de 6 capas, como se está mostrado en la tabla abajo descrita. La capa 0 trabaja con la asignación del procesador y alterna entre los procesos cuando ocurren las interrupciones o expiran los cronómetros. Sobre la capa 0, el sistema consta de procesos secuénciales, cada uno de los cuales se podría programar sin importar que varios procesos estuvieran ejecutándose en el mismo procesador, la capa 0 proporcionaba la multiprogramación básica de la CPU.

La capa 1 realizaba la administración de la memoria. Asignaba el espacio de memoria principal para los procesos y un recipiente de palabras de 512K se utilizaba para almacenar partes de los procesos (páginas) para las que no existía lugar en la memoria principal. Por encima de la capa 1, los procesos no debían preocuparse si estaban en la memoria o en el recipiente; el software de la capa 1 se encargaba de garantizar que las páginas llegaran a la memoria cuando fueran necesarias.

La capa 2 se encargaba de la comunicación entre cada proceso y la consola del operador. Por encima de esta capa, cada proceso tiene su propia consola de operador.
La capa 3 controla los dispositivos de E/S y guarda en almacenes (buffers) los flujos de información entre ellos. Por encima de la capa 3, cada proceso puede trabajar con dispositivos exactos de E/S con propiedades adecuadas, en vez de dispositivos reales con muchas peculiaridades. La capa 4 es donde estaban los programas del usuario, estos no tenían que preocuparse por el proceso, memoria, consola o control de E/S. el proceso operador del sistema se localizaba en la capa 5.

Una generalización mas avanzada del concepto de capas se presento en el sistema MULTICS. En lugar de capas, MULTICS estaba organizado como una serie de anillos concéntricos, siendo los anillos interiores los privilegiados. Cuando un procedimiento de un anillo exterior deseaba llamar a un procedimiento de un anillo interior, debió hacer el equivalente a una llamada al sistema
Mientras que el esquema de capas de THE era en realidad un apoyo al diseño, debido a que todas las partes del sistema estaban ligadas entre si en un solo programa objeto, en MULTICS, el mecanismo de anillos estaba mas presente durante el tiempo de ejecución y era reforzado por el hardware. La ventaja del mecanismo de anillos es su facilidad de extensión para estructurar subsistemas del usuario.

  • Capa 5: El operador.
  • Capa 4: Programas de usuario.
  • Capa 3: Control E/S.
  • Capa 2: Comunicación operador-proceso
  • Capa 1: Admon. de los recursos del sistema (memoria, disco, etc).
  • Capa 0: Asignación del procesador y multiprogramación.

7 comentarios:

Incoming dijo...

Muy buen contenido aunque tal vez falto la explicación de las otras 6 camas del modelo original. Pero lo buscare para ampliar la información.

http://yum-cimil.blogspot.com/
Estructura Cliente - Servidor

luixito dijo...

Fijate que si estan las 6 capas explicadas, no en gran detalle pero se da la idea del objetivo principal de c/una ... :)

Gerardo dijo...

Buen post luix, me imagino que algunos SOs si utilizan el modelo de Capas puesto que es mas antiguo, pero hay SOs que utilicen la Estructura de Anillos Concentricos??

Unknown dijo...

Buen post!! dejas bien claro cuales son las diferentes capas y que rol tiene cada una de ellas en estos Sistemas Operativos

Anónimo dijo...

El contenido de tu post lo he leido textualmente antes, y no has puesto referencias. Incluso un tu companero posteo algo MUY similar, pero si puso las respectivas referencias.

Por cierto, cual es la diferencia de capas y anillos concentricos?

Anónimo dijo...

Por cierto el post de tu compañero es este http://chapine5.wordpress.com/2008/08/12/sistemas_por_capas/

luixito dijo...

La diferencia entre anillos concéntricos y capas es básicamente la jerarquía que manejan los anillos, es decir, que los anillos más cercanos al núcleo tienen más privilegios y los más alejados para comunicarse con los de adentro tienen practicamente que hacer llamadas al sistema.