Unidad II Cuestionario.planificacion

12
UNIDAD 2 1. ¿Qué entiende por planificación del procesador? El objetivo de la planificación de procesos es asignar procesos a ser ejecutados por el procesador a lo largo del tiempo, de forma que se cumplan los objetivos del sistema tales como tiempo de respuesta, rendimiento y eficacia del procesador. La planificación afecta el rendimiento del sistema porque determina que proceso esperará y que proceso progresará. 2. Planificación a largo, medio y corto plazo. Planificación a largo plazo: Determina que programas se admiten en el sistema para su procesamiento. De esta forma, se controla el grado de multiprogramación. El planificador debe decidir cuando el SO puede tomar uno o mas procesos adicionales y debe decidir que trabajos se aceptan y son convertidos en procesos. Planificación a medio plazo: Es parte de la función de intercambio basada en la necesidad de gestionar el grado de multiprogramación. Planificación a corto plazo: Conocido como activador, se ejecuta mucha más frecuentemente y toma las decisiones de grano fino sobre qué proceso ejecutar. Se invoca siempre que ocurre un evento que puede conllevar al bloqueo del proceso actual y que puede proporcionar la oportunidad de expulsar al proceso actualmente en ejecución en favor de otro, por ejemplo, interrupciones de reloj, E/S, llamadas al sistema, señales.

description

UAI SISTEMAS OPERATIVOS

Transcript of Unidad II Cuestionario.planificacion

Page 1: Unidad II Cuestionario.planificacion

UNIDAD 21. ¿Qué entiende por planificación del procesador?El objetivo de la planificación de procesos es asignar procesos a ser ejecutados por el procesador a lo largo del tiempo, de forma que se cumplan los objetivos del sistema tales como tiempo de respuesta, rendimiento y eficacia del procesador.La planificación afecta el rendimiento del sistema porque determina que proceso esperará y que proceso progresará.

2. Planificación a largo, medio y corto plazo.Planificación a largo plazo:Determina que programas se admiten en el sistema para su procesamiento. De esta forma, se controla el grado de multiprogramación. El planificador debe decidir cuando el SO puede tomar uno o mas procesos adicionales y debe decidir que trabajos se aceptan y son convertidos en procesos.

Planificación a medio plazo:Es parte de la función de intercambio basada en la necesidad de gestionar el grado de multiprogramación.

Planificación a corto plazo:Conocido como activador, se ejecuta mucha más frecuentemente y toma las decisiones de grano fino sobre qué proceso ejecutar. Se invoca siempre que ocurre un evento que puede conllevar al bloqueo del proceso actual y que puede proporcionar la oportunidad de expulsar al proceso actualmente en ejecución en favor de otro, por ejemplo, interrupciones de reloj, E/S, llamadas al sistema, señales.

3. Objetivos de las políticas de planificación del procesador.- Justicia. Asegurarse que todos los procesos tengan su turno de CPU.- Eficiencia. Mantener la CPU ocupada todo el tiempo.- Tiempo de respuesta. Minimizar el tiempo de respuesta de los usuarios

interactivos.- Rendimiento o productividad (throughput). Maximizar el número de

trabajos terminados por unidad de tiempo.- Tiempo de espera. Minimizar el tiempo medio de espera (en la cola

READY) de los procesos.

4. Criterios para la elección de un algoritmo de planificación.Los criterios se pueden categorizar en dos dimensiones:

Page 2: Unidad II Cuestionario.planificacion

- Criterios orientados al usuario: relacionado con el comportamiento del sistema tal y como lo percibe un usuario individual (tiempo de respuesta del sistema).

- Criterios orientados al sistema: la atención se centra en el uso eficiente y efectivo del procesador por ejemplo la tasa con la que los procesos finalizan.

5. Medidas que se utilizan para el análisis de la planificación. Las medidas utilizadas son:

- Tiempo de estancia (turnaround time): tiempo transcurrido desde que se lanza un proceso hasta que finaliza. Incluye el tiempo de ejecución sumado al tiempo de espera por los recursos.

- Tiempo de respuesta (response time): Para un proceso interactivo, es el tiempo que transcurre desde que se lanza una petición hasta que se comienza a recibir la respuesta.

- Tiempo usado en ejecución hasta este momento- Tiempo total de servicio requerido por el proceso generalmente estimado o

