Está en la página 1de 3

Unidad 1

Software
Desarrollo

Unidad 2
Sistemas operativos
Desarrollo

Unidad 3
Estructura de los Sistemas Operativos

Las estructuras internas de los sistemas operativos pueden variar de muchas


formas, ya que se deben considerar los objetivos y requerimientos de los usuarios
(facilidad de uso, confiabilidad, rapidez) y las del sistema (fácil de diseñar, implementar y
mantener, eficiencia)
El poder definir la estructura de un sistema operativo, dependerá o estará
influido en cierta medida por el hardware a través del cual será manejado, pero se pueden
identificar varios de los componentes comunes, como lo son el núcleo y las llamadas al
sistema; el núcleo contiene, en esencia, la totalidad del código e información necesaria
para gestionar los procesos y memoria. Según la estructura que se tenga, es como el
usuario se comunica con el SO, y éste con los componentes del hardware, por lo tanto,
cada sistema operativo, tiene una estructura especifica dependiendo de las necesidades.
Entre los tipos de estructuras de los sistemas operativos se pueden diferenciar la
monolítica, jerárquica, y de cliente - servidor.

Estructura monolítica
Este tipo de sistemas no tienen una estructura concreta, sino que son escritos
como un grupo de procedimientos donde cualquiera de ellos puede invocar a otro. En los
sistemas monolíticos, los componentes de gestión y programas del sistema, se escriben
en un solo código o espacio lógico; es decir que el núcleo es el SO, en él las diferentes
partes del kernel son compiladas por capas.
Los sistemas de estructura monolítica son los más comunes ya que su ejecución
y diseño son los de menor complejidad
.
Los sistemas monolíticos se describen en tres procesos principales:
- Procedimiento principal: Un programa principal que pide el procedimiento de servicio
solicitado.
- Procedimiento de servicio: Un conjunto de procedimientos de servicio que llevan a cabo
las llamadas del sistema.
- Procedimiento de utilería: Un conjunto de procedimientos de utilería que ayudan a los
procedimientos del servicio.

Estructura jerárquica
Cuando el hardware en los sistemas informáticos se fue desarrollando para
incluir mecanismos de protección para la ejecución de procesos, memoria, entrada/salida,
los sistemas operativos se fueron adaptando a estos diseños.
El diseño se establece en función de una jerarquía de capas, en la que los
servicios que proporciona una capa son consumidos solamente por la capa superior. La
capa 0 es del Hardware y la N es la de los procesos de Usuario.
El objetivo de la estructura jerárquica o por niveles de privilegio, es crear una
separación entre la acción del código de los procesos del sistema, el núcleo y los
procesos de usuario, lo ideal es separar al código base del núcleo, en el máximo nivel de
protección.
Normalmente, se ubican primero los procesos del sistema para gestionar los
procesos y la memoria; mas abajo los procesos de gestión de entra y salida, y un nivel
mas bajo que cuenta con menor privilegio, se ejecutan el resto de los procesos de las
aplicaciones.
Los sistemas operativos jerárquicos tienen ventaja porque son modulares
(basado en un núcleo que sobre él se van montando diferentes partes del sistema
operativo, módulos, cómo puede ser la interfaz gráfica, el sistema de archivos, etc.) y la
verificación se puede llevar a cabo a cada capa, aunque este diseño es uno de los mas
costosos y menos eficientes ya que se pierde tiempo de capa a capa.
Estructura cliente-servidor
La estructura en la que cada proceso se ejecuta de manera independiente, es
una de las más difíciles de lograr.
La estructura cliente-servidor es un modelo de aplicación distribuida en el que
las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores,
y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el
servidor, quien le da respuesta. Esta idea también se puede aplicar a programas que se
ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo
multiusuario distribuido a través de una red de computadoras.
Dicha independencia conlleva a que los procesos pueden ser ejecutados en
sistemas diferentes y geográficamente lejanos, y en cada sistema autónomo solo se
presentarían el núcleo y los componentes mínimos para la ejecución de uno o algunos de
los procesos. En este tipo de arquitectura, se manifiesta con mayor necesidad establecer
llamas al sistema robustas, es decir fuertes, para la comunicación entre los procesos. La
estructura cliente-servidor se escoge en este tipo de casos, debido a que se establece
que cada proceso, dependiente o no, actual como servidor del resto.
Así, el objetivo fundamental del núcleo es garantizar la comunicación entre
procesos.