Caja de herramientas de inteligencia artificial para la academia y la investi...
3.estructura de un sistema operativo
1. Estructura de un sistema operativo
Administra Sistemas Operativos
Ing. Rene Domínguez Escalona
Jaqueline Moncayo Ojeda
Grupo 502
COLEGIO DE ESTUDIOS CIENTÍFICOS Y TECNOLÓGICAS DEL
ESTADO DE MÉXICO
2. OBJETIVO:
APRENDER LA ESTRUCTURA DE UN SISTEMA OPERATIVO
INTRODUCCION:
Esta es la estructura 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.
3. 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 recurso
Administración de Memoria
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.
4. 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
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
5. 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.
6. 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
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.
Sistema con micro nú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 micro núcleo, que ejecutan en
modo usuario.
7. ESTRUCTURA MODULAR
También llamados sistemas monolíticos, se caracterizan por que carecen de estructura.
Este sistema se describe como una colección de procedimientos es decir que estos pueden llamar a otros
sistemas cada vez que así lo requieran.
ESTRUCTURA DE ANILLOS O CAPAS
Consiste en organizar al sistema operativo en una jerarquía de capas, es decir que una esta construida sobre la inmediata
inferior
El primer sistema construido de esta forma fue el llamado SISTEMA THE (Technische Hogeschool Eindhoven) el cual constaba
de seis capas:
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 cero proporciona la multiprogramación básica de la CPU
CAPA 1: Realizaba la administración de la memoria. Asignaba el espacio de memoria principal para los procesos 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.
CAPA 2: Era la que 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.
8. CAPA 3: Controla los dispositivos de ENTRADA Y SALIDA y guarda en almacenes (buffers) los flujos de
información entre ellos.
CAPA 4: Estaban los programas del usuario, estos no tenían que preocuparse por el proceso, memoria, consola o
control de E/S.
CAPA 5: Es donde se localiza el proceso operador del sistema
ESTRUCTURA MICROKERNEL
En esta estructura es donde las funciones centrales son controladas por el núcleo mas conocido como KERNEL y la interfaz del
usuario es controlada por el entorno mas conocido como SHELL
El microkernel se encarga de la planificación de hilos (post anterior), no de procesos, esto hace posible tener varias tareas
(multitarea), siendo así el microkernel el que planifica todo el código que corre en el sistema
Estas son algunas de las tareas que realiza el microkernel:
- Manipulación de las interrupciones en el sistema desde dispositivos físicos.
- Manipula excepciones del procesador.
- Proporciona soporte para la recuperación de un sistema con alguna falla de caída de energía