proporcionado por el usuario

6. Defina política apropiativa, y no apropiativa.La política determina los instantes de tiempo en que se ejecuta la función de selección.En una política apropiativa, un proceso ejecutando en un determinado momento puede ser interrumpido y pasado al estado de listo por el SO.En una política no apropiativa una vez que el proceso esta en el estado ejecutando, continua ejecutando hasta que termina o se bloquea esperando E/S.

7. Las técnicas FCFS, RR, SRT. Ejercicios.

FCFS - First Come, First ServedLa política más simple de planificación es la FCFS. A medida que un proceso pasa al estado listo, este es agregado a la cola de listos. Cuando el proceso que actualmente está ejecutando cesa su ejecución entonces el proceso más viejo en la cola es seleccionado para correr. La implementación de esta política es a través de colas FIFO (First-In, First-Out). Cuando el CPU está libre, éste es asignado al proceso que está en la cabeza de la cola. FCFS es un algoritmo nonpreemptive ó "no apropiativo", pues una vez que el CPU es asignado a un proceso, este lo mantiene hasta que espontáneamente lo suelta, ya sea porque el proceso finalizó o por algún requerimiento de E/S. El tiempo de espera bajo esta política tiende a ser alto. Además, tiende a favorecer aquellos procesos que requieren más tiempo de CPU (CPU-bound). Consideren el caso donde tenemos una colección de procesos. Uno de ellos utiliza más CPU que los otros, y el resto de los procesos

Page 3: Unidad II Cuestionario.planificacion

requieren más trabajo de E/S (I/O-bound). Cuando el proceso CPU-bound ejecuta, los otros procesos esperan. Algunos de estos estarán en las colas de los dispositivos de E/S pero eventualmente en algún instante pasarán a la cola de procesos listos. En este momento, muchos de los dispositivos de E/S estarán ociosos. Cuando el proceso en ejecución deje el estado Running, los procesos I/O pasarán a ejecutar y rápidamente volverán a bloquearse en espera de E/S. Si el proceso CPU se encuentra bloqueado, entonces el procesador estará ocioso. Por lo tanto, FCFS puede ocasionar un uso ineficiente tanto del procesador como de los dispositivos de E/S.

Round RobinUna manera rápida de reducir la penalización que los procesos cortos sufren con FCFS es usar expropiación basada en un reloj. Una interrupción de reloj es generada a intervalos periódicos. Cuando ocurre la interrupción, el proceso en ejecución es colocado en la cola de procesos listos y el próximo trabajo es seleccionado basado en el esquema FCFS. Cada proceso tiene asignado un intervalo de tiempo de ejecución, llamado quantum o cuanto. La principal decisión de diseño que surge con Round Robin es el tamaño del quantum. Si es muy corto, entonces los procesos se moverán a través del sistema rápidamente. Por otro lado, hay un cierto overhead o desperdicio de tiempo envuelto con el manejo de la interrupción de reloj y las funciones de planificación y despacho. Por lo tanto quantums muy pequeños deberían evitarse. Una alternativa es usar un quantum de tiempo que sea un poco más grande que el tiempo promedio requerido para una interacción típica.

Round Robin es particularmente efectivo para sistemas generales de tiempo compartido. Se implementa con una cola FIFO de procesos. Nuevos procesos son agregados al final de la cola, y toma el proceso que se encuentra en la cabeza de la cola. Actualiza el timer para que interrumpa después del quantum de tiempo.El desempeño de este algoritmo dependerá del tamaño del quantum. Si el quantum es infinito entonces degenera en FCFS. Si el quantum es muy pequeño entonces Round Robin es llamado compartición de CPU y en teoría pareciera que cada proceso tiene su propio procesador corriendo a 1/n la velocidad del procesador real.Bajo este esquema es importante considerar el efecto del cambio de contexto.

SPN – Shortest process nextEl algoritmo “primero el trabajo más corto” (shortest – job - first). Establece para la planificación una relación entre proceso y ráfaga de la CPU. Es decir, al liberarse la cpu ingresará el proceso con la menor ráfaga de tiempo, el más

Page 4: Unidad II Cuestionario.planificacion

pequeño primero, y si existiera más de un proceso con igual valor, pues se aplicaría dentro de este el algoritmo anterior (FCFS).

