Академический Документы
Профессиональный Документы
Культура Документы
ndice
Definicin Evolucin de los Sistemas Operativos Entorno HW Estructura del Sistema Operativo Ncleos de Sistema Operativos
Definicin
Programa que acta como interfaz entre el usuario de un ordenador y el hardware del mismo, ofreciendo el entorno necesario para que el usuario pueda ejecutar programas. Visin de Mquina virtual Presenta al usuario una mquina abstracta ms fcil de programar que el hardware subyacente, ocultando su complejidad, y dando un tratamiento homogneo a diferentes objetos de bajo nivel (archivos, proceso, dispositivos) Visin de Gestor de recursos Controla y protege los recursos (procesador, dispositivos de E/S, memoria, etc.) entre los procesos y usuarios que compiten por ellos.
Introduccin a los Sistemas Operativos 3
Monitor simple residente Un solo fragmento de cdigo que se enlazaba con los programas, cargndose todo en memoria y ejecutndose junto con el programa (biblioteca en tiempo de ejecucin) Sistemas por lotes (batch) Se podran considerar como los primeros SSOOs reales El SSOO estaba almacenado en memoria Cargaba un nico trabajo en memoria (desde el lector de tarjetas)
Introduccin a los Sistemas Operativos 4
Ejecutaba el trabajo (generaba su salida) Cargaba el siguiente trabajo Las tarjetas de control indicaban qu hacer al SSOO Problemas
- Largas esperas entre lotes de trabajo - La dificultad de manejar la concurrencia entre E/S y ejecucin en CPU ayud a estimular el desarrollo de los SSOO multiprogramados - Carecen de interactividad entre el usuario y los trabajos que se ejecutan.
Multiprogramacin Objetivo: Aprovechar los tiempos de espera de un trabajo en la CPU para ejecutar instrucciones de otro trabajo Mtodo:
- Mantener los trabajos simultneamente en memoria - Elegir el trabajo a conmutar - Necesidad de usar interrupciones o DMA
Elementos necesarios:
- Las rutinas de E/S deben estar suministradas por el SSOO - Debe existir una gestin de memoria para poder asignar y controlar la memoria repartida entre varios trabajos - Debe existir una planificacin de la CPU. El SSOO debe elegir uno de entre los diferentes trabajos listos para ejecutarse que hay en memoria - La asignacin de los dispositivos es realizada por el SSOO
Tiempo Compartido Objetivo: Permitir la interaccin entre el usuario y el trabajo que se est ejecutando. Mtodo:
- Utilizar las tcnicas de multiprogramacin y planificacin de la CPU para proporcionar a cada usuario una pequea proporcin del tiempo de CPU.
Caractersticas:
- Cada usuario tiene la impresin de disponer de la mquina completa. - Se intenta optimizar el tiempo de respuesta. - Basados en la asignacin de fracciones de tiempo (se divide el tiempo de CPU de forma equitativa entre los procesos).
Sistemas de tiempo real El factor tiempo se convierte en una variable fundamental. Muy utilizados en sistemas empotrados. El sistema operativo debe responder siempre dentro de los mrgenes requeridos por el sistema controlado, si nos salimos de esos mrgenes, tendremos que buscar otras soluciones. Existen actualmente lenguajes de programacin (Ada) que nos dan grandes posibilidades para controlar procesos en tiempo real.
Introduccin a los Sistemas Operativos 9
Entorno Hardware
Sistema computador Interrupciones y excepciones Modo dual de operacin Proteccin de memoria Proteccin de la CPU
CPU
Controlador de disco
Controlador de impresora
Controlador de terminal
Controlador de memoria
Memoria
El sistema dispone de un bus comn. La CPU y los controladores de dispositivos se comunican a travs del bus comn. El controlador de memoria sincroniza los accesos a memoria. Los dispositivos de E/S y la CPU operan concurrentemente. Los controladores de dispositivos gestionan el tipo particular de dispositivo.
Los controladores de dispositivos tienen un bfer local, colas de peticiones y registros de control/estado. La CPU transfiere los datos de/a memoria principal a/de los bferes locales. Las E/S se realizan desde el dispositivo al bfer local del controlador. Los controladores de dispositivo informan a la CPU que han finalizado mediante una interrupcin.
Definiciones: Interrupcin: es un suceso que cambia el flujo normal de ejecucin. Excepcin: es un suceso inesperado interno al procesador (desbordamiento aritmtico, direccin invlida, instruccin privilegiada, etc.).
Gestor general
de interrupciones SSOO
Memoria Principal
SSOO
Cdigo de usuario
Determina el tipo de interrupcin y ejecuta la rutina de atencin a la interrupcin. En planificacin de CPU selecciona el proceso que se ejecutar prximamente. Restaura el contexto salvado del proceso en ejecucin (o del seleccionado para ejecutarse)
Gestor de excepciones: Al detectarse la excepcin, se transfiere el control al manejador de excepciones (igual que en las interrupciones). Las excepciones se tratan en espacio de usuario. El SSOO simplemente las notifica.
Proteccin Hardware: Objetivo: Evitar la interferencia entre procesos de usuario, y entre los procesos y el SSOO. Mtodo: Definir como instrucciones privilegiadas aquellas que pueden potencialmente daar a otros procesos o usuarios (operaciones de E/S, actualizacin de reloj, deshabilitar interrupciones, etc.) Consecuencia: Diferentes modos de funcionamiento del Hardware.
Llamadas al sistema: Procedimientos o funciones que ofrece el sistema a un proceso de usuario para acceder a determinados servicios propios del SSOO, es decir, servicios que se deben ejecutar en modo kernel o supervisor. Las llamadas al sistema se implementan como excepciones.
(1)
(6)
(2)
excepcin
Manejador de excepciones
(3)
(5)
Modo usuario
(4)
Modo kernel
Paso de parmetros en llamada al sistema: Registros (MS-DOS) Almacenar en una tabla de memoria y pasar la direccin de la tabla como parmetro en un registro. El programa mete los parmetros en pila y el SSOO los recupera. Objetivo: Proteger la memoria para evitar que un proceso de usuario acceda (lectura/escritura) en la memoria asignada a otro proceso. Los SSOO multiusuario y/o multitarea asignan a cada proceso en ejecucin una zona de memoria.
Introduccin a los Sistemas Operativos 22
Objetivo: Proteger la memoria para evitar que un proceso de usuario acceda (lectura/escritura) en la memoria asignada a otro proceso. Los SSOO multiusuario y/o multitarea asignan a cada proceso en ejecucin una zona de memoria.
Dir_1
PROCESO 1 Dir_2
Dir_3
Dir_4 PROCESO 2
Forma de uso:
REGISTRO BASE REGISTRO REGISTRO + LIMITE BASE M E M O R I A
CPU
>=
NO
<
NO
Bus de direcciones
Proteccin de CPU
Los SSOO multiprogramados deben evitar que los procesos se apoderen de la CPU. Mtodo: Uso de un reloj programable o temporizador El reloj puede tener un contador que se decrementa/incrementa en cada ciclo generando una interrupcin cuando llega a cero/overflow El SSOO asocia una fraccin de tiempo a aquel proceso al cual se le asigna la CPU En cada interrupcin de reloj la rutina de atencin comprueba si el plazo a concluido.
Entidad de ejecucin (proceso) Componentes Propiedades Tipos de estructuras o arquitecturas Monoltica Capas Mquina virtual Kernel
Proceso Programa en ejecucin Proceso Programa cargado en memoria y con recursos asignados Responsabilidades del SSOO: crear/destruir procesos suspender/reanudar procesos suministrar mecanismos para sincronizar y comunicar procesos
Componentes (1/5)
Gestor de memoria principal Asignar/Desasignar memoria a los programas Conocer en todo momento la memoria utilizada y quien la usa Decidir el tamao de memoria que se asigna a cada proceso y cuando debe ser retirado de la misma
Componentes (2/5)
Gestor de archivos Archivo Coleccin de datos (informacin) referenciada bajo un nombre. Operaciones sobre archivos:
Crear/borrar archivos o (directorios) Llamadas al sistema para su manipulacin: leer, escribir, renombrar, etc. Servicios de backup, cuotas, etc.
Componentes (3/5)
Gestor de E/S Los SSOOs modernos proporcionan una I/F estndar entre los programas y los dispositivos, es decir, utilizan las mismas funciones independientemente del dispositivo. El mdulo del SSOO responsable de gestionar el tipo de dispositivo y encapsular el conocimiento especfico del dispositivo es el manejador de dispositivo.
Componentes (4/5)
Sistema de Proteccin Objetivo: Controlar los accesos de programas, procesos o usuarios, al sistema o a los recursos de usuario. Mtodo:
- Distinguir entre uso autorizado o no - Especificar el control que se debe imponer - Suministrar los medios para su aplicacin
El sistema de proteccin no est localizado en un nico mdulo, sino que que es un mecanismo general a todo el SSOO.
Introduccin a los Sistemas Operativos 32
Componentes (5/5)
Intrprete de rdenes Proceso que maneja la interpretacin de rdenes del usuario desde un terminal, para utilizar los servicios que proporciona el SSOO. Este proceso hace de interfaz con el usuario u operador del sistema. (csh, bash, ksh, etc.)
Propiedades
Eficacia Consumo: >40% de los ciclos de CPU Fiabilidad Robustez: El SSOO debe responder de forma predecible a casos de error, incluidos fallos HW Proteccin: El SSOO debe protegerse a s mismo y a los usuarios de acciones accidentales o malintencionadas. Extensibilidad Variar o crecer la funcionalidad del SSOO de forma sencilla.
Introduccin a los Sistemas Operativos 34
Monoltica Toda la funcionalidad del SSOO se incluye en el ncleo Todos los componentes del SSOO se ejecutan en modo supervisor Empleado en sistemas pequeos Difcil de modificar en tiempo de ejecucin Difcil de mantener
Monitor
Peticin de E/S Proceso de la interrupcin
Dispositivos
Comienzo de la E/S
Interrupcin
Kernel Manejo de procesos e hilos Manejo bajo de memoria Soporte a las comunicaciones Manejo de interrupciones y operaciones de bajo nivel de E/S Se usan procesos servidores que se encargan de ofrecer el resto de servicios (por ejemplo el de sistema de archivos) Menor rendimiento que la arquitectura monoltica debido a la sobrecarga de comunicaciones
Empleado en sistemas grandes Fcil de modificar en tiempo de ejecucin Ms adpatable que la arquitectura monoltica Slo el microncleo se ejecuta en modo supervisor
Lectura de disco
Dispositivo
Interrupcin Despertar
Microncleo
Proceso de la interrupcin