Clase Iii - Planificacion De Procesos. Parte 1

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Clase Iii - Planificacion De Procesos. Parte 1 as PDF for free.

More details

  • Words: 2,251
  • Pages: 45
Presentación

Planificación de Procesos. Parte 1 INGENIERÍA EN INFORMÁTICA Sistemas de Operación

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA Sistemas Operativos

Introducción • Planificador: módulo del SOP que controla la utilización de un recurso. • La ejecución de un proceso consta de ciclos sucesivos ráfagas de CPU-E/S

Sistemas Operativos

Introducción • Objetivos del Planificador: § Dar una participación adecuada del reparto de tiempo de CPU § Equilibrar el uso de recursos (load balancing). § Aplicar las políticas generales del SOP (prioridades, seguridad, etc.). § El resto depende del tipo de SOP (por lotes, tiempo real, distribuido, etc.).

Sistemas Operativos

Introducción • Problemas: § Alcanzar todos los objetivos puede provocar contradicciones. § El comportamiento de los procesos es impredecible ⇒ hay que estar preparado para manejar todos los casos posibles.

Sistemas Operativos

Introducción • Cola de planificación: § Conjunto de procesos esperando por la utilización de un determinado recurso. § Cada elemento es una estructura de control que representa la petición a servir. § Se administra según con la política de planificación usada por el planificador del recurso.

Sistemas Operativos

Introducción • Colas de procesos: § El SOP organiza los BCPs en colas de espera por el procesador o por los dispositivos de E/S.

Sistemas Operativos

Introducción • Colas de estados: § El SOP mantiene una cola de BCPs por estado, cada una de las cuales contentiva de los procesos que están en ese estado. § Al crear un proceso, su BCP se encola en la cola acorde a su estado actual. § Conforme un proceso cambia de estado, su BCP es retirado de la cola de su estado actual y encolado en la cola de su nuevo estado. § El SOP se puede modelar como un conjunto de procesadores y de colas. Sistemas Operativos

Introducción

Sistemas Operativos

Introducción a) Cola de trabajos: conjunto de todos los procesos del sistema. b) Cola de preparados: conjunto de todos los procesos que residen en memoria principal, preparados y esperando para ejecutarse. c) Cola(s) de espera: conjunto de todos los procesos esperando por un dispositivo de E/S particular o por un suceso (búfer de memoria, un semáforo, etc.). d) PCP (Planificador de Corto Plazo): o También llamado planificador de trabajos. o Asigna / desasigna la CPU a la cola de procesos preparados. o Debe ser muy rápido (frecuencias cortas). Sistemas Operativos

Introducción e) PLP (Planificador de Largo Plazo): o Para sistemas por lotes. o Suministra procesos normalmente almacenados en disco y los envía a la cola de preparados. o Se ejecuta a frecuencias largas. o Controlan el grado de multiprogramación (número de procesos en memoria). o UNIX no lo usa (los procesos pasan directamente a la cola de preparados una vez creados). o Deben seleccionar una mezcla de procesos limitados por E/S y limitados por CPU.

f) PMP (Planificador de Medio Plazo): o Usado por algunos SOPs como los de t-compartido. o Envía al disco procesos de poco interés (swapping).

Sistemas Operativos

Introducción

Sistemas Operativos

Introducción a) Cuando un proceso desea entrar en el sistema se coloca en una cola de trabajos a esperar que se le asigne memoria. b) Cuando a un trabajo se le asigna memoria, entra en la cola de procesos listos. c) Cuando un proceso realiza una operación de E/S pasa a una cola de dispositivo asociada al dispositivo en el que realiza la operación de E/S.

Sistemas Operativos

Mecanismos y Políticas • Un mecanismo es el código (a menudo de bajo nivel) que manipula un recurso: § CPU: cambio entre procesos, etc. § Memoria: asignar, liberar, etc. § Disco: leer, escribir, etc.

• Una política decide cómo, quién, cuándo y por qué: § ¿Cuánta CPU obtiene un proceso? § ¿Cuánta memoria se le da? § ¿Cuándo escribir en disco? Sistemas Operativos

Mecanismos y Políticas • En el diseño de un SOP es conveniente tratar de mantener separado los mecanismos de las políticas: § Facilita la reutilización de mecanismos. § Permite la adaptación de políticas.

• Un tema común de investigación es la separación de políticas y mecanismos: § En algunos casos el mecanismo de uno es la política de otro. § Reduce considerablemente el nivel de abstracción ⇒ Orientación a objetos. Sistemas Operativos

Mecanismos y Políticas • Políticas de planificación - planificar cuando se conmuta entre estados: § § § §

De ejecutándose a bloqueado. De ejecutándose a preparado. De bloqueado a preparado. De ejecutándose a finalizado.

⇒ Siempre que un proceso abandona la CPU, o se inserta un proceso en la cola de preparados.

