Diseño de Sistemas Operativos

Slides:



Advertisements
Presentaciones similares
Introducción a los Sistemas Operativos
Advertisements

1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.
Vinculación de Instrucciones y Datos a Memoria Tiempo de compilación: si la dirección de memoria se conoce a priori, se puede generar código absoluto;
Sistemas Operativos Introducción Unidad II Sergio Fuenlabrada Velázquez Edna Martha Miranda Chávez Revisión Feb 2011.
COMPUTACION PARALELA GLORIA PATRICIA FLOREZ ANGIE PAOLA ANCHICO.
Clasificación del Software Prof. Laura Cardozo. Software Se denomina software, programática, equipamiento lógico o soporte lógico a todos los componentes.
Sistemas Operativos ➢ Que son? ➢ Que hacen? ➢ Por Juan O. Tejeda.
Introducción a Linux Jornadas Noviembre 2009 GUL – UC3M Tania Pérez.
UNIVERSIDAD NACIONAL DE HUANCAVELICA. EVOLUCIÓN HISTÓRICA DE SISTEMA OPERATIVO 1ª GENERACIÓN ( ):  Sistema operativo: constituye como un conjunto.
PARTICIONES EN UN DISCO DURO Diagnóstico y Mantenimiento INTE 3020 Elena López 15/11/2013.
ITESCO – Arquitectura Computadoras L. S. C. A. Raúl Monforte Chulin - MORCH Systems 1.1. Arquitectura básica y sus operaciones. Objetivo: El estudiante.
Subtema: Hardware y Software básico
SISTEMAS OPERATIVOS Sistema de Archivos.
TERMINOLOGÍA BÁSICA Informática: conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático y racional de la información,
Hardware de Computador
Quinta generación de computadoras
Estructuras de interconexión de un computador

Parcial # 1 La Computadora.
Introducción a los Sistemas Operativos
CIENCIA TECNOLOGÍA Y SOCIEDADES
L.I. Gerardo Ortiz Rivera
SISTEMAS OPERATIVOS.
Consideraciones Generales de los Sistemas Operativos
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
SISTEMAS OPERATIVOS: PROPIETARIOs Y LIBREs.
Conectividad de Bases de Datos
Etapas de desarrollo de un Sistema Operativo
En la siguiente presentación veremos algunos términos que debemos conocer para iniciar la educación virtual.
Estructura del sistema operativo
SISTEMAS DISTRIBUIDOS
TARJETAS.
Entrada Salida Rina Arauz.
INNOVACIONES TECNICAS A LO LARGO DE LA HISTORIA
Computación Curso 2017.
TIC TECNOLOGIAS DE LA INFORMACION Y LA COMUNICACION
EN QUÉ CONSISTE UNA COMPUTADORA
MENU SOFWARE Y HADWARE DISPOSITIVOS DE SALIDA DISPOSITIVOS DE ENTRADA
Salir de la presentación
INFORMATICA BASICA BIENVENIDAS.
MEMORIAS. Alba Lus, Esther Escobar, Laura Hierro, Raquel Fdez.
Almacenamiento El computador tiene 2 aspectos
PROGRAMACIÓN 1 INTRODUCCIÓN
Tecnologías de información
Los Sistemas Operativos.
Protocolos Protocolos de red.
La escritura de programas que interactúen directamente con los componentes hardware de un computador es una tarea bastante tediosa. Por otra parte, si.
ESTRUCTURA DE S.OPERATIVO
ESTRUCTURAS DE LOS SISTEMAS OPERATIVOS INTEGRANTES: -SIAS ALVAREZ -GUTIÉRREZ ROBLES -GELDRES HUAYCOCHEA.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS.
CURSO PROGRAMACIÓN BÁSICA SEMANA 2
Fundamentos de la Programación I
Dispositivos de Entrada y Salida
SISTEMAS OPERATIVOS.
Sistemas Operativos Componentes Ejecutivo de Tiempo Real.
Estructura de los sistemas Operativos 1. Componentes de un sistema operativo  Administración de procesos  Administración de memoria  Subsistema de Entrada/Salida.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Introducción a los sistemas operativos en red
Características de los Sistemas Operativos
Estructura de un equipo microinformático
1 TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño.
Estructura de los SISTEMAS OPERATIVOS.
Estructura de Sistemas Operativos
Estructura de los Sistemas Operativos
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS. Estos sistemas no tienen una estructura definida, sino que son escritos como una colección de procedimientos donde.
Hilos de Procesamiento. Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java.
ESTRUCTURA DE UNA PC.
Transcripción de la presentación:

Diseño de Sistemas Operativos 4º Curso Fernando Pérez fperez@fi.upm.es José María Peña jmpena@fi.upm.es Francisco Rosales frosal@fi.upm.es DATSI Universidad Politécnica de Madrid

Temario 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

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Tema 1. Introducción Cuatro módulos: 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 Introducción: Conceptos y Estructura de SSOO

Módulo 1. Conceptos y Evolución ¿Qué es un sistema operativo? Evolución de los Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

¿Qué es un sistema operativo? Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales ¿Qué es un sistema operativo? Un programa que actúa como intermediario entre el usuario de un computador y el hardware del mismo Objetivos del 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 Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Componentes de un sistema de computación Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Componentes de un sistema de computación Usuarios personas, máquinas u otros computadores Aplicaciones consumen los recursos para resolver los problemas de computación de los usuarios Sistema Operativo controla y coordina el uso del hardware entre las distintas aplicaciones de los distintos usuarios Hardware 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 Introducción: Conceptos y Estructura de SSOO

Visión abstracta del sistema Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Visión abstracta del sistema Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Definiciones de sistema operativo Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Definiciones de sistema operativo Gestor de recursos: gestión y asignación de recursos del computador Programa de control: controla la ejecución de los programas de usuario y las operaciones de los dispositivos de E/S Núcleo: el único programa que ejecuta siempre (por debajo y anterior a cualquier otro programa) Máquina virtual: extiende y enmascara la funcionalidad del hardware Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Evolución: 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 Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Máquina desnuda (1950) I Estructura 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 Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Máquina desnuda (1950) II Software 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 Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Máquina desnuda (1950) III Rendimiento 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 Introducción: Conceptos y Estructura de SSOO

Sistema sencillo por lotes Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistema sencillo por lotes Lectora de tarjetas como dispositivo de entrada Reduce el tiempo de activación agrupando trabajos similares Monitor residente Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

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 Nace el centro de cálculo Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Sistema sencillo por lotes Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistema sencillo por lotes Problemas: Sistema monoprogramado E/S y UCP no solapan Solución: E/S lenta (tarjeta, impresora) offline E/S rápida (carga) a cinta o disco Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Spooling Usar UCP durante E/S 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 Introducción: Conceptos y Estructura de SSOO

Sistema por lotes multiprogramado Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistema por lotes multiprogramado Varios trabajos en memoria principal al mismo tiempo Se multiplexa la UCP entre ellos Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Multiplexación de la CPU Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Características de un SO multiprogramado Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Características de un SO multiprogramado Las rutinas de E/S pertenecen al sistema Gestión de memoria: asignar la memoria a varios trabajos Planificación de la UCP: elegir entre varios trabajos listos para ejecutar Asignación de dispositivos ¡Todos SSOO actuales son multiprogramados! Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Sistemas de tiempo compartido Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas de tiempo compartido Multiprogramado UCP multiplexada. Varios trabajos en memoria Interactivo comunicación on-line entre usuario y sistema Intérprete de mandatos sustituye a tarjetas de control Sistema de ficheros on-line 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 Introducción: Conceptos y Estructura de SSOO

Sistemas de computación personal PCs Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas de computación personal PCs Dedicados a un único usuario (monousuario) Multiprogramados (generalmente) Variedad de dispositivos de E/S teclado, ratón, pantallas gráficas,... Muy interactivos 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 Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas paralelos I Multiprocesadores: Varias CPU fuertemente acopladas reloj común Memoria compartida comunicación y sincronización vía memoria Sistema operativo único Ventajas: 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 Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas paralelos II Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Tipos de sistemas paralelos Según el número de CPUs: Supercomputadores De 64 en adelante (miles) Multiprocesadores De 2 a 64 Computadores personales paralelos De 2 a 8 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Multiproceso asimétrico 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 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 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 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Características SO paralelo Planificador más complejo Gestión de memoria más compleja Gestión de caches de memoria muy importante para rendimiento Todos son recursos compartidos Programación concurrente en el SO Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Sistemas distribuidos I Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas distribuidos I Múltiple procesadores débilmente acoplados: Físicamente separados, NO comparten memoria Comunicación mediante mensajes Los SO se comportan como uno único Ventajas: 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 Introducción: Conceptos y Estructura de SSOO

