1 / 36

Sistemas Operativos Tema 4

Sistemas Operativos Tema 4. Gestión de Procesos. Resumen. Definición de proceso Descripción de los procesos Estados de un proceso Planificación del procesador Algoritmos de planificación. Definición de Proceso. Proceso: instancia de un programa en ejecución.

dawson
Download Presentation

Sistemas Operativos Tema 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas OperativosTema 4 Gestión de Procesos

  2. Resumen • Definición de proceso • Descripción de los procesos • Estados de un proceso • Planificación del procesador • Algoritmos de planificación

  3. Definición de Proceso • Proceso: instancia de un programa en ejecución. • Un mismo programa puede dar lugar a varios procesos • Cada proceso ocupa un espacio en memoria y tiene unos datos • Para el sistema operativo el proceso es un conjunto de estructuras de datos a gestionar. • El proceso es el elemento central de la ejecución y el que realiza los trabajos del usuario. • Todas las estructuras del sistema operativo están orientadas a la gestión de procesos.

  4. Estructuras de Control del S.O. (I) • Tabla de memoria • Se utilizan para seguir la pista a la memoria principal y secundaria • Incluyen la asignación de memoria a los procesos, los atributos de protección de memoria y cualquier otra información utilizada para gestionar la memoria • Tabla de dispositivos de E/S • Se utilizan para administrar los dispositivos y los canales de E/S • Anotan si un dispositivo está asignado a un proceso • También la situación de una operación en curso

  5. Estructuras de Control del S.O. (II) • Tabla de ficheros • Almacenan información sobre la posición, estado y otros atributos de los ficheros • En algunos sistemas el gestor de ficheros es independiente del S.O. y esta información es externa • Tabla de procesos • Se utilizan para administrar los procesos • Es la estructura que estudiaremos en este tema • Estas cuatro tablas están enlazadas entre sí.

  6. Estructuras de Control de Procesos • Imagen de un proceso • Un proceso está formado por el espacio suficiente como para albergar las instrucciones y los datos. • Además, durante la ejecución hace uso de una pila para llevar la cuenta de llamadas a procedimientos. • Por último, tiene un bloque de control de proceso (PCB) con los atributos que utiliza el sistema operativo para controlarlo. • Las instrucciones, datos y pila se almacenan en la memoria de procesos de usuario. La forma de almacenamiento depende del mecanismo de gestión de memoria empleado. • El PCB se almacena en la memoria destinada al S.O.

  7. Bloque de Control de Proceso • Identificación del proceso • Campos destinados a identificar el proceso en el sistema. • PID, PPID, UID, GID, etc... • Información de estado del procesador • Almacena el contenido de los registros del procesador cuando el proceso no está ejecutando. • AC, IR, PC, etc... • Información de Control • Almacena la información que utiliza el S.O. para gestionar la ejecución del proceso.

  8. Información de Control • (Control) Información de Planificación y Estado • Se utiliza para decidir si el proceso ejecuta. • (Control) Privilegios del Proceso • Indica qué tipo de operaciones puede realizar. • (Control) Recursos Utilizados • Indica los recursos controlados por el proceso. • (Control) Comunicación entre Procesos • Información para interactuar con otros procesos.

  9. El Papel del PCB • Es la estructura de datos central del S.O. • Contiene toda la información del S.O. sobre procesos • Los leen y modifican todos los módulos del S.O. • Se debe proteger para evitar errores de utilización • Para ello se crea un módulo del S.O. que contiene a todos los PCB’s • Sólo se permite acceder a ellos a través de funciones de este módulo

  10. Estados de un proceso • Un estado describe la situación actual de un proceso • Traza: representación de la secuencia de instrucciones que se ejecutan durante la evolución de un proceso • El S.O.: • Controla la ejecución de los procesos, • Establece el criterio para la intercalación de las trazas • Determina cómo realizar la asignación de los recursos que los procesos necesitan para su ejecución. • Es necesario tener un modelo claro del comportamiento de un proceso, con objeto de diseñar un programa que controle los procesos según el modelo establecido

  11. Modelo de 2 Estados • Es el modelo más simple • Un proceso puede Ejecutar o No Ejecutar • El S.O. guarda datos sobre el estado y la posición en memoria

  12. Modelo de 5 estados • El modelo de dos estados no indica la razón por la que un proceso no ejecuta • Estado Listo: El proceso puede ejecutar. • Estado Bloqueado: El proceso no puede ejecutar. • Además se utilizan otros dos estados • Estado Nuevo: el SO ha realizado las acciones necesarias para crear el proceso pero no se ha comprometido aún a su ejecución. • Estado Terminado: Se mantiene el proceso después de terminar para recoger información sobre su ejecución. El único recurso que utiliza es el PCB.

  13. Modelo de 5 estados

  14. Modelo de 7 Estados • El modelo de cinco estados no indica si un proceso está en memoria principal o secundaria • Esa división es válida para Listo y Bloqueado • Un proceso en memoria secundaria está Suspendido • Con intercambio se puede aumentar el número de procesos que pasan de Nuevo a Listo • Los intercambios de procesos son operaciones de E/S y por tanto muy costosas

  15. Modelo de 7 Estados

  16. Políticas de Planificación • Planificación a Largo Plazo • Admisión de nuevos procesos • Tiempo de resolución largo • Criterio del 50% • Planificación a Medio Plazo • Intercambio a memoria secundaria • Tiempo de resolución medio • Suspender procesos bloqueados • Planificación a Corto Plazo • Gestión del procesador • Tiempo de resolución breve • FCFS, SJF, SRT, Prioridades, RR, etc

  17. Políticas de Planificación

  18. Modos de Ejecución (I) • Para proteger los datos del S.O. se utiliza el hardware • Los procesadores tienen varios modos de ejecución • Modo núcleo: Ofrece todas sus instrucciones • Modo usuario: Ofrece un conjunto limitado de instrucciones que no permiten acceder a determinados elementos del sistema • El S.O. ejecuta en modo núcleo y el resto de los procesos lo hacen en modo usuario • Para cambiar de modo se usa la instrucción privilegiada CHM (Change Mode)

  19. Modos de Ejecución (II) • El cambio a modo usuario es “sencillo”, porque consiste en perder privilegios • El cambio a modo núcleo se realiza cuando un proceso ejecuta una llamada al sistema o cuando hay una interrupción • La llamada al sistema actúa como una interrupción pero proviene del software

  20. Modos de Ejecución (y III) • Si hay una interrupción software o hardware, el procesador para la ejecución del proceso actual • Es lo que se llama cambio de contexto • Guarda en el PCB los registros que el proceso utiliza (son lo que se llama contexto) • Ejecuta la Rutina de Tratamiento de Interrupción • Después recupera el contexto del PCB del proceso y lo devuelve al procesador • El cambio de contexto lo realiza el hardware para que sea más rápido

  21. Cambios de contexto y de proceso CAMBIO DE CONTEXTO: • Salvar el contexto del proceso. • Analizar el tipo de interrupción producida. • Asignar al contador de programa la dirección de la rutina de tratamiento de la interrupción. • Cambiar de estado usuario a estado sistema. • CHM • Cambiar a PSW de la rutina a ejecutar. CAMBIO DE PROCESO: • Salvar el contexto del proceso. • Actualizar el PCB del proceso en ejecución, cambiando el estado. • Mover este PCB a la cola apropiada según el estado. • Seleccionar otro proceso para ejecución. • Actualizar el PCB del proceso seleccionado indicando el estado ejecución. • Actualizar las estructuras de datos de gestión de memoria. • Restaurar el contexto del procesador.

  22. Políticas de Planificación

  23. Criterios de Planificación (I) • Uso de CPU • Es bueno entre un 40% y un 90% • Se debe maximizar • Productividad • Número de trabajos por unidad de tiempo • Se debe maximizar • Tiempo de retorno de un proceso • Instante final menos instante inicial • Se debe minimizar

  24. Criterios de Planificación (II) • Tiempo de espera de un proceso • Tiempo que está sin hacer nada productivo, ni ejecuta ni utiliza los dispositivos de E/S • Incluye la espera del procesador y la espera de E/S • Se debe minimizar • Tiempo de retorno normalizado de un proceso • Tiempo de retorno entre tiempo de servicio • El tiempo de servicio es el tiempo que está haciendo algo productivo • Se debe minimizar • El valor óptimo es uno

  25. Criterios de Planificación (y III) • Tiempo de respuesta interactiva de un proceso • Tiempo hasta la primera respuesta para el usuario • Importante en sistemas de tiempo compartido • Se debe minimizar • Eficiencia según prioridad • Los procesos más prioritarios terminan antes • Es un valor político, que depende de las necesidades de un sistema concreto

  26. Algoritmos de Planificación • Modo de Decisión • Algoritmos no apropiativos: el proceso continúa ejecutándose mientras no acabe o se bloquee por una petición E/S o petición al sistema. • Algoritmos apropiativos: el proceso puede ser interrumpido en la ejecución. • Ejemplo de planificación • Para entender el funcionamiento de los algoritmos los estudiaremos sobre el siguiente ejemplo

  27. Algoritmos de Planificación: Prioridades • Selecciona el proceso con mayor prioridad de los que esperan. • Se adapta a la forma de trabajo de muchos sistemas. • Es un algoritmo simple porque la prioridad existe en el sistema. • No es importante el tiempo que tardan los procesos de poca prioridad. • Es muy importante que los de alta prioridad tarden poco. • Puede ser apropiativo o no apropiativo. • Puede producir inanición, que se soluciona aplicando prioridades con envejecimiento.

  28. 5 0 10 15 20 1 2 3 4 5 Algoritmos de Planificación: FCFS • FCFS: Primero en llegar, Primero en ser servido • No apropiativo • Selecciona el primero de la cola de listos • Depende del orden de llegada • Penaliza a procesos cortos frente a largos

  29. 5 0 10 15 20 1 2 3 4 5 Algoritmos de Planificación: SJF • SJF: Primero el Proceso más Corto • No apropiativo • Selecciona el proceso de menor duración estimada: • No es aplicable si se desconoce la duración de los procesos • Posibilidad de inanición

  30. 5 0 10 15 20 1 2 3 4 5 Algoritmos de Planificación: SRT • Menor Tiempo Restante (SRT) • Es un SJF Apropiativo según duración estimada • No aplicable si no se conoce la duración de los procesos • Genera el mejor resultado posible • Posibilidad de inanición • Válido para comparaciones teóricas

  31. 5 0 10 15 20 1 2 3 4 5 Algoritmos de Planificación: RR • Round Robin: Turno Rotatorio • Apropiativo en función del tiempo. • Selecciona el primero de la cola de listos. • Equitativo para procesos heterogéneos. • Cada cambio de contexto retrasa los procesos. • El rendimiento es malo si tienen carga de E/S.

  32. Algoritmos de Planificación: VRR • Turno Rotatorio Virtual (VRR ) • Utiliza dos colas de acceso al procesador. • En la segunda están los procesos que no pudieron completar su cuanto en la última ejecución. • Esta cola tiene prioridad sobre la primera. • Los procesos de esta cola ejecutan sólo durante el cuanto que no completaron anteriormente. • El objetivo es un RR con el rendimiento equilibrado entre los procesos con carga de CPU y los procesos con carga de E/S.

  33. 5 0 10 15 20 1 2 3 4 5 Algoritmos de Planificación: HRRN • Siguiente el de Mayor Tasa de Respuesta (HRRN) • No apropiativo. • Selecciona el proceso con mayor tasa de respuesta: TR = (Tespera + Tservicio) / Tservicio • Minimiza el tiempo de retorno normalizado.

  34. Algoritmos de Planificación: Colas Multinivel • Se utilizan múltiples colas de procesos Listos • Es posible aplicar un algoritmo en cada cola • Se necesita un algoritmo para seleccionar una cola para el proceso • Retroalimentación: Un proceso vuelve de ejecutar a una cola diferente de la que salió • Se necesita un algoritmo para determinar a que cola va un proceso después de cada ráfaga de ejecución • Un ejemplo clásico: Colas que utilizan RR con prioridad entre colas y Q en aumento. Un proceso siempre va a una cola con un cuanto mayor.

  35. Evaluación de Algoritmos de planificación • Evaluación Analítica • Modelos deterministas: Deciden para una carga de trabajo concreta • Modelos de colas: Aplica técnicas de probabilidad • Es el método más económico • Simulaciones • Se programa un modelo y se obtienen medidas de los resultados • Implementación • Se codifica el S.O. y se comprueba como trabaja

  36. Bibliografía • Básica: • Sistemas operativos. Conceptos fundamentales. James L. Peterson y Abraham Silberschatz. Ed. Reverte. 1991. • Sistemas operativos, 5ª edición. Willian Stallings. Ed. Pearson. 2005. • Complementaria y de consulta: • Conceptos de Sistemas Operativos, 6ª edición. Silberschatz, Galvin y Gagne. Ed. Limusa-Wiley. 2002. • Sistemas operativos. Diseño e implementación, 2ª edición. Andrew Tanenbaum y Albert Woodhull. Ed. Pearson. 2002.

More Related