Este algoritmo presenta una gran ventaja, pues el tiempo de espera será mucho menor, pues mientras los procesos de tiempo inferior terminan y ocupan tiempo en operaciones de E/S, el cpu se ocupa de resolver el proceso con mayor tiempo, un algoritmo muy óptimo. El problema está en conocer la duración del próximo requerimiento de CPU para cada proceso. pero podemos predecirlos usando la información de los ciclos anteriores ejecutados.

SRT – Shortest remaining timeLa política de menor tiempo restante es una versión expulsiva de SPN. En este caso el planificador siempre escoge el proceso que tiene el menor tiempo de proceso restante esperado. Cuando un nuevo proceso se une a la cola de listo, podría tener un tiempo restante menor que el proceso actualmente en ejecución. Por tanto, el planificador podría expulsar al proceso actual cuando llega un nuevo proceso.

8. Técnica de prioridad, y de colas múltiples. Características.En muchos sistemas a cada proceso se le asigna una prioridad y el planificador siempre elegirá un proceso de prioridad mayor sobre un proceso de menor prioridad. Las prioridades pueden ser estáticas o dinámicas. Las prioridades estáticas ocurren al asignar una prioridad al proceso para toda su vida. Las prioridades dinámicas, la prioridad de un proceso cambia durante su vida. El sistema proporciona un conjunto de colas en orden descendente de prioridad: CL0, CL1, CL2…. CLn. Cuando se va a realizar una selección en la planificación, el planificador comenzara en la cola de listos con la prioridad más alta (CL0). Si hay un proceso o más en la cola, se selecciona un proceso utilizando alguna política de planificación. Si CL0 esta vacía, entonces se examina CL1 y así sucesivamente.

9. Técnica de colas múltiples con FB. Características. Posibles correcciones en su implementación.Esta política trata de automatizar lo máximo posible las asignaciones favoreciendo los procesos cortos por sobre los procesos limitados por E/S con muy poca sobre carga.Divide los procesos en varias colas de procesos preparados, siendo la primera cola la de mayor prioridad.

Page 5: Unidad II Cuestionario.planificacion

La técnica de colas múltiples con retroalimentación es una política que permite establece una preferencia para los trabajos más cortos penalizando a los trabajos que han estado ejecutando más tiempo. La planificación se realiza con expulsión y se utilizan mecanismos de prioridad dinámica. Cuando un proceso entra en el sistema se sitúa en CL0. Después de su primera expulsión cuando vuelve al estado listo se sitúa en CL1. Cada vez que es expulsado se sitúa en la siguiente cola de menor prioridad. Un proceso corto se completara de forma rápida. Un proceso más largo ira degradándose gradualmente. De esta forma se favorece a los procesos nuevos más cortos sobre los más viejos y largos. Dentro de cada cola excepto en la cola de menor prioridad se utiliza un mecanismo FCFS. Una vez en la cola de menor prioridad, un proceso no puede descender más, por lo que es devuelto a esta cola repetidas veces hasta que se completa. De esta forma, esta cola se trata con una política round robin.Una variación de la política es variar los tiempos de expulsión de cada cola, un proceso de la cola CL0 tiene una rodaja de unidad de tiempo, un proceso de la cola CL1 tiene dos unidades de tiempo y así sucesivamente. Esto permite disminuir la inanición que podrían tener los trabajos con mayor tiempo si están entrando nuevos trabajos frecuentemente.Pero inclusive con esta variación es posible sufrir inanición. Una posible solución es promover a los procesos a colas de mayor prioridad después de que pasen un determinado tiempo esperando servicio en su cola actual.

10. Multiprocesador débilmente acoplado, y fuertemente acoplado.Los sistemas multiprocesadores se pueden clasificar en:

- Multiprocesador débilmente acoplado (cluster): consiste en una colección de sistemas relativamente autónomos, cada procesador tiene su propia memoria principal y canales de E/S.

- Multiprocesador fuertemente acoplado: consiste en un conjunto de procesadores que comparten la memoria principal y están bajo el control integrado de un único SO.

11. ¿Qué entiende por granularidad?La granularidad es el grado de sincronización existente entre los procesos en un sistema multiprocesador.