Sistemas distribuidos II Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Tipos de sistemas distribuidos Red de computadores conectados con una RAL Clusters conectados por una RAV Red de procesadores con memoria propia Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Características sistemas distribuidos Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Características sistemas distribuidos 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 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Sistemas de tiempo real Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas de tiempo real 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 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 Introducción: Conceptos y Estructura de SSOO

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 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Arquitectura del computador Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Arquitectura del computador Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Funcionamiento del computador Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Funcionamiento del computador UCP y dispositivos de E/S en concurrencia Manejadores de dispositivos de E/S que: Se encargan de cada tipo de dispositivo Tienen almacenes locales de datos Ej. operación de Entrada: 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) 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 Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Interrupciones ¡¡El sistema operativo es guiado por interrupciones!! Tratamiento: 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 Trap: interrupción generada por software error o petición de usuario Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

E/S y acceso directo a memoria Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales E/S y acceso directo a memoria Dispositivos de E/S que envían/toman los datos directamente a/de memoria Sin intervención de la UCP Programación: datos E/S, buffer memoria, longitud Resultado: interrupción 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 Introducción: Conceptos y Estructura de SSOO

E/S y acceso directo a memoria Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales E/S y acceso directo a memoria Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Jerarquía de memoria Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Modo dual de operación Compartir recursos El SO asegura que un programa no afectará a otro Solución: 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 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Modo dual de operación Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Protección por hardware Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Protección por hardware E/S: siempre instrucciones privilegiadas, modo sistema Memoria: registros base y límite por programa accesos fuera originan un fallo de protección UCP: temporizador que interrumpe periódicamente para dar control al SO y que decida Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Protección por hardware Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Arquitectura general del sistema Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Arquitectura general del sistema Si las instrucciones de E/S son privilegiadas, ¿cómo ejecuta el usuario la E/S? Llamada al sistema: 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 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Módulo 3. Estructuras del sistema operativo Componentes del sistema Llamadas al sistema Estructura de un sistema operativo Máquinas virtuales Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Componentes del SO Básicos: 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: 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 Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Gestor de procesos 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: 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 Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Gestor de memoria Memoria: Vector enorme de palabras o bytes (direcciones) Compartida por UCP y dispositivos E/S Volátil: pierde su contenido sin alimentación El SO gestiona lo siguiente de la memoria: 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 Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Gestor de entrada/salida Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Gestor de entrada/salida El gestor de E/S está formado por: 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: 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 Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Gestión del almacenamiento secundario Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Gestión del almacenamiento secundario Dispositivos rápidos de E/S (discos) Vector enorme de “bloques” Almacenamiento no volátil Usado como respaldo de memoria principal El SO gestiona lo siguiente del almacenamiento secundario: 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 Introducción: Conceptos y Estructura de SSOO

Servidor de ficheros y directorios Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Servidor de ficheros y directorios Fichero: 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: 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 Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Servidor de protección y seguridad I Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales 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: 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 Introducción: Conceptos y Estructura de SSOO

