SISTEMAS OPERATIVOS Introduccin a los Sistemas Operativos 2 Sistemas Operativos 2003/2004 Programa fundamental de todos los programas del sistema. Controla todos los recursos del ordenador y proporciona la base sobre la cual pueden escribirse programas de aplicacin. Programa que acta como intermediario entre el usuario y el hardware. Proporciona un entorno en el cual el usuario puede ejecutar programas de manera cmoda y eficiente. Oculta la complejidad del hardware y proporciona al programador un conjunto ms cmodo de instrucciones Asegurar el correcto funcionamiento del ordenador Definiciones de Sistema Operativo 3 Sistemas Operativos 2003/2004 Dnde se encuentra el SO 4 Sistemas Operativos 2003/2004 Esencial en los ordenadores, con el se puede almacenar, procesar y recuperar la informacin. Software Compiladores, editores, intrpretes Programas de sistema P. de gestin del sistema Controlar la operacin (Ejecutivo o supervisor) del ordenador. Programas de Control P. de gestin de trabajos (Sistema de explotacin) (Cargador, monitor, linker) P. de gestin de datos Sistema Operativo (Ejecutivo de E/S) Traductores (Ensambladores, compiladores, intrpretes) Programas de Proceso Programas de Servicio Programas de aplicaciones Lenguajes de Programacin Programas de aplicacin Resuelven problemas de los usuarios No forman parte del SO aunque se suministren con l 5 Sistemas Operativos 2003/2004 Programa que controla la ejecucin de los programas de aplicacin y que acta como interfaz entre el usuario de un ordenador y el hardware. Comodidad. Hace el ordenador ms fcil de usar Eficiencia. Permite aprovechar los recursos de un sistema informtico de manera ms eficiente. Capacidad de evolucin. Debe construirse de modo que permita el desarrollo efectivo, la verificacin y la introduccin de nuevas funciones en el sistema y, a la vez no interferir en los servicios que brinda Funciones y Objetivos del SO 6 Sistemas Operativos 2003/2004 El SO como interfaz Usuario/ordenador, ofrece los siguientes servicios y utilidades: Creacin de programas (editores, depuradores...) Ejecucin de programas (Carga las Is en MP, inicializa los dispositivos) Acceso a dispositivos de E/S (cada uno requiere un conjunto peculiar de Is) Acceso controlado a los archivos (formato de los archivos y del medio de almacenamiento) Acceso al sistema (En los sistemas compartidos) Deteccin y respuesta de errores (Internos y externos al hardware) Contabilidad, estadsticas (De uso y rendimiento) Servicios que ofrece el SO 7 Sistemas Operativos 2003/2004 Los problemas de conseguir una definicin es que los SO llevan a cabo dos funciones que en esencia no tienen relacin. Mquina extendida: La funcin del SO es presentar al usuario el equivalente de una mquina extendida o virtual que sea ms fcil de programar que el hardware que hay por debajo. Controlador de recursos: La funcin del SO es controlar todas las piezas de un complejo sistema. Proporcionar una asignacin ordenada y controlada de los procesadores, memoria, dispositivos de E/S para los varios programas que compiten por ellos. Mquina extendida / Controlador de recursos 8 Sistemas Operativos 2003/2004 Relacin directa con la evolucin y desarrollo de las generaciones de ordenadores. Etapa mecnica. Antes de las generaciones no exista SO. 1643 Mquina de Pascal (+, -) 1833 Charles Babbage, Mquina analtica de ruedas y engranajes Primera generacin (1945-1955) Vlvulas y conexiones Howard Aiken, John Von Newman, J. Presper Ekert, Konrad Zuse Sin SO Mquinas de clculo mediante lmparas (ENIAC) Un grupo de personas disea, construye, opera y da mantenimiento Lenguaje mquina Se reserva tiempo en una hoja y se espera que no haya averas Al final se mejoran las rutinas de introduccin de datos con las tarjetas perforadas Historia de los SO 9 Sistemas Operativos 2003/2004 Segunda Generacin (1955-1965) transistor y proceso por lotes Fiabilidad Se separa diseadores, constructores, operadores, programadores y personal de mantenimiento Monitor, precursor del SO, continuamente en memoria. Ejecucin de un trabajo Escribir el programa en papel en FORTRAN o ENSAMBLADOR Perforar la tarjetas Entregar las tarjetas al operador El operador introduce las tarjetas y recoge los listados y los entrega Proceso por lotes, juntar la mayor cantidad de trabajos en una cinta a travs de un ordenador barato, y despus procesar en una computadora ms grande. FMS, IBSYS Historia de los SO 10 Sistemas Operativos 2003/2004 Tercera Generacin (1965-1980) C. integrados, multiprogramacin IBM serie 360, mquinas con software compatible. SO complejo y grande ya que tena que soportar muchas arquitecturas. Multiprogramacin Partir la memoria en partes Buffering Spooling (simultaneous Peripheral Operation On line) Tiempo compartido Cada usuario tena un terminal en lnea Ken Thomson, usa una PDP-7 Versin desprotegida de MULTICS Lleva al primer UNIX Historia de los SO 11 Sistemas Operativos 2003/2004 Cuarta Generacin (1980-1990) Ordenadores personales. Circuitos integrados (VLSI) Microprocesadores Software amigable al usuario MS-DOS, UNIX 8088, 80286 ... intel RISC Quinta Generacin Inteligencia artificial Historia de los SO 12 Sistemas Operativos 2003/2004 Procesos Intrprete de comandos o shell (uid) (gid) Archivos Directorio Cdigos de proteccin Archivos especiales (bloque o de carcter) Tubo o pipe Llamadas al sistema Conceptos 13 Sistemas Operativos 2003/2004 Sistemas monolticos Sistemas con capas Mquinas virtuales Modelo cliente servidor Estructuras de los SO 14 Sistemas Operativos 2003/2004 Si estructura o casi sin ella. Coleccin de procedimientos, cada uno de los cuales puede llamar a los dems cada vez que as lo requiera. Se compilan de forma individua los procedimientos y despus se enlazan en un slo archivo objeto. Dos modos de trabajo Modo usuario Modo ncleo o supervisor Estructura bsica del SO Un programa principal que llama al procedimiento del servicio solicitado. Un conjunto de procedimientos de servicio que llevan a cabo las llamadas al sistema. Un conjunto de procedimientos utilitarios que ayudan al procedimiento de servicio Sistemas monolticos 15 Sistemas Operativos 2003/2004 Sistemas monolticos 16 Sistemas Operativos 2003/2004 SO como una jerarqua de capas, cada una construida sobre la inmediata inferior. Las capas superiores no tienen que preocuparse de lo que realizan las capas inferiores. Sistemas con capas 5 El operador 4 Programas de usuario 3 Control de E/S 2 Comunicacin operador-proceso 1 Administracin de la Memoria y disco 0 Asi gnacin del procesador y multiprogramacin MULTICS: en lugar de capas organizado en una serie de anillos concntricos, los anillos interiores los privilegiados. THE (Technische Hogeschool Eindhoven) Dijkstra 17 Sistemas Operativos 2003/2004 VM/370, separa las funciones de un sistema de tiempo compartido: Multiprogramacin Mquina extendida con un interfaz ms apropiado que el hardware. El corazn del sistema (monitor de la mquina virtual), se ejecuta en el hardware simple y realiza la multiprogramacin, proporcionando no una sino varias mquinas virtuales. Las mquinas virtuales no son mquinas extendidas, son copias exactas del hardware simple. Cada una con su modo ncleo/usuario Cada mquina extendida puede ejecutar cualquier SO que se ejecute directamente sobre el hardware. Mquinas virtuales 18 Sistemas Operativos 2003/2004 Los SO modernos intentan mantener un ncleo mnimo, para ello mueven el cdigo a capas superiores y eliminan la mayor parte posible del SO. Se implantan la mayora de las funciones del SO en los procesos de usuario Lo nico que hace el ncleo es controlar la comunicacin entre los clientes y los servidores Cada parte pequea y controlable, adems al ejecutar los procesos en modo usuario no tienen acceso directo al hardware. Modelo cliente-servidor 19 Sistemas Operativos 2003/2004 Distribuir los clculos entre varios procesadores. Sistemas fuertemente acoplados, los procesadores comparten la memoria y un reloj, y por lo general la comunicacin se lleva a cabo a travs de la memoria compartida. Sistemas dbilmente acoplados, los procesadores no comparten ni memoria ni reloj, pues cada uno cuenta con su propia memoria local. Los procesadores se comunican a travs de distintas lneas de comunicacin. Sistemas Operativos distribuidos 20 Sistemas Operativos 2003/2004 Bibliografa de la Introduccin Sistemas Operativos Master David Luis la Red Martnez.. Libro en Internet: http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SOF.htm Sistemas Operativos Modernos Andrew S. Tanenbaum Ed: Preentice Hall