Sistemas Operativos

Mecanismos y Políticas • Dos tipos de políticas (dos maneras de hacer la multiprogramación): 1) No apropiativa: § Una vez que un proceso está activo continúa ejecutándose hasta que: a) Termina. b) Se bloquea por el inicio de una operación de E/S o un servicio solicitado por el SOP. c) El propio proceso hace una llamada al SOP para ceder el procesador a otro proceso.

§ Un proceso con mucho tiempo de procesador y pocas E/S puede monopolizar el uso de CPU. § Usada por MS-DOS y MacOS. Sistemas Operativos

Mecanismos y Políticas 2) Apropiativa / preferente / expulsiva: § El SOP puede interrumpir en cualquier momento el proceso activo con el objeto de dar paso a otro proceso que esté preparado. § Hace uso de un algoritmo determinado de planificación: turno aleatorio (round robin), por prioridad, FCFS (First Come First Served), SPN (Shortest Process Next), SRT (Shortest Remaining Time). § Usada por MS-Windows, UNIX y Linux.

Sistemas Operativos

Mecanismos y Políticas • Apropiación vs No apropiación: § La apropiación asegura que un trabajo no bloquea a otro igualmente importante. § ¿Tamaño de la fracción de tiempo? → afecta tiempo de respuesta y productividad. § No apropiar requiere que los trabajos invoquen explícitamente al planificador → Un trabajo erróneo puede “congelar” el sistema.

Sistemas Operativos

Despachador • Despachador (dispatcher): da el control de la CPU al proceso seleccionado por el planificador (scheduler). • Realiza lo siguiente: § Cambio de contexto (en modo núcleo). § Conmutación a modo usuario. § Salto a la instrucción del programa para su reanudación.

• Latencia de despacho: tiempo que emplea el despachador en detener un proceso y comenzar a ejecutar otro. Sistemas Operativos

Despachador • Ejemplo:

Sistemas Operativos

Despachador • El despachador obtiene el control de forma: § Síncrona – un proceso cede la CPU. § Asíncrona – iniciado por una interrupción u ocurrencia de un evento que afecta a un proceso (ej: fin de E/S, liberación de recurso, etc.).

• El gestor de interrupciones: 1. Salva el contexto del proceso en ejecución. 2. Determina el tipo de interrupción y ejecuta la rutina de servicio correspondiente. 3. Selecciona el proceso a ejecutar → Restaura su contexto. Sistemas Operativos

Criterios de Planificación • Utilización: mantener la CPU tan ocupada como sea posible. • Productividad: número de procesos que completan su ejecución por unidad de tiempo. • Tiempo de retorno: cantidad de tiempo necesario para ejecutar un proceso dado.

Sistemas Operativos

Criterios de Planificación • Tiempo de espera: tiempo que un proceso ha estado esperando en la cola de preparados. • Tiempo de respuesta: tiempo que va desde que se remite una solicitud hasta que se produce la primera respuesta.

Sistemas Operativos

Criterios de Planificación • Métricas: § § § § §

Máxima utilización. Máxima producción. Mínimo tiempo de retorno. Mínimo tiempo de espera. Mínimo tiempo de respuesta.

• Los algoritmos de planificación se diseñan en base a considerar una o más de estas métricas. • En la mayoría de los casos la mejora de una métrica puede perjudicar a otra. Sistemas Operativos

FCFS • Primero en llegar, primero en ser servido. • Se respeta el orden de llegada de los procesos → cola (FIFO – Primero en llegar, Primero en Salir). • Buscar mejorar el tiempo de respuesta. • Afecta los tiempos medios de espera (si los primeros procesos son largos, los demás deben esperar).

Sistemas Operativos

FCFS • Es simple de implementar (basta manejar una cola). • Es muy sensible al orden de llegada de los procesos. • Perjudica a los procesos intensivos en operaciones de E/S (efecto convoy). • Ejemplo: § Suponer los procesos P1, P2 y P3 con tiempos de ráfaga de 24, 3 y 3 respectivamente.

Sistemas Operativos

FCFS § Si los procesos llegan en ese mismo orden {P1, P2, P3}, el tiempo medio de espera (te medio) es (0 + 24 + 27) / 3 = 17.

§ Si se cambia el orden de los procesos {P2, P3, P1}, el te medio mejora (0 + 3 + 6) / 3 = 3.

Sistemas Operativos

FCFS • Ejemplo:

Sistemas Operativos

SPN • Primero el más corto. • Se planifica al proceso cuya siguiente ráfaga es la más corta (menos tiempo de CPU). • La idea es que los procesos cortos no se vean afectados por los largos (aumento en la productividad). • La presencia de muchos procesos cortos pueden perjudicar a los grandes ⇒ riesgo de inanición de los procesos de larga duración. Sistemas Operativos