Servidor de protección y seguridad II Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Servidor de protección y seguridad II Seguridad: Proteger al sistema de un uso indebido (fraudulento) El servidor de seguridad debe: Autenticar a los usuarios Evitar amenazas al sistema (gusanos, virus, piratas, fuego, etc.) Evitar intercepción de comunicaciones (cifrado, canales seguros, etc.) Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Servidor de comunicaciones Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Servidor de comunicaciones Sistema en red o distribuido: Conjunto de procesadores que no comparten memoria Conectados mediante una red de comunicación El servidor de comunicaciones debe: Proporcionar mecanismos para comunicación local y remota entre procesos Para distintos tipos de redes (Ethernet, ATM, telefónica, etc.) Responsabilidad del SO: Resolución de nombres, enrutamiento, conexiones y control de flujo Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Intérprete de mandatos Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Intérprete de mandatos Programa cuya función es obtener los mandatos del usuario y lanzar su ejecución Hay dos tipos básicos: 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 Puede haber múltiples intérpretes de mandatos sobre el mismo SO 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 Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Programas de sistema 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: 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, ... Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Llamadas al sistema Interfaz entre aplicaciones y SO Con un trap o interrupción sw Acceso como función en los lenguajes (C, …) Paso de parámetros: En registros En memoria, se pasa la dirección en un registro En la pila y dejar que el SO los extraiga El SO se define por sus llamadas al sistema: Estándar POSIX en UNIX y LINUX Win32 en Windows NT Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Paso de llamadas al sistema Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Paso de llamadas al sistema Programa de usuario 1 usuario n … Llamada al sistema trap Determinar servicio pedido Tabla de RTI Rutina de Control vuelve a programa de Ejecutan en modo NO privilegiado modo Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Sistemas monolíticos I Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas monolíticos I Núcleo: Todo entre las llamadas al sistema y el hardware No dividido en módulos Interfaces y niveles de funcionalidad no separados Ej: Monitor o ejecutivo (MS-DOS) Escritos para funcionalidad específica y gestionar hardware reducido Monoproceso Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Sistemas monolíticos II Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas monolíticos II Llamadas al sistema de mandatos Programas de sistema POSIX Win32 ... Núcleo Manejadores Servidores ficheros memoria comunicaciones ... protección reloj teclado disco ... Programas de usuario Intérprete Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas modulares I Núcleo: 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 Ej: UNIX, LINUX Muchas funcionalidades Multiproceso y multiusuario Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas modulares II Micronúcleo Manejadores Servidores Llamadas al sistema Intérprete mandatos Programas de sistema ficheros memoria comunicaciones ... protección POSIX Win32 ... procesos reloj teclado disco ... Programas de usuario Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas por capas Núcleo: 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 Ej: THE, Multics Problema: 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 Introducción: Conceptos y Estructura de SSOO

Sistemas con micronúcleo I Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Sistemas con micronúcleo I Núcleo: 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: 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 Introducción: Conceptos y Estructura de SSOO

Sistemas con micronúcleo II Problema: Una llamada puede necesitar muchos mensajes Ventaja: 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

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Máquinas virtuales I Una MV crea una copia idéntica del hardware 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 El Monitor de MVs ejecuta sobre el HW real ¿Cómo se hace? 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 Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Máquinas virtuales II Ventajas: Protección sencilla, muy modular, bueno para investigación y desarrollo (SO distribuido) Inconvenientes: Difícil compartir recursos Difícil implementar duplicados exactos del HW Usado para emular SSOO sobre otros Ej. VM-370, MS-DOS en Windows, VMware Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Máquinas virtuales III Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Módulo 4. Aspectos de Diseño e Implem. Objetivos de diseño Implementación Arranque del sistema Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Objetivos de diseño de un SO Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Objetivos de diseño de un SO Para el usuario: 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: 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 Introducción: Conceptos y Estructura de SSOO

Implementación del sistema Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Implementación del sistema Tradicionalmente: ensamblador Actualmente: C y ensamblador Uso lenguaje alto nivel: 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) Base: 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 Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Diseño de Sistemas Operativos Fernando Pérez Jose Mª Peña Francisco Rosales Arranque del sistema I Cargador ROM Carga y ejecuta el MRB Master Record Boot (sector de arranque) Carga y ejecuta el ejecutable del SO Ejecutable del SO Inicializa el núcleo Arranca e inicializa los manejadores de los dispositivos existentes Crea el primer proceso (PID==1) init Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO Introducción: Conceptos y Estructura de SSOO

Arranque del sistema II Proceso init Ejecuta scripts del nivel (rc.#) Se lanzan los servidores Sigue el guión inittab Crea un proceso login por terminal Proceso login Autentifica el acceso de usuarios al sistema Crea un shell (intérprete de mandatos) Fernando Pérez Jose Mª Peña Francisco Rosales Diseño de Sistemas Operativos Introducción: Conceptos y Estructura de SSOO

Temario 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