Apuntes Tema 2
Apuntes Tema 2
Apuntes Tema 2
2009/10
TEMA 2.- ESTRUCTURA DEL SO
2 ESTRUCTURA DEL SO
1
Sistemas Operativos. 2009/10
TEMA 2.- ESTRUCTURA DEL SO
2.1.4 Gestión de la E/S
En un sistema distribuido, existen varios ordenadores con sus propios recursos locales
(memoria, archivos, etc.), conectados mediante una red.
El principal objetivo del SO es proporcionar primitivas para conectarse con equipos
remotos y acceder de forma controlada a sus recursos. Estas pueden ser:
• primitivas de comunicación (enviar y recibir datos)
• sistema de ficheros en red (ej. NFS)
• llamada remota a procedimiento (RPC)
• etc.
2
Sistemas Operativos. 2009/10
TEMA 2.- ESTRUCTURA DEL SO
2.1.8 Intérprete de órdenes o de comandos (shell)
Ejemplos:
• JCL en sistemas por lotes,
• COMMAND.COM en MS-DOS,
• shell en UNIX
3
Sistemas Operativos. 2009/10
TEMA 2.- ESTRUCTURA DEL SO
Es la arquitectura más simple para un SO. Es un núcleo compacto, que contiene todas
las rutinas del SO.
Sus características son:
• 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.
• Cuando se usa esta técnica, cada procedimiento del sistema tiene una interfaz
bien definida en términos de parámetros y resultados, y cada uno de ellos es
libre de llamar a cualquier otro, si éste último proporciona un cálculo útil para el
primero.
• Para construir el programa objeto real del sistema operativo siguiendo este punto
de vista, se compilan de forma individual los procedimientos, o los ficheros que
contienen los procedimientos, y después se enlazan en un sólo fichero objeto.
• En términos de ocultación de la información, ésta es prácticamente nula: cada
procedimiento es visible a los demás.
• Los servicios (mediante llamadas al sistema) que proporciona el sistema
operativo se solicitan colocando los parámetros en lugares bien definidos, como
los registros o la pila, para después ejecutar una llamada al kernel o supervisor.
Esta instrucción cambia la máquina del modo usuario al modo kernel, y
transfiere el control al sistema operativo.
• Esta organización sugiere una estructura básica del sistema operativo:
o Un programa principal que llama al procedimiento del servicio
solicitado.
o Un conjunto de procedimientos de servicio que lleva a cabo las llamadas
al sistema.
4
Sistemas Operativos. 2009/10
TEMA 2.- ESTRUCTURA DEL SO
o Un conjunto de procedimientos de utilidades que ayudan a los
procedimientos de servicio.
• En este modelo, para cada llamada al sistema existe un procedimiento de
servicio que se encarga de ella.
En un sistema por capas el S.O. se construye en niveles jerárquicos, cada uno de los
cuales aprovecha los servicios del nivel inferior.
Las características de este sistema son:
• Diseño más modular y escalable que el monolítico.
• Cada capa del SO consistiría en la implementación de un objeto abstracto que es
el encapsulamiento de datos y de operaciones que pueden manipular esos datos.
• La principal ventaja de este enfoque es la modularidad. Las capas se escogen de
forma que cada una sólo utilice funciones y servicios de las capas de niveles
inferiores. Esto simplifica la depuración y verificación del sistema.
• Una capa no necesita saber como se han implementado las operaciones del nivel
inferior; sólo necesita saber que hacen. Así cada capa oculta la existencia de
ciertas estructuras de datos, operaciones y hardware de las capas de niveles más
altos.
• Primer SO con diseño por capas: Sistema THE con seis niveles
• El principal problema del enfoque por capas es que puesto que una capa sólo
puede usar las capas que están a un nivel más bajo la planificación tiene que ser
muy cuidadosa.
• Otra desventajas es que tienden a ser menos eficientes porque las llamadas entre
capas implican el paso de parámetros, es decir cada capa implica un gasto extra.
• La tendencia actual es hacia el equilibrio, menos capas con más funcionalidad ya
que así se conservan las ventajas de la modularidad y se evitan los problemas de
definición e interacción entra las capas.
5
Sistemas Operativos. 2009/10
TEMA 2.- ESTRUCTURA DEL SO
ver un módulo como un servidor de determinados servicios que atiende las peticiones de
otros módulos y que su vez puede ser cliente de otros módulos.
En este modelo lo único que hace el núcleo es controlar la comunicación entre los
clientes y los servidores. 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 ficheros éste puede fallar, pero esto no afectará en general
a toda la máquina.
Una ventaja de este modelo es su capacidad de adaptación para su uso en sistemas
distribuidos gracias a la comunicación mediante mensajes.
La idea de un núcleo que sólo controla el transporte de mensajes de clientes a
servidores, y viceversa, no es totalmente real. Algunas funciones del sistema operativo
son difíciles, si no es que imposible de realizar, a partir de programas de usuario.
Existen dos formas de afrontar este problema:
• Una es hacer que algunos procesos de servidores críticos (por ejemplo, los
gestores de los dispositivos de E/S) se ejecuten en realidad en modo núcleo, con
acceso total al hardware, pero de forma que se comuniquen con los demás
procesos mediante el mecanismo normal de mensajes.
• La otra forma es construir una cantidad mínima de mecanismos dentro del
núcleo, pero manteniendo las decisiones de política relativos a los usuarios
dentro del espacio de los usuarios.
6
Sistemas Operativos. 2009/10
TEMA 2.- ESTRUCTURA DEL SO
7
Sistemas Operativos. 2009/10
TEMA 2.- ESTRUCTURA DEL SO
• Transferencia del control al cargador del SO (una vez que este se ha cargado
completamente en memoria).