Download 04_-_componentes_y_ejecutivo

Document related concepts

Planificador wikipedia , lookup

Sistema operativo wikipedia , lookup

Gestión de memoria wikipedia , lookup

Proceso de arranque en Linux wikipedia , lookup

Proceso (informática) wikipedia , lookup

Transcript
Sistemas Operativos
•Componentes
•Ejecutivo de Tiempo Real
L.I. Gerardo Ortiz Rivera
Departamento de Ciencias Exactas e Ingenieria
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
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
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
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.
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
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
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 (no-volatil).
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.
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
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.
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
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
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
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
Componentes del Ejecutivo de Tiempo Real
Scheduling
information
Real-time
clock
Interrupt
handler
Scheduler
Process resource
requirements
Processes
awaiting
resources
Ready
processes
Ready
list
Available
resource
list
Resource
manager
Released
resources
Processor
list
Despatcher
Executing
process
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.
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
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
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
Administrador de Procesos
Scheduler
Selecciona procesos
para ejecucion
Resource Manager
Dispatcher
Reserva y aloja
cpu y memoria
Asigna el CPU
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