Download Sistemas Operativos: Componentes

Document related concepts

Planificador wikipedia , lookup

Sistema operativo wikipedia , lookup

Gestión de memoria wikipedia , lookup

Núcleo (informática) wikipedia , lookup

Sistema operativo de tiempo real wikipedia , lookup

Transcript
Sistemas Operativos
•Componentes
•Ejecutivo de Tiempo Real
Dr. Pedro Mejía Alvarez
CINVESTAV-IPN, Seccion de Computación, Mexico
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
1
Estructuras 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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
2
Componentes 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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
3
Administració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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
4
Administració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.
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
5
Administració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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
6
Administració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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
7
Administració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 (novolatil).
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
8
Sistema 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.
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
9
Sistema 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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
10
Servicios 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.
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
11
Programas 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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
12
Estructura 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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
13
Sistemas 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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
14
Ejecutivo 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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
15
Componentes del Ejecutivo de Tiempo Real
Scheduling
information
Real-time
clock
Interrupt
handler
Scheduler
Process resource
requirements
Processes
awaiting
resources
Ready
processes
Ready
list
Dr. Pedro Mejía Alvarez
Available
resource
list
Resour ce
manager
Released
resources
Processor
list
Despatcher
Executing
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
process
16
Componentes 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.
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
17
Prioridad 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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
18
Servicio 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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
19
Servicio 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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
20
Administrador de Procesos
Scheduler
Selecciona procesos
para ejecucion
Dr. Pedro Mejía Alvarez
Resource Manager
Dispatcher
Reserva y aloja
cpu y memoria
Asigna el CPU
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
21
Despachador 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
Dr. Pedro Mejía Alvarez
Curso de Sistemas de Tiempo Real
CINVESTAV-IPN, Seccion de Computacion
22