SPN • Dos versiones: § No apropiativa: el proceso en ejecución no se apropia hasta que complete su ráfaga. § Apropiativa: también conocido como SRTF (primero el de tiempo restante menor); un proceso con ráfaga más corta que el tiempo restante del proceso en ejecución, apropia al proceso actual.

• Minimiza el te medio para un conjunto dado de procesos (no así el tiempo de respuesta). Sistemas Operativos

SPN • Funcionamiento (versión no apropiativa): 1) Asocia a cada proceso un tiempo aproximado de CPU. 2) Asigna la CPU al proceso con menor tiempo. 3) Cuando un proceso consigue la CPU la conserva hasta que decide liberarla.

• La estimación del tiempo de uso de CPU por parte de un proceso puede ser un inconveniente (a veces se modela con técnicas estadísticas). Sistemas Operativos

SPN • Funcionamiento SRTF: 1) Los procesos llegan a la cola y solicitan un intervalo de CPU. 2) Si dicho intervalo es inferior al que le falta al proceso en ejecución para abandonar la CPU, el nuevo proceso pasa a la CPU y el que se ejecutaba a la cola de preparados.

• El intervalo de CPU es difícil de predecir. • Mientras haya trabajos cortos, los procesos largos pueden no ejecutarse → inanición → efecto convoy. Sistemas Operativos

SPN • Si todos los procesos tienen la misma duración de ráfaga, se comporta igual que FCFS. • En la actualidad existen variantes para la planificación de procesos en tiempo-real. • Ejemplo: § Suponer los procesos P1, P2, P3 y P4 con tiempos de ráfaga de 7, 4, 1 y 4 respectivamente.

Sistemas Operativos

SPN • Ejemplo:

Sistemas Operativos

Round-Robin • También conocido como turno rotatorio. • A cada proceso se le asigna una fracción de tiempo (quantum) de CPU (entre 10 y 100 ms). Pasado este tiempo, si no ha finalizado ni se ha bloqueado, el SOP apropia al proceso y lo pone al final de la cola de preparados. • El objetivo principal es realizar una asignación imparcial de la CPU entre los trabajos. Sistemas Operativos

Round-Robin • Es uno de los más utilizados, sencillos y equitativo. • Adecuado para implementar tiempo compartido. • La cola de procesos preparados se gestiona como FIFO. • Si el quantum de tiempo es q y hay N procesos en cola, el tiempo de respuesta es, en el peor de los casos, q(N-1). Sistemas Operativos

Round-Robin • El tiempo de espera medio es: § Bajo si la duración de los trabajos varía. § Malo si la duración de los trabajos es idéntica.

• Por lo general tiene un mayor tiempo de retorno que SRTF pero mejor tiempo de respuesta. • El rendimiento depende del tamaño del quantum (q):

Sistemas Operativos

Round-Robin § Grande ⇒ igual que en FCFS (los procesos terminan sus ráfagas de CPU antes de que termine el quantum). § Pequeño ⇒ mucha sobrecarga si q no es lo suficientemente grande respecto a la duración del cambio de contexto ⇒ baja el rendimiento. § Un q ≥ 0 adecuado tiende a un sistema en el que cada proceso dispone de un procesador a 1/N de la velocidad del procesador real (procesador compartido).

Sistemas Operativos

Round-Robin • Ejemplo: Sean los procesos P1, P2, P3 y P4 con tiempos de ráfaga 53, 17, 68 y 24 respectivamente; sea q = 20.

Sistemas Operativos

Round-Robin • Ejemplo:

Sistemas Operativos

Por prioridades • Cada proceso tiene una prioridad; entra en CPU aquél con mayor prioridad. • La política puede ser expulsiva o no. • Las prioridades se pueden definir de forma interna (por el SOP) o externa (por los usuarios). • Las prioridades pueden ser: a) Estáticas: se asigna antes de la ejecución y no cambia. b) Dinámicas: cambia con el tiempo. Sistemas Operativos

Por prioridades • Si la prioridad es estática, existe riesgo de inanición de los procesos de con menos prioridad. • Una posible solución es manejar envejecimiento ⇒ aumentar progresivamente la prioridad a los procesos en espera (baja prioridad) → prioridades dinámicas.

Sistemas Operativos

Con clases de prioridades • Los procesos se clasifican en distintos grupos: sistema, interactivos, tiempo real, etc. • La cola de procesos preparados consiste en varias colas donde cada una de ellas tiene su propio algoritmo; además existe un algoritmo entre colas (por ejemplo, RR con q alto).

Sistemas Operativos

Con clases de prioridades

Sistemas Operativos

Multiprocesadores • Dos opciones: § Una cola por procesador → la carga puede quedar mal repartida. § Una cola común → el reparto es equilibrado, pero hay riesgos de inconsistencia si varios procesadores manipulan simultáneamente la cola ⇒ sincronización.

Sistemas Operativos

Related Documents