Diseño de Sistemas Operativos Temario 1. 2. 3. 4. 5. 6. 7. 8. 9. 4º Curso Fernando Pérez [email protected] José María Peña [email protected] Francisco Rosales [email protected] DATSI Universidad Politécnica de Madrid Introducción Procesos Interbloqueos Gestión de Memoria Administración de Sistemas Entrada/Salida Sistemas de Ficheros Protección y Seguridad Introducción a los SSOO Distribuidos Fernando Pérez Jose Mª Peña Francisco Rosales Tema 1. Introducción 1 Módulo 1. Conceptos y Evolución ¿Qué es un sistema operativo? Evolución de los Sistemas Operativos Cuatro módulos: 1. 2. 3. 4. Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Conceptos y evolución Estructuras de un sistema de computación Estructuras del sistema operativo Aspectos de diseño e implementación Objetivos: Que el alumno entienda el porqué de los SSOO Comprender el porqué de cada parte del SO Mostrar las distintas estructuras de SSOO Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 2 Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO personas, máquinas u otros computadores Aplicaciones consumen los recursos para resolver los problemas de computación de los usuarios Sistema Operativo Facilitar el uso al usuario (interfaz) Facilitar la programación al programador (máquina virtual extendida) Ejecutar programas eficientemente (gestor de recursos) Fernando Pérez Jose Mª Peña Francisco Rosales 3 Usuarios Un programa que actúa como intermediario entre el usuario de un computador y el hardware del mismo Objetivos del sistema operativo: Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Componentes de un sistema de computación ¿Qué es un sistema operativo? Fernando Pérez Jose Mª Peña Francisco Rosales controla y coordina el uso del hardware entre las distintas aplicaciones de los distintos usuarios Hardware 4 proporciona los recursos básicos de computación (UCP, memoria, dispositivos de E/S) Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 5 Visión abstracta del sistema usuario usuario 11 usuario usuario 22 usuario usuario 33 compilador compilador ensamblador ensamblador editor editorde detexto texto ... Definiciones de sistema operativo Gestor de recursos: usuario usuario nn gestión y asignación de recursos del computador Programa de control: ... ... base basede dedatos datos Aplicaciones Aplicacionesdel delsistema sistema Núcleo: Sistema SistemaOperativo Operativo Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 6 Evolución: Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 8 7 Grandes máquinas manejadas por consola Sistemas monousuario monoprogramados 3en1: programador, operador, usuario Cinta de papel o tarjetas perforadas Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 9 Rendimiento Ensambladores, compiladores, enlazadores y cargadores Bibliotecas de subrutinas comunes Manejadores de dispositivo Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Máquina desnuda (1950) III Software Fernando Pérez Jose Mª Peña Francisco Rosales Estructura Máquina desnuda (1950) II extiende y enmascara la funcionalidad del hardware Máquina desnuda (1950) I Maquina desnuda Sistemas sencillos por lotes Sistemas por lotes multiprogramados Sistemas de tiempo compartido Sistemas de computación personal Sistemas paralelos Sistemas distribuidos Sistemas de tiempo real Fernando Pérez Jose Mª Peña Francisco Rosales el único programa que ejecuta siempre (por debajo y anterior a cualquier otro programa) Máquina virtual: Hardware Hardwaredel del computador computador Fernando Pérez Jose Mª Peña Francisco Rosales controla la ejecución de los programas de usuario y las operaciones de los dispositivos de E/S Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 10 Uso ineficiente de recursos caros Uso UCP muy pobre Largo tiempo de activación Ventaja: seguridad Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 11 Sistema sencillo por lotes Monitor residente Lectora de tarjetas como dispositivo de entrada Reduce el tiempo de activación agrupando trabajos similares Monitor residente Secuenciador automático de trabajos Control inicial en el monitor Se transfiere control a una tarea Cuando la tarea termina, el control vuelve al monitor Intérprete de tarjetas de control Cargador y manejadores de dispositivos Usuario != operador Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 12 Sistema sencillo por lotes Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO lectora lectorade de tarjetas tarjetas Sistema monoprogramado E/S y UCP no solapan procesador procesador satélite satélite impresora impresora Solución: 13 Spooling Problemas: Nace el centro de cálculo cintas cintasdel delsistema sistema E/S lenta (tarjeta, impresora) offline E/S rápida (carga) a cinta o disco computador computador principal principal Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 14 Spooling Fernando Pérez Jose Mª Peña Francisco Rosales 15 Spooling Usar UCP durante E/S Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Disco Disco mientras se ejecuta un trabajo, se lee el siguiente y se imprime la salida del anterior Cola de tareas estructura de datos que permite que el SO seleccione qué trabajo ejecutar el siguiente para optimizar uso de UCP Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 16 Lectora Lectorade de tarjetas tarjetas Fernando Pérez Jose Mª Peña Francisco Rosales UCP UCP Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Impresora Impresora de delíneas líneas 17 Sistema por lotes multiprogramado Multiplexación de la CPU Varios trabajos en memoria principal al mismo tiempo Se multiplexa la UCP entre ellos SO SO u1 u1 u2 u2 u3 u3 u4 u4 UCP u2 u1 E/S SO L leer ses planificador L+1 Rodaja planificador R R+1 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 18 Características de un SO multiprogramado Asignación de dispositivos ¡Todos SSOO actuales son multiprogramados! 20 Sistemas de computación personal PCs teclado, ratón, pantallas gráficas,... Hasta ahora sistemas aislados, poca atención a la seguridad UCP muy potente (1Ghz) Mucha memoria (512MB) Conexión a red Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO permite a los usuarios el acceso a datos y código Multiusuario varios usuarios simultáneos cada usuario cree tener todo el computador Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 21 Multiprocesadores: Varias CPU fuertemente acopladas Memoria compartida Sistema operativo único reloj común comunicación y sincronización vía memoria Muy interactivos sustituye a tarjetas de control Sistemas paralelos I Dedicados a un único usuario (monousuario) Multiprogramados (generalmente) Variedad de dispositivos de E/S comunicación on-line entre usuario y sistema Sistema de ficheros on-line UCP multiplexada. Varios trabajos en memoria Intérprete de mandatos elegir entre varios trabajos listos para ejecutar Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 19 Interactivo asignar la memoria a varios trabajos Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Multiprogramado Planificación de la UCP: planificador Sistemas de tiempo compartido Las rutinas de E/S pertenecen al sistema Gestión de memoria: Fernando Pérez Jose Mª Peña Francisco Rosales interrupción Ventajas: 22 Incremento de rendimiento Económicos Incremento de fiabilidad: degradación parcial, tolerancia a fallos Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 23 Sistemas paralelos II UCP UCP 11 UCP UCP 22 Tipos de sistemas paralelos UCP UCP 33 UCP UCP nn Según el número de CPUs: Supercomputadores De 64 en adelante (miles) red redfuertemente fuertementeacoplada acoplada(bus, (bus,switch switch,,...) ...) De 2 a 64 memoria memoria Fernando Pérez Jose Mª Peña Francisco Rosales memoria memoria De 2 a 8 Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 24 Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Fernando Pérez Jose Mª Peña Francisco Rosales 26 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 27 Sistemas distribuidos I Múltiple procesadores débilmente acoplados: Planificador más complejo Gestión de memoria más compleja Gestión de caches de memoria muy importante para rendimiento Físicamente separados, NO comparten memoria Comunicación mediante mensajes Los SO se comportan como uno único Ventajas: Todos son recursos compartidos Programación concurrente en el SO Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 25 Cada procesador ejecuta una copia idéntica del SO Muchos procesos simultáneos sin pérdida de rendimiento Cada procesador ejecuta el primer trabajo listo para ejecutar, no hay jerarquía Características SO paralelo Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Multiproceso simétrico SMP Cada procesador tiene asignada una tarea específica (E/S, SO, procesos...) Un procesador maestro planifica el trabajo de los esclavos Muy frecuente en supercomputadores Manera trivial de portar un SO convencional a un multiprocesador Computadores personales paralelos memoria memoria Multiproceso asimétrico Fernando Pérez Jose Mª Peña Francisco Rosales Multiprocesadores 28 Compartición de recursos Reparto dinámico de carga Fiabilidad: replicación y tolerancia a fallos El mismo modelo de comunicación vale para una red local o extendida, o para máquina aislada Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 29 Tipos de sistemas distribuidos Sistemas distribuidos II memoria memoria memoria memoria memoria memoria UCP UCP 11 UCP UCP 22 UCP UCP 33 Red de computadores conectados con una RAL Clusters conectados por una RAV Red de procesadores con memoria propia memoria memoria ... UCP UCP nn red reddébilmente débilmenteacoplada acoplada(RAL, (RAL,RAV, RAV,RAE, RAE,...) ...) Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 30 Características sistemas distribuidos Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 31 Sistemas de tiempo real Cada nodo tiene su SO independiente El usuario NO debería saber donde está trabajando ni donde están sus ficheros Los SO colaboran para crear este efecto Restricciones de tiempo bien definidas ejecutan tareas en el tiempo y orden prefijados STR críticos avión, satélite, médicos, etc. No pueden perder ningún deadline de tarea Almacenamiento secundario limitado o ausente Sistemas dedicados, no de propósito general STR suave Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 32 Módulo 2. Estructuras de un sistema de computación Arquitectura del computador Funcionamiento del computador Estructura de E/S Jerarquía de memoria Protección por hardware Arquitectura general del sistema multimedia, comunicaciones, etc. Pueden perder deadlines de tareas no críticas Uso limitado en sistemas de control Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 33 Arquitectura del computador UCP UCP disco disco disco disco impresora impresora controlador controlador de dedisco disco controlador controlador de deimpresora impresora cinta cinta cinta cinta controlador controlador de decinta cinta bus busdel delsistema sistema controlador controlador de dememoria memoria memoria memoria Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 34 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 35 Funcionamiento del computador UCP y dispositivos de E/S en concurrencia Manejadores de dispositivos de E/S que: Interrupciones ¡¡El sistema operativo es guiado por interrupciones!! Se encargan de cada tipo de dispositivo Tienen almacenes locales de datos Ej. operación de Entrada: Tratamiento: Desde cada dispositivo a memoria de su controlador El controlador informa a la UCP que tiene los datos listos mediante un interrupción Se dispara una rutina de tratamiento de interrupción (RTI) Trap: interrupción generada por software La UCP mueve los datos del almacén local a memoria principal Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Salvar el estado de la UCP guardando registros, CP, etc. Inhibir interrupciones, para no perder otras Determinar qué interrupción ha ocurrido (polling, vector) Indexar en vector de interrupciones y saltar a RTI RTI: tratamiento para una interrupción Restaurar estado previo para seguir ejecución 36 E/S y acceso directo a memoria error o petición de usuario Fernando Pérez Jose Mª Peña Francisco Rosales Sin intervención de la UCP memoria memoria UCP UCP Programación: datos E/S, buffer memoria, longitud dispositivos dispositivosde de entrada/salida entrada/salida instrucciones de E/S Resultado: interrupción 37 E/S y acceso directo a memoria Dispositivos de E/S que envían/toman los datos directamente a/de memoria Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Indica estado de terminación (OK, ERROR) Una interrupción por bloque, no por byte Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 38 Jerarquía de memoria 39 Compartir recursos cache cache memoria memoriaprincipal principal El SO asegura que un programa no afectará a otro Solución: disco discoelectrónico electrónico disco discomagnético magnético Mecanismo de protección hardware (bit) que permite, al menos, 2 modos de ejecución: usuario (1) y sistema (0). Instrucciones privilegiadas sólo posibles en modo sistema Cuando hay interrupción, trap o excepción, el hardware cambia a modo sistema disco discoóptico óptico cintas cintasmagnéticas magnéticas Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Modo dual de operación registros registros Fernando Pérez Jose Mª Peña Francisco Rosales Fernando Pérez Jose Mª Peña Francisco Rosales 40 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 41 Protección por hardware Modo dual de operación E/S: interrupción/fallo siempre instrucciones privilegiadas, modo sistema Memoria: monitor monitor usuario usuario registros base y límite por programa accesos fuera originan un fallo de protección UCP: pasar a modo usuario Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 42 Protección por hardware 256000 registro base 300040 300040 tarea tarea22 registro límite Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 43 Método estándar de acceso a los servicios del SO El programa genera un trap (interrupción sw) Se salta a ejecutar la RTI (servicio del SO) y a la vez se cambia a modo sistema El SO verifica los parámetros, ejecuta la petición y devuelve control en la instrucción siguiente El SO oculta las llamadas al sistema en bibliotecas que se instalan con el SO 420940 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Si las instrucciones de E/S son privilegiadas, ¿cómo ejecuta el usuario la E/S? Llamada al sistema: monitor monitor tarea tarea11 Fernando Pérez Jose Mª Peña Francisco Rosales Arquitectura general del sistema 0 256000 temporizador que interrumpe periódicamente para dar control al SO y que decida 44 Módulo 3. Estructuras del sistema operativo Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 45 Componentes del SO Básicos: Componentes del sistema Llamadas al sistema Estructura de un sistema operativo Máquinas virtuales Gestor de procesos Gestor de memoria Gestor de E/S y almacenamiento secundario Servidores: Servidor de ficheros Servidor de protección y seguridad Servidor de comunicaciones por red Utilidades: Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 46 Intérprete de mandatos Programas de sistema Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 47 Gestor de procesos Gestor de memoria Memoria: Un proceso es un programa en ejecución Es la unidad que consume recursos: UCP, memoria, ficheros, etc. El SO gestionar lo siguiente de los procesos: El SO gestiona lo siguiente de la memoria: Creación y destrucción Suspensión y reanudación Mecanismos de comunicación y sincronización Asignación de los recursos al proceso Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 48 Gestor de entrada/salida Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 50 Conjunto de información lógicamente relacionada Directorio: Fichero que contiene asociaciones entre nombres de fichero e identificadores internos del SO El SO gestiona lo siguiente de los ficheros: Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 49 Vector enorme de “bloques” Almacenamiento no volátil Usado como respaldo de memoria principal 52 Asignación y liberación de espacio Planificación de accesos a los discos Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 51 Servidor de protección y seguridad I Protección: Controlar el acceso a los recursos por parte de los procesos (de los usuarios) El servidor de protección debe: Creación y borrado de ficheros y directorios Primitivas para manipularlos Proyectar los ficheros en memoria Respaldar los ficheros en dispositivos no volátiles Fernando Pérez Jose Mª Peña Francisco Rosales Fichero: Servidor de ficheros y directorios Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO El SO gestiona lo siguiente del almacenamiento secundario: Traduce peticiones a formato de manejador Copia memoria de/hacia el controlador Controla transferencias por DMA Fernando Pérez Jose Mª Peña Francisco Rosales Fernando Pérez Jose Mª Peña Francisco Rosales Dispositivos rápidos de E/S (discos) Almacenamiento intermedio en memoria (caché) Manejadores genéricos, uno por cada clase de dispositivo Gestión individualizada por dispositivo existente El SO gestiona lo siguiente de la E/S: Qué partes están en uso y quién las está usando Qué procesos se deben cargar, y dónde Asigna y libera espacio cuando se requiere Gestión del almacenamiento secundario El gestor de E/S está formado por: Vector enorme de palabras o bytes (direcciones) Compartida por UCP y dispositivos E/S Volátil: pierde su contenido sin alimentación Distinguir entre uso autorizado y no autorizado Especificar los controles de acceso a llevar a cabo Proporcionar métodos de control de acceso Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 53 Servidor de protección y seguridad II Sistema en red o distribuido: Seguridad: Proteger al sistema de un uso indebido (fraudulento) El servidor de seguridad debe: Servidor de comunicaciones El servidor de comunicaciones debe: Autenticar a los usuarios Evitar amenazas al sistema (gusanos, virus, piratas, fuego, etc.) Evitar intercepción de comunicaciones (cifrado, canales seguros, etc.) Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 54 Intérprete de mandatos Intérprete de mandatos en línea en modo texto, como el shell de UNIX y LINUX Interfaz gráfico de usuario, como el de Windows y X-Windows La visión del mismo SO cambia según el usuario (POSIX sobre Windows NT o Win32 sobre LINUX) Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 56 Llamadas al sistema Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Programa de usuario 1 Con un trap o interrupción sw Acceso como función en los lenguajes (C, …) En registros En memoria, se pasa la dirección en un registro En la pila y dejar que el SO los extraiga Tabla de RTI Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Se ejecuta en modo NO privilegiado Control vuelve al programa de usuario 1 rutina de servicio trap Estándar POSIX en UNIX y LINUX Win32 en Windows NT Fernando Pérez Jose Mª Peña Francisco Rosales ... Programa de usuario n llamada al sistema El SO se define por sus llamadas al sistema: 57 Paso de llamadas al sistema Paso de parámetros: 55 Manipulación de ficheros: copia, mover, ... Información de estado: monitores, ... Programación: compiladores, depuradores, … Carga y ejecución: cargador, … Comunicaciones: telnet, ftp, … Aplicaciones: servidores BD, navegadores, ... Interfaz entre aplicaciones y SO Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Proporcionan un entorno adecuado para el desarrollo y ejecución de programas Son la visión del SO que tienen muchos usuarios, y no la de las llamadas al sistema Categorías: Puede haber múltiples intérpretes de mandatos sobre el mismo SO Resolución de nombres, enrutamiento, conexiones y control de flujo Fernando Pérez Jose Mª Peña Francisco Rosales Programas de sistema Programa cuya función es obtener los mandatos del usuario y lanzar su ejecución Hay dos tipos básicos: Proporcionar mecanismos para comunicación local y remota entre procesos Para distintos tipos de redes (Ethernet, ATM, telefónica, etc.) Responsabilidad del SO: Fernando Pérez Jose Mª Peña Francisco Rosales Conjunto de procesadores que no comparten memoria Conectados mediante una red de comunicación Se ejecuta en modo PRIVILEGIADO Procesamiento de la interrupción 58 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 59 Sistemas monolíticos I Sistemas monolíticos II Núcleo: Programas de usuario Todo entre las llamadas al sistema y el hardware No dividido en módulos Interfaces y niveles de funcionalidad no separados Intérprete Programas de mandatos de sistema Llamadas al sistema POSIX Ej: Monitor o ejecutivo (MS-DOS) Win32 Núcleo Escritos para funcionalidad específica y gestionar hardware reducido Monoproceso Servidores Ficheros Memoria Protección Comunicaciones Manejadores Teclado Ratón Disco Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 60 Sistemas modulares I Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Sistemas modulares II Núcleo: Programas de usuario Dividido en módulos con funcionalidad e interfaces claramente definidos Modular y estructurado Se pueden sustituir componentes por otros con el mismo interfaz (manejadores, sistemas de ficheros, ...) Un único trap, el proceso existe en dos modos Intérprete Programas de mandatos de sistema Llamadas al sistema POSIX Servidores Ficheros Memoria Protección Comunicaciones Manejadores Muchas funcionalidades Multiproceso y multiusuario Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Teclado Ratón Disco 62 Sistemas por capas Dividido en múltiples niveles, capas de una cebolla El más alto la interfaz de llamadas Cada nivel usa únicamente servicios del inferior y da servicio al superior Comunicación entre capas vía traps Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 63 Núcleo: Una llamada puede necesitar varios niveles de traps Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Reducido a las funcionalidades mínimas imprescindibles Se sacan fuera del núcleo los demás servicios Comunicación vía paso de mensajes Servidores: Ej: THE, Multics Problema: Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas con micronúcleo I Núcleo: Win32 Núcleo Ej: UNIX, LINUX Fernando Pérez Jose Mª Peña Francisco Rosales 61 64 Hilos de ejecución independiente Los más altos ofrecen la interfaz de llamadas Los más bajos gestionan el hardware Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 65 Sistemas con micronúcleo II Máquinas virtuales I Una MV crea una copia idéntica del hardware Problema: Una llamada puede necesitar muchos mensajes Ventaja: El Monitor de MVs ejecuta sobre el HW real ¿Cómo se hace? Piezas separables, paso a SO Distribuido Ej: MINIX, Mach (Windows-NT) Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Procesador con su propia memoria y E/S Sobre una MV se puede ejecutar cualquier SO Sobre el mismo computador varios SSOO a la vez 66 Máquinas virtuales II Planificación UCP para MV Î multiproceso Spooling y sistema ficheros Î multiplexación E/S MV del operador Î control del sistema Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 67 Máquinas virtuales III 370 virtual Ventajas: Protección sencilla, muy modular, bueno para investigación y desarrollo (SO distribuido) trap Inconvenientes: Instrucciones de E/S Difícil compartir recursos Difícil implementar duplicados exactos del HW trap CMS Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO OS/2 Monitor de máquinas virtuales Usado para emular SSOO sobre otros Ej. VM-370, MS-DOS en Windows, VMware Fernando Pérez Jose Mª Peña Francisco Rosales MS-DOS Llamadas al sistema 68 Módulo 4. Aspectos de Diseño e Implem. Hardware desnudo Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 69 Objetivos de diseño de un SO Para el usuario: Objetivos de diseño Implementación Arranque del sistema Fácil de usar, fiable, seguro, potente y sencillo Internamente: Fácil de implementar y mantener Flexible, fiable, eficiente y estar libre de errores Diferenciar claramente entre: Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 70 Mecanismos: qué cosas se pueden hacer Políticas: criterio para decidir qué hacer Separarlos es importante para poder afinar bien los sistemas Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 71 Implementación del sistema Arranque del sistema I 1. Cargador ROM Tradicionalmente: ensamblador Actualmente: C y ensamblador Uso lenguaje alto nivel: 2. Master Record Boot (sector de arranque) Desarrollo más rápido Más fácil de comprender y depurar Más fácil de transportar de un hardware a otro (Ej. UNIX, Linux, Windows-NT) 3. Ejecutable del SO Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 72 Arranque del sistema II 1. 2. 3. 4. 5. 6. 7. 8. 9. Ejecuta scripts del nivel (rc.#) Se lanzan los servidores Sigue el guión inittab Crea un proceso login por terminal 5. Proceso login Fernando Pérez Jose Mª Peña Francisco Rosales Autentifica el acceso de usuarios al sistema Crea un shell (intérprete de mandatos) Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 73 Temario 4. Proceso init Inicializa el núcleo Arranca e inicializa los manejadores de los dispositivos existentes Crea el primer proceso (PID==1) init HAL (Hardware Abstraction Layer) Oculta los detalles específicos de la arquitectura Proporciona una interfaz de alto nivel Fernando Pérez Jose Mª Peña Francisco Rosales Carga y ejecuta el ejecutable del SO Base: Carga y ejecuta el MRB 74 Introducción Procesos Interbloqueos Gestión de Memoria Administración de Sistemas Entrada/Salida Sistemas de Ficheros Protección y Seguridad Introducción a los SSOO Distribuidos Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO 75