Download Tema 1: Introducción a los Sistemas Operativos
Document related concepts
Transcript
Tema 1: Introducción a los Sistemas Operativos Yolanda Blanco Fernández yolanda@det.uvigo.es ¿Qué es un Sistema Operativo (SO)? • Un programa que actúa como intermediario entre el usuario y el hardware del ordenador, proporcionando las bases para los programas de aplicación. Usr 1 Usr 2 Usr N Programas de Usuario Sistemas Operativo HW Curso 2009/2010 Componentes de un Ordenador • • Recurso: componente HW necesario para llevar a cabo un trabajo. • Procesador o CPU: ejecuta las instrucciones indicadas por el usuario. • Memoria real o RAM: almacena las instrucciones a ejecutar por el procesador. Es volátil. • Almacenamiento secundario (cintas, discos, CD-ROM): almacena información para poder recuperarla más tarde, llevándola a la memoria principal antes de procesarla. Accesos más lentos en comparación con memoria RAM. • Dispositivos E/S: son utilizados por el sistema para informar al usuario de los resultados y estado del mismo (Salida), y también por los usuarios para introducir los datos en el sistema (Entrada). El sistema operativo gestiona los recursos HW del ordenador, de forma que los usuarios puedan ejecutar sus programas de aplicación. Curso 2009/2010 Gestión de Recursos • Gestor del procesador: gestiona los programas que se van a ejecutar en el ordenador y cómo han de hacerlo, en qué orden, etc. • Gestor de E/S: conjunto de rutinas y datos necesarios para gestionar los distintos dispositos E/S. • Gestor de memoria: permite el uso de la memoria por parte de los programas, de la forma más segura y eficiente posible. • Gestor de información o de ficheros: permite organizar la información que se va generando y almacenando en el sistema. Objetivos fundamentales: • Seguridad: el SO debe evitar manipulaciones de la información del sistema: • estado protegido (Sistema o Kernel): se ejecuta el SO y se utiliza directamente el HW. • estado no protegido (Usuario o User ): se ejecutan los programas de aplicación. Imposible acceder al HW ⇒ petición al SO. • Abstracción: programas y usuarios ven una máquina virtual (o máquina extendida) con la que es más sencillo trabajar porque oculta el HW. Curso 2009/2010 Funciones del SO • Alcanzar la mayor eficiencia posible del HW y falicitar el uso del mismo a los usuarios. • Gestión de la información: el SO facilita el almacenamiento de los datos en medios magnéticos (cintas y discos) y proporciona funciones de recuperación de los mismos. • Gestión de los recursos HW: controla la CPU, la memoria, los dispositivos de almacenamiento secundario y los dispositivos de E/S. • Interfaz de usuario: permite trabajar con el SO, controlando el HW, los programas, administrando los usuario, el espacio en disco, etc. Curso 2009/2010 Tipos de Sistemas Operativos (I) • Según la utilización de los recursos: • En sistemas monoprocesador (una CPU): • • • Monoprogramados: sólo admiten la ejecución de un programa en el sistema. Multitarea: permiten ejecutar varios programas. Dado que sólo hay un procesador, el sistema puede ser: • multitarea apropiativo: cuando un programa desaloja al que se estaba ejecutando en la CPU; o • multitarea cooperativo: no hay apropiación. Cuando termina de ejecutarse el programa que ocupa la CPU, se procesa el siguiente. En sistemas con varios procesadores ⇒ sistemas multiprocesamiento (grandes potencias de cálculo). Curso 2009/2010 Tipos de Sistemas Operativos (II) • Según la interactividad: • Procesamiento por lotes (batch): Cada trabajo consiste en un paquete de instrucciones. Todos los paquetes de un mismo trabajo se juntan para formar un lote. • • • • Tiempo compartido: • • • • El usuario no interactúa con el sistema durante la ejecución de los trabajos. Procesamiento de trabajos largos. No existen restricciones de tiempo: no importa el tiempo que se necesite para llevar a cabo el trabajo (horas o días). Interactivos y muy conversacionales: el usuario puede introducir datos durante la ejecución de los programas mediante un intérprete de comandos. Varios usuarios simultáneamente. Tiempos de respuesta muy rápidos (segundos). Tiempo real. Curso 2009/2010 Tipos de Sistemas Operativos (III) • Tiempo real (cont.): • • • • • Tiempos críticos de actuación ⇒ respuestas en milisegundos. La información debe estar permanentemente actualizada. Infrautilización del sistema: el procesador deberá permanecer prácticamente inactivo para atender lo antes posible cualquier evento de entrada ⇒ programas pequeños, rápidos y eficientes. Según el número de usuarios: • Monousuario. • Multiusuario. Según el tipo de aplicaciones: • De propósito general. • De propósito especial. Curso 2009/2010 Llamadas al SO • Mecanismo empleado por los programas para acceder al HW. • Conjunto de rutinas ejecutadas en modo protegido (kernel, privilegiado). • • • • • • • Gestión de procesos. Gestión de operaciones de E/S. Gestión de memoria. Gestión del sistema de ficheros. Gestión de errores. Protección. La información que requieren se entrega de dos formas: • • Registros del procesador : En cada registro se escribe un dato de los que necesita la llamada para realizar la acción solicitada. Bloques de parámetros: Si el número de parámetros supera el de registros disponibles en el ordenador, los datos se agrupan en bloques con un formato determinado, pasando en un registro la dirección de memoria donde se encuentra almacenado dicho bloque. Curso 2009/2010 Interfaz de Usuario • Son los procedimientos que ofrece el SO para facilitar el trabajo entre los usuarios y él mismo. • Intérprete de comandos: • • Basado en lenguaje de comandos con una sintaxis determinada. • Comandos típicos: ejecución de programas, operaciones de E/S, gestión de ficheros, definición del entorno de trabajo (set). Interfaz gáfico: interfaces ágiles, atractivas y fáciles de usar (menús, iconos y ventanas). Curso 2009/2010 Estructura de los Sistemas Operativos (I) • Jerárquica: • Surge ante las necesidades de los usuarios y el crecimiento de la complejidad de los sistemas. • Consiste en modularizar el SO: se divide en pequeñas partes perfectamente definidas y comunicadas mediante interfaces. • Estructura de niveles de los sistemas operativos basada en su división en capas. • Mecanismo de acceso: las funciones de un nivel superior solicitan servicios de los niveles inferiores, pero no de los superiores. Usuarios y aplicaciones Gestión de la información Gestión de memoria Gestión de E/S Gestión del procesador Hardware Curso 2009/2010 Estructura de los Sistemas Operativos (II) • Microkernel: • Sistemas operativos orientados a comunicaciones ⇒ cliente-servidor. • El objetivo es hacer un núcleo lo más pequeño posible, dotándole únicamente de funciones que son: • críticas en tiempo (requieren respuesta rápida); • indispensables para la correcta administración del procesador; • de uso común y general de todas las aplicaciones, y de los servicios del núcleo del SO (gestión del procesador, facilidades de comunicación y sincronización de programas). • Ventajas: modularidad, rapidez, manejo más sencillo, fiabilidad (si falla un servidor, se puede alcanzar otro), facilidad para desarrollar sistemas distribuidos. • Inconvenientes: las operaciones de E/S porque los controladores de los dispositivos de E/S deben residir en el núcleo. Curso 2009/2010 Estructura de los Sistemas Operativos (III) • Orientada a objetos: • El SO es una colección de objetos (programas, dispositivos periféricos, líneas de comunicación, etc). • Interacción entre objetos: cada objeto pone a disposición de los restantes un conjunto de operaciones para poder hacer uso de él. • El núcleo del SO se encarga de mantener las definiciones de los objetos disponibles y controlar los privilegios de acceso a los mismos. • Cuando un programa desee realizar una operación sobre un objeto, debe solicitarlo mediante llamada al SO (indicando la operación deseada y qué derecho tiene de utilizarlo). • Estructura basada en una red de objetos interconectados por medio de capacidades de acceso a sí mismos. • Abstracción: cada objeto oculta sus detalles tras la lista de operaciones que se pueden realizar sobre él (por ejemplo, encolar y desencolar son las operaciones que ofrece un objeto cola, sin necesidad de dar detalles sobre la estructura interna que se utilice para implementar dicha cola). Curso 2009/2010