Title: Sistemas Operativos
1Sistemas Operativos
- Componentes
- Ejecutivo de Tiempo Real
- Dr. Pedro MejÃa Alvarez
- CINVESTAV-IPN, Seccion de Computación, Mexico
2Estructuras del Sistema Operativo
- Componentes del sistema
- Servicios del sistema operativo
- Llamadas al sistema
- Programas del sistema
- Estructura del sistema
- Maquinas virtuales
- Diseño del sistema e implementación
3Componentes del sistema
- Administración de procesos
- Administración de memoria principal
- Administración de memoria secondaria
- Administración de disposisitivos de E/S
- Administración de archivos
- Sistema de protección
- Redes
- Sistema de interprete de comandos
4Administración de procesos
- Un proceso es un programa en ejecución. Un
proceso necesita ciertos recursos, incluyendo
tiempo de CPU, memoria, archivos, y dispositivos
de E/S, para lograr su tarea. - El sistema operativo es reponsable de las
siguientes actividades en la administración de
procesos - creación de procesos y borrado.
- suspensión de procesos y resumen.
- mecanismos de
- sincronización de procesos
- comunicación entre procesos
5Administración de Memoria Principal
- La memoria es un array de words y bytes, cada
uno con su dirección propia. Es un repositorio de
datos de rápido acceso compartido por el CPU y
los dispositivos de E/S - La memoria principal es un dispositivo de
almacenamiento volatil. Pierde su contenido en
caso de interrupción del sistema y falla. - El sistema operativo es responsable de las
siguientes actividades respecto a la admistración
de memoria - Llevar cuenta de que partes de la memoria estan
siendo utilizadas y por quien. - Decidir que procesos cargar en memoria cuando
esta está disponible. - Alojar y desalojar espacio de memoria cuando sea
requerido.
6Administración de memoria secundaria
- Dado que la memoria principal es volatil y muy
pequeña para almacenar todos los datos y los
programas en forma permanente, el sistema de
cómputo provee memoria secundaria para respaldar
la memoria principal. - La mayoria de las computadoras modernas utilizan
discos como medio de almacennamiento en linea,
para programas y datos. - El sistema operativo es responsable de las
siguientes actividades respecto a la
administración de la memoria secundaria - Administración del espacio de memoria libre.
- Alojamiento de memoria
- Planificación del disco
7Administración de entradas y salidas
- El sistema de entradas y salidas consiste de
- un sistema de buffer-caching
- Una interface general de drivers de dispositivos
- Drivers para dispositivos especÃficos
8Administración de archivos
- Un archivo es una colección de información
relacionada definida por su creador. Comunmente,
los archivos representan programas (en formato
fuente y objeto) y datos. - El sistema operativo es responsable de las
siguientes actividades respecto a la
adminstración de archivos - Creación de archivos y borrado.
- Creación de directorio y borrado.
- Soperte de primitivas de manipulaciónvde archivos
y directorios. - Mapeo de archivos en memoria secundaria.
- Respaldo de archivos en un medio de
almacenamiento estable (no-volatil).
9Sistema de Protección
- La protección es un mecanismo control de acceso
de los programas, procesos o usuarios al sistema
o recursos. - El sistema de protección debe
- distinguir entre usos autorizados y
no-autorizados. - especificar el tipo de control de acceso
impuesto. - proveer medios para el aseguramiento de la
protección.
10Sistema de Interprete de comandos
- Muchos comandos son proporcionados por el sistema
operativo mediante estatutos de control que
tienen las siguientes funciones - creación de procesos y administración
- administración de E/S
- administración de almacenamiento secundario
- administraciónd e memoria principal
- acceso al sistema de archivos
- protección
- acceso a la red
11Servicios del sistema operativo
- Ejecución de programas- capacidad del sistema de
cargar un programa en memoria y ejecutarlo. - Operaciones de E/S - dado que los programas no
pueden ejecutar operaciones de E/S directamente,
el sistema operativo debe proveer medios para
realizarlas. - Manipulaciones del sistema de archivos -
capacidad de los programas de leer, escribir,
crear y borrar archivos. - Comunicaciones - intercambio de información entre
procesos ejecutando en la misma computadora o en
otra conectada a travez de una red. Implementada
mediante memoria compratida o por paso de
mensajes. - Deteccion de errores - asegurar un cómputo
correcto mediante la detección de errore en el
CPU, memoria, dispositivos de E/S o en los
programas de usuario.
12Programas del sistema
- Los programas del sistema proveen un ambiente
para el desarrollo y ejecución de programas.
Pueden dividirse en - Manipulación de archivos
- Información de estatus
- Modificación de archivos
- Programación
- Soporte de languaje
- Cargado y ejecución de programas
- Comunicaciones
- Programas de aplicación
13Estructura del sistema
- Nivel 5 programas de usuario
- Nivel 4 buffering para dispositivos de E/S
- Nivle 3 driver de dispositivo para la consola
del operador - Nivel 2 administración de memoria
- Nivel 1 administración del CPU
- Nivel 0 hardware
14Sistemas Distribuidos
- Un sistema distribuido es una colección de
procesadores que no comparten memoria ni reloj.
Cada proceso tiene su propia memoria local. - Los procesadores en el sistema están conectados a
traves de una red de comunicaciones - El sistema distribuido provee acceso a varios
recursos compartidos. - El acceso a recursos compartidos permite
- Incremento el velocidad de cómputo
- Incremento en disponibilidad de los datos
- Mejora en la confiabilidad
15Ejecutivo de Tiempo Real
- Los ejecutivos de tiempos real se basan en
sistemas operativos especializados que manejan
los procesos en el STR (RTS) - Responsabilidad de la administración de procesos
y asignación de recursos (procesador y memoria) - Deben estar basados en un kernel RTE estándar el
cual es usado sin cambios o modificado para una
aplicación - No incluye facilidades tales como administrador
de archivos
16Componentes del Ejecutivo de Tiempo Real
17Componentes Principales
- Reloj de tiempo real
- Provee información para el calendario de procesos
(process scheduling). - Manejador de interrupciones
- Controla el servicio a los requerimientos
instantáneos. - Scheduler
- Selecciona el próximo proceso a correr.
- Administrador de recursos
- Asigna recursos de memoria y dispositivos de E/S.
- Despachador
- Inicia la ejecución de procesos.
18Prioridad de Procesos
- El procesamiento de algunos tipos de estimulación
debe tomar prioridad algunas ocasiones - Prioridad de nivel de interrupción. La más alta
prioridad está asignada a los procesos que
requieren una respuesta mucho más rápida - Prioridad en nivel de reloj. Asignado a procesos
periódicos - Dentro de eso, los niveles de más baja prioridad
deben ser asignados
19Servicio de Interrupciones
- El control se transfiere automáticamente a una
ubicación predeterminada en la memoria - Esta ubicación contiene una instrucción de salto
a una rutina de servicio de interrupciones - Las interrupciones son deshabilitadas, el
servicio de interrupciones y el control regresan
al proceso interrumpido - Las rutinas del servicio de interrupciones DEBEN
ser cortas, simples y rápidas
20Servicio de Procesos Periódicos
- En la mayorÃa de sistemas de tiempo real, habrán
varias clases de procesos periódicos, cada uno
con diferentes perÃodos (tiempo entre
ejecuciones), tiempos de ejecución y topes
(tiempo para el cual el procesamiento debe
completarse) - El reloj de tiempo real está marcando
periódicamente y cada marca causa una
interrupción en procesos periódicos la cual se
calendariza en el administrador de procesos - El administrador de procesos selecciona un
proceso el cual está listo para ejecutarse
21Administrador de Procesos
Dispatcher
Scheduler
Resource Manager
Selecciona procesos para ejecucion
Reserva y aloja cpu y memoria
Asigna el CPU
22Despachador de procesos
- El scheduler elige el próximo proceso a
ejecutarse por el procesador. Esto depende de una
estrategia de calendarización que debe tomar en
cuenta la prioridad del proceso - El administrador de recursos asigna memoria y un
procesador para el proceso a ejecutarse - El despachador toma el proceso de la lista, lo
carga en el procesador y empieza la ejecución