Download 04_-_componentes_y_ejecutivo
Document related concepts
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