2. Estructura de los sistemas Operativos

2. Estructura de los sistemas Operativos - Page 1
2. Estructura de los sistemas Operativos - Page 2
2. Estructura de los sistemas Operativos - Page 3

Descargar

1 de 3

2. Estructura de los sistemas Operativos


Documentos relacionados


Estructura de los sistemas de Operativos Transcripciones

 1 
2. Estructura de los sistemas Operativos 
 
En esta sección veremos los componentes de un sistema operativo, los servicios que él 
brinda y sus posibles estructuras.  
 
1. Componentes de un sistema operativo 
• Administración de procesos 
• Administración de memoria 
• Subsistema de Entrada/Salida 
• Administración de Almacenamiento secundario 
• Subsistema de archivos 
• Sistema de protección 
 
Administración de Procesos 
 
Para comenzar debemos saber que es un proceso. Un proceso es un programa en 
memoria + CPU + acceso a dispositivos + otros recursos. Notemos que un proceso 
necesita de ciertos recursos (como CPU, memoria, archivos, dispositivos de E/S, etc.) 
para realizar su tarea.  
Podemos ver entonces que un proceso es una entidad activa, mientras que un programa 
una entidad pasiva.  
 
Sabiendo entonces que es un proceso, podemos decir entonces que el sistema operativo 
es el encargado de su administración. Es el encargado de proveer servicios para que 
cada proceso pueda realizar su tarea. Entre los servicios se encuentran: 
• Crear y destruir procesos 
• Suspender y reanudar procesos 
• Proveer mecanismos para la sincronización y comunicación entre procesos 
• Proveer mecanismos para prevenir dead-locks o lograr salir de ellos.  
 
Administración de Memoria 
 
La memoria es un área de almacenamiento común a los procesadores y dispositivos, 
donde se almacenan programas, datos, etc. El sistema deberá administrar el lugar libre y 
ocupado, y será el encargado de las siguientes tareas: 
• Mantener que partes de la memoria están siendo usadas, y por quien. 
• Decidir cuales procesos serán cargados a memoria cuando exista espacio de 
memoria disponible, pero no suficiente para todos los procesos que deseamos. 
• Asignar y quitar espacio de memoria según sea necesario. 
 
Subsistema de Entrada/Salida 
 
El sistema operativo deberá ocultar las características específicas de cada dispositivo y 
ofrecer servicios comunes a todos. Estos servicios serán, entre otros: 
• Montaje y desmontaje de dispositivos 
• Una interfaz entre el cliente y el sistema operativo para los device drivers. 
• Técnicas de cache, buffering y spooling. 
• Device drivers específicos 
 
 2 
Administración de Almacenamiento secundario 
 
Dado que la memoria RAM es volátil y pequeña para todos los datos y programas que 
se precisan guardar, se utilizan discos para guardar la mayoría de la información. El 
sistema operativo será el responsable de: 
• Administrar el espacio libre 
• Asignar la información a un determinado lugar 
• Algoritmos de planificación de disco (estos algoritmos deciden quien utiliza un 
determinado recurso del disco cuando hay competencia por él) 
 
Subsistema de Archivos 
 
Proporciona una vista uniforme de todas las formas de almacenamiento, implementando 
el concepto de archivo como una colección de bytes. El Sistema Operativo deberá 
proveer métodos para: 
• Abrir, cerrar y crear archivos 
• Leer y escribir archivos 
 
Sistema de protección 
 
Antes que nada, tener en cuenta que por protección nos referimos a los mecanismos por 
los que se controla el acceso de los procesos a los recursos. 
En un sistema multiusuario donde se ejecutan procesos de forma concurrente se deben 
tomar medidas que garanticen la ausencia de interferencia entre ellos. Estas medidas 
deben incorporar la posibilidad de definir reglas de acceso, entre otras cosas.  
 
2. Servicios del Sistema Operativo 
 
El sistema brindará un entorno de ejecución de programas donde se dispondrá de un 
conjunto de servicios. Los servicios principales serán: 
• Ejecución de programas (el SO deberá ser capaz de cargar un programa a 
memoria y ejecutarlo. El programa deberá poder finalizar, de forma normal o 
anormal) 
• Operaciones de E/S (el SO deberá proveer un mecanismo de acceso ya que por 
eficiencia y protección los usuarios no accederán directamente al dispositivo) 
• Manipulación del Sistema de archivos (se deberá tener acceso al sistema de 
archivos y poder, como mínimo, leer, escribir, borrar y crear) 
• Comunicación entre procesos (los procesos deberán poder comunicarse, ya sea 
que estén en el mismo computador o el diferentes) 
• Manipulación de errores (el sistema deberá tomar decisiones adecuadas ante 
eventuales errores que ocurran, como fallo de un dispositivo de memoria, fallo 
en un programa, etc.) 
 
3. Estructura del Sistema 
 
La estructura interna de los sistemas operativos pueden ser muy diferentes, ya que se 
debe tener en cuenta las metas de los usuarios (fácil uso, confiable, rápido, etc.) y las del 
sistema (fácil de diseñar, implementar y mantener, eficiente, etc.).  
Veremos 3 posibles diseños del sistema. 
 
 3 
• Sistema Monolítico 
 
Estos sistemas no tienen una estructura definida, sino que son escritos como una 
colección de procedimientos donde cualquier procedimiento puede invocar a otro.  
 
Ejemplos de estos sistemas pueden ser MS-DOS o Linux (aunque incluye algo de 
capas). Es importante tener en cuenta que ningún sistema es puramente de un tipo.  
 
• Sistema en capas 
 
El diseño se organiza en una jerarquía de capas, donde los servicios que brinda 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. 
 
 
Estos sistemas tienen como ventaja que son 
modulares y la verificación se puede hacer a 
cada capa por separado (son más mantenibles).  
Sin embargo el diseño es muy costoso y es 
menos eficiente que el sistema monolítico ya 
que pierde tiempo pasando por cada capa.  
 
 
 
 
 
 
 
• Sistema con micronúcleo 
 
La idea consiste en tener un núcleo que brinde los servicios mínimos de manejo de 
procesos, memoria y que provea la comunicación entre procesos. Todos los restantes 
servicios se construyen como procesos separados del micronúcleo, que ejecutan en 
modo usuario. 
 
Estos sistemas tienen como ventaja un diseño simple y funcional, que aumenta la 
portabilidad y la escalabilidad. Para agregar un nuevo servicio no es necesario modificar 
el nucleo, y es más seguro ya que los servicios corren en modo usuario.  
 
 

© 2016 - 2017 Docmia. Todos los derechos reservados.