Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales. 1. 2. 3. 4. 5. 6. Concepto de Sistema Operativo. Evolución histórica. Tipos de Sistemas Operativos. Estructura de un Sistema Operativo. Funciones de un Sistema Operativo. Secuencia de arranque del ordenador. © 2010 Juan Carlos Cano Todos los derechos reservados 1 1. Concepto de Sistema Operativo. v Un sistema operativo es una capa de software que se interpone entre el usuario y el hardware, o bien entre las aplicaciones y el hardware, al objeto de ocultar la complejidad de la parte física de la computadora; facilitándose, así, la labor de los usuarios y de los programadores de aplicaciones. v Principales funciones: — Gestión eficiente de los recursos hardware y software del sistema informático. — Suministro de una interfaz de usuario adecuada con la que trabajar (GUI / TUI). — Control y administración de la ejecución de programas. — Control y administración del sistema de archivos. — Detección y, a ser posible, resolución de los errores que se puedan producir. © 2010 Juan Carlos Cano Todos los derechos reservados 2 3. Tipos de Sistemas Operativos ( I ) http://www.ciclos-informatica.com/tipos-sistemas-operativos/ 1. Según el tiempo de respuesta: • • • Procesamiento por lotes Interactivos Tiempo real 2. Según el número de usuarios: • • Monousuario o Monopuesto Multiusuario o Multipuesto 3. Según el número de procesos: • • Monotarea o Monoprogramados Multitarea o Multiprogramados © 2010 Juan Carlos Cano Todos los derechos reservados 3 3. Tipos de Sistemas Operativos ( II ) 4. Según el número de procesadores: • • Monoprocesador o Monoproceso Multiprocesador o Multiproceso 5. Según el uso de los recursos de la red: • • • Centralizados En red Distribuidos © 2010 Juan Carlos Cano Todos los derechos reservados 4 4. Estructura de un Sistema Operativo. » Monolíticos. » En niveles o capas: © 2010 Juan Carlos Cano Todos los derechos reservados 5 5. Funciones de un Sistema Operativo. 5.1. Gestión de procesos ( I ) - Un proceso es un programa en ejecución. - En términos generales: Proceso = Flujo = Tarea = Trabajo - Tipos de procesos: - Procesos del sistema (servicios). - Procesos de los usuarios. - Cada proceso tiene asociada una estructura de datos llamada PCB (Process Control Block) que contiene la siguiente información: PID, estado, prioridad, recursos asignados, valores de los registros del procesador, propietario, permisos, etc. © 2010 Juan Carlos Cano Todos los derechos reservados 6 5. Funciones de un Sistema Operativo. 5.1. Gestión de procesos ( II ) Ciclo de vida de un proceso: Nota: La autoría del diagrama corresponde al profesor José Miguel Buenaposada. © 2010 Juan Carlos Cano Todos los derechos reservados 7 5. Funciones de un Sistema Operativo. 5.1. Gestión de procesos ( III ) - - La mayoría de las computadoras disponen de un único procesador y sin embargo se explotan en multitarea. Esto obliga al sistema operativo a distribuir el tiempo de CPU entre todos los procesos competidores. A tal fin se destina el componente conocido como planificador. El planificador decide: a) Qué proceso entra en la CPU cuando ésta queda libre. b) En qué momento el proceso que está en ejecución debe abandonar la CPU. Existen diversas políticas (algoritmos) de planificación (FIFO, SJF, SRTF, Prioridades, RR) cuya adecuación a un sistema operativo concreto depende de los objetivos que se persigan. Por ejemplo: - Maximizar la utilización de la CPU, evitando que esté libre en algún momento. - Minimizar el tiempo medio de retorno o de espera. © 2010 Juan Carlos Cano Todos los derechos reservados 8 5. Funciones de un Sistema Operativo. 5.1. Gestión de procesos ( V ) Algoritmo de planificación FIFO / FCFS: Los procesos se ejecutan en el orden de llegada. Algoritmo de planificación SJF: De los procesos que están esperando para usar la CPU, SJF lleva a ejecución el proceso más corto. Los empates se dirimen mediante FIFO / FCFS. Algoritmo de planificación SRTF: De los procesos que están esperando para usar la CPU, SRTF lleva a ejecución el proceso al que le reste menos tiempo para terminar. Los empates se dirimen mediante FIFO / FCFS. © 2010 Juan Carlos Cano Todos los derechos reservados 9 5. Funciones de un Sistema Operativo. 5.1. Gestión de procesos ( VI ) Algoritmo de planificación por Prioridades: Consiste en asociar a cada proceso una prioridad (un valor entero). Cuanto más bajo sea el número, más preferencia tendrá el proceso a la hora de abordar la CPU. En caso de empate habrá de aplicarse FIFO / FCFS. Existen dos variantes de este algoritmo: - Prioridades no expulsivo. - Prioridades expulsivo. © 2010 Juan Carlos Cano Todos los derechos reservados 10 5. Funciones de un Sistema Operativo. 5.1. Gestión de procesos ( VII ) Algoritmo de planificación RR: A todos los procesos en el estado preparado se les asigna un tiempo máximo de ejecución denominado quantum. El planificador va concediéndole la CPU a cada proceso de forma secuencial por el quantum de tiempo definido. Si un proceso necesita un tiempo de ejecución mayor que su quantum asociado, una vez transcurrido éste y si existen más procesos en espera de ejecución, se coloca al final de la cola del estado preparado y la CPU da entrada al proceso que encabeza la cola. Este método de planificación resulta muy adecuado en sistema operativos de tiempo compartido. © 2010 Juan Carlos Cano Todos los derechos reservados 11