El documento describe cuatro estructuras principales de sistemas operativos: monolíticos, de tres niveles, por capas y microkernel. Los sistemas monolíticos no tienen estructura definida, mientras que los de tres niveles separan el kernel, servicios y utilidades. Los sistemas por capas organizan funciones en jerarquías con cada capa apoyada en la inferior. Los microkernels separan el kernel mínimo de servicios en procesos de usuario.
Historia y evolución de los sistema operativo david
4 Estructuras de Sistemas Operativos
1.
2. ESTRUCTURA
Se puede decir que hay cuatro Estructuras distintas que ya han sido
probadas, con el fin de tener una idea más extensa de cómo esta
estructurado el sistema operativo. A continuación se resumirán cada
una de ellas:
3. También llamados sistemas monolíticos. Este tipo de organización es la
mas común; bien podría recibir el subtitulo de "el gran embrollo". La
estructura consiste en que no existe estructura alguna. El sistema
operativo se escribe como una colección de procedimientos, cada uno
de los cuales puede llamar a los demás cada vez que así lo requiera.
Esta organización sugiere una organización básica del sistema
operativo:
1.- un programa principal que llama al procedimiento del servicio
solicitado.
2.- un conjunto de procedimientos de servicio que llevan a cabo las
llamadas al sistema.
3.- un conjunto de procedimientos utilitarios que ayudan al procedimiento
de servicio.
4. Las funciones centrales de un SO son controladas por el núcleo (kernel)
mientras que la interfaz del usuario es controlada por el entorno (shell).
Por ejemplo, la parte más importante del DOS es un programa con el
nombre "COMMAND.COM" Este programa tiene dos partes. El kernel,
que se mantiene en memoria en todo momento, contiene el código
máquina de bajo nivel para manejar la administración de hardware para
otros programas que necesitan estos servicios, y para la segunda parte
del COMMAND.COM el shell, el cual es el interprete de comandos.
Las funciones de bajo nivel del SO y las funciones de interpretación de
comandos están separadas, de tal forma que puedes mantener el kernel
DOS corriendo, pero utilizar una interfaz de usuario diferente
5. El sistema por "capas" consiste en organizar el sistema operativo como una
jerarquía de capas, 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.
El sistema tenia 6 capas:
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.
6. 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
5 El operador
4 Programas del usuario
3 Control de entrada/salida
2 Comunicación operador-proceso
1 Administración de la memoria y del disco
0 Asignación del procesador y multiprogramación
7. Una tendencia de los sistemas operativos modernos es la de
explotar la idea de mover el código a capas superiores y eliminar la
mayor parte posible del sistema operativo para mantener un núcleo
mínimo Al separar el sistema operativo en partes, cada una de ellas
controla una faceta del sistema, como el servicio a archivos,
servicios a procesos, servicio a terminales o servicio a la memoria,
cada parte es pequeña y controlable. Además como todos los
servidores se ejecutan como procesos en modo usuario y no en
modo núcleo, no tienen acceso directo al hardware. En
consecuencia si hay un error en el servidor de archivos, éste puede
fallar, pero esto no afectará en general a toda la máquina.
8. Un Sistema Operativo se podría componer de las siguientes
características:
Conveniencia. Un Sistema Operativo hace más conveniente el uso de
una computadora.
Eficiencia. Un Sistema Operativo permite que los recursos de la
computadora se usen de la manera más eficiente posible.
Habilidad para evolucionar. Un Sistema Operativo deberá construirse de
manera que permita el desarrollo, prueba o introducción efectiva de
nuevas funciones del sistema sin interferir con el servicio.
9. Encargado de administrar el hardware. El Sistema Operativo se encarga
de manejar de una mejor manera los recursos de la computadora en
cuanto a hardware se refiere, esto es, asignar a cada proceso una parte
del procesador para poder compartir los recursos.
Relacionar dispositivos (gestionar a través del kernel). El Sistema
Operativo se debe encargar de comunicar a los dispositivos periféricos,
cuando el usuario así lo requiera.
Organizar datos para acceso rápido y seguro.
Manejar las comunicaciones en red. El Sistema Operativo permite al
usuario manejar con alta facilidad todo lo referente a la instalación y uso
de las redes de computadoras.
Procesamiento por bytes de flujo a través del bus de datos.
Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fácil al
usuario el acceso y manejo de los dispositivos de Entrada/Salida de la
computadora.