Aproximación a las arquitecturas de los Sistemas Operativos

Los Sistemas Operativos (SO) son desarrollados partiendo de algunas estructuras o realizando una mezcla de ellas como se verá más adelante. En un post anterior mencioné que el SO es el principal programa de todo computador, es quien le da vida al hardware, y es desde ese punto de vista que los investigadores han diseñado una serie de estructuras (arquitecturas) que le permitan desde un mismo software administrar cada una de las funciones que le han sido encomendadas: gestión de memoria, gestión de archivos, gestión de programas, gestión de hardware, en fin, un conjunto de funciones que tras tiendas (no observables por el usuario) nos permiten trabajar con una computadora.

Cada modelo tiene su diseño que busca cumplir con las funciones propias de un SO y por supuesto llevan consigo ventajas y desventajas que los caracterizan.

Los modelos más implementados para las PC son los de: Estructura Monolítica, Capas y los de Micro Núcleo o Micro Kernel. A continúan se detallan cada una de las estructuras con el fin de que el estudiante logré comprender sus diferencias e ir encaminando su preferencia por uno u otro SO (libre o propietario).

Estructura Monolítica:
Es un modelo en el cual todos los servicios fundamentales residen en un monitor monolítico (estructura única) al que se accede a través de un mecanismo de llamada al núcleo (Kernel). Unix y Linux son un clásico ejemplo de la arquitectura Monolítica, de allí que Linux actualiza su Kernel cada cierto tiempo sin necesidad de tener que cambiar todo el SO y en este caso es el propio Linus Torvald quien compila el código fuente del Kernel de Linux y libera sus actualizaciones.

Características resaltantes:
- Los procesos de usuario se ejecutan en espacios de direccionamiento diferentes al del sistema operativo.
- Se aíslan del sistema los errores de los procesos de usuario.
- El programa de usuario lleva a cabo las llamadas al sistema mediante interrupciones de software o traps.
- Sólo en modo administrador (root) se permite al procesador ejecutar instrucciones privilegiadas.

Estructura de Capas:
Es una generalización del modelo de estructura simple para un sistema monolítico. Consiste en organizar el SO como una jerarquía de capas, cada una construida sobre la inmediata inferior, donde cada capa utiliza solamente los servicios de la capa inferior y se enfoca en ofrecerle una interfaz clara y bien definida a su capa superior.

El primer sistema con este esquema fue "THE", construido con fines didácticos en el Technische Hogeschool Eindhoven en Holanda por Edsger Wybe Dijkstra en 1968 y un grupo de sus estudiantes. El sistema operativo THE era simple, realizaba un procesamiento de archivos por lotes para la computadora holandesa  Electrológica X8, que tenía 32K de palabras de 27 bits.

Características resaltantes:
- En cada capa se encapsulan funciones específicas, así cada capa se encarga de una función individual del sistema operativo.
- Su principal ventaja radica en poseer un diseño mucho más modular, seguro y escalable que el monolítico.
- En este modelo, lo único que hace el núcleo es controlar la comunicación entre los clientes y los servidores. Al separar el sistema operativo en partes, cada una de ellas controla una parte del sistema, como el servicio a archivos, servicios a procesos, servicio a terminales o servicio a la memoria, y 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.

Estructura de Micro Núcleo (Micro Kernel):
Esta estructura brinda la posibilidad de separar funcionalmente los programas del sistema de los programas de aplicación y asegurar protección adicional con el hardware. Windows es el mejor ejemplo de un SO de micro kernel, aunque Windows NT que tiene cierto parecido al SO Open VMS de la empresa DEC está basado en la estructura monolítica, por ello algunos autores afirman que Windows tiene una arquitectura híbrida (mezcla de dos o más arquitecturas).

Características resaltantes:
- En esta, se trata de combinar el rendimiento y sencillez de la Arquitectura monolítica con la protección y organización de la arquitectura por capas.
- La idea fundamental es obtener un núcleo lo más pequeño y rápido posible y tratar el resto de las funciones y componentes como procesos de aplicación.
- En esta concepción, es usual que el núcleo solo contenga lo necesario para la gestión de memoria y procesos. Todo el resto se ejecuta con el nivel de privilegios de las aplicaciones que no son del sistema.
- Está estructura acarrea una pérdida apreciable de rendimiento y en alguna medida deben incluirse en el núcleo otras funciones como el manejo de hardware y algunos drivers.

---
Prof. Hayah García

Comentarios

Entradas populares de este blog

El Futuro llega en Bits Cuánticos: La Carrera por la Supremacía en la Computación

Organizaciones Virtuales: un flashback para los emprendedores de hoy

2021: Nuevas tecnologías y próximos desafíos ...