Paralelismo independiente: no hay sincronización explicita entre procesos. Cada uno representa un trabajo o aplicación independiente y separada. Un uso típico de este tipo de paralelismo se da en los sistemas de tiempo compartido.

Paralelismo de grano grueso y muy grueso se trata como un conjunto de procesos concurrentes ejecutando en un monoprocesador multiprogramado.

Page 6: Unidad II Cuestionario.planificacion

Paralelismo de grano medio: Es la implementación de una colección de hilos dentro de un único procesador.

Paralelismo de grano fino representa un uso más complejo del paralelismo del que se encuentra utilizando hilos.

12. Planificación de los procesos.En los sistemas más tradicionales, los procesos no se vinculan a los procesadores, en cambio, hay una única cola para todos los procesadores o si se utiliza algún tipo de esquema basado en prioridades hay múltiples colas basadas en prioridad.En general, la política de planificación es mucho menos importante a medida que crece la cantidad de procesadores, con lo cual un FCFS o un FCFS con un esquema de prioridades suele ser suficiente.

13. Planificación de los hilos.|Planificar procesos a través de hilos da un aumento significativo del rendimiento.Las técnicas que se pueden aplicar son:

- Compartición de carga: los procesos no se asignan a un procesador en particular. Se mantiene una cola global de hilos listos y cada procesador cuando esta ocioso selecciona un hilo de la cola.

- Planificación en pandilla: un conjunto de hilos relacionados que se planifica para ejecutar sobre un conjunto de procesadores al mismo tiempo en una relación uno a uno.

- Asignación de procesador dedicado: lo opuesto al enfoque de compartición de carga y proporciona una planificación implícita definida por la asignación de hilos a procesadores. Cada proceso ocupa un número de procesadores igual al número de hilos en el programa, durante toda la

Page 7: Unidad II Cuestionario.planificacion

ejecución del programa. Cuando el programa termina, los procesadores regresan al parque general para la posible asignación a otro programa.

- Planificación dinámica: el número de hilos de un proceso puede cambiar durante el curso de su ejecución.

14. Asignación dedicada y planificación dinámica.La asignación de los procesos a los procesadores pueden ser estáticas o dinámicas.Una asignación estática ocurre cuando se asigna los procesos a procesadores y luego ejecutan siempre en el mismo procesador.Una asignación dinámica ocurre al existir una cola de procesos común desde la que se van asignando a los procesadores libres.

15. Estructuras de los SO para múltiples procesadores (Maestro/esclavos, simétrica).En una arquitectura maestro-esclavo, las funciones claves del SO se ejecutan en un determinado procesador (maestro) siendo utilizados los restantes procesadores (esclavos) para manejar programas de usuario. El maestro es el responsable de la planificación de los trabajos.

En una arquitectura simétrica, las funciones del SO se ejecutan en cualquier procesador y cada uno se auto planifica.

16. Ejercicios de aplicación.

17. Presentación de casos.

Linux:Se mantiene una cola separada por cada nivel de prioridad. Un procesador disponible toma un proceso de la cola no vacía de mayor prioridad.

Las tres clases de planificación de Linux son:SCHED_FIFO: hilos de tiempo real planificados FIFOSCHED_RR: hilos de tiempo real planificados con turno circularSCHED_OTHER: otros hilos de tiempo realDentro de cada clase pueden utilizarse multiples prioridades siendo las de tiempo real mayores a las prioridades de la clase sched_other.

Windows: En un sistema con procesadores, los n-1 hilos de mayor prioridad están activos ejecutando en los n-1 procesadores. El resto de los hilos le son asignados al procesador restante.

Page 8: Unidad II Cuestionario.planificacion

Windows se organiza en dos clases: tiempo real y variable. Cada una consta de 16 niveles de prioridad. Windows hace uso de un planificador expulsivo basado en prioridades. La prioridad se maneja de manera diferente según la clase. La prioridad en la clase de tiempo real todos los hilos tienen un prioridad fija que nunca cambia.En la clase prioridad variable, la prioridad del hilo comienza con algún valor asignado inicialmente y luego puede cambiar durante la vida del hilo. Si un hilo es interrumpido porque ha usado completamente su cuanto de tiempo actual, se baja su prioridad. Si un hilo se interrumpe para esperar por un evento de E/S, se sube su prioridad.