planificación de procesos - soii - 2016
TRANSCRIPT
![Page 2: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/2.jpg)
PlanificaciónEn la multiprogramación, muchas veces existen varios procesos o hilos que compiten por el uso de la CPU.
Esta situación ocurre cada vez que dos o más de estos procesos se encuentran al mismo tiempo en el estado listo.
![Page 3: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/3.jpg)
PlanificaciónSi sólo hay una CPU disponible, hay que decidir cuál proceso se va a ejecutar a continuación.
La parte del sistema operativo que realiza esa decisión se conoce como planificador de procesos y el algoritmo que utiliza se conoce como algoritmo de planificación.
![Page 4: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/4.jpg)
PlanificaciónLa Planificación es el conjunto de políticas y mecanismos incorporados al S.O. que gobiernan el orden en que se ejecutan los trabajos.
![Page 5: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/5.jpg)
PlanificaciónEl Planificador, despachador, scheduler o dispatcher es la parte del S.O. que selecciona el siguiente trabajo que hay que admitir en el sistema y el siguiente proceso a ejecutar.
![Page 6: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/6.jpg)
Planificación¿Cuál es el objetivo último de la Planificación?
Optimizar el rendimiento
![Page 7: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/7.jpg)
Planificación La planificación en Linux se basa en
prioridades un proceso con prioridad más alta
va a interrumpir a otro de prioridad más baja que se esté ejecutando.
![Page 8: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/8.jpg)
Planificación Los procesos con prioridad más
alta en general son los que interactúan con el usuario (procesadores de texto y terminales) y los de tiempo real (por ejemplo los que muestran video o música)
![Page 9: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/9.jpg)
Planificación En cambio los procesos que pasan
más tiempo haciendo cálculos tienen menos prioridad pero usan más tiempo la CPU
¿cómo es posible que se den ambas situaciones a la vez?
![Page 10: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/10.jpg)
Planificación
![Page 11: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/11.jpg)
Planificación Imaginemos que solo tenemos dos
procesos1. Un compilador que hace cálculos todo
el tiempo2. Una terminal que espera que
escribamos un comando y que pasa la mayor parte del tiempo bloqueado
![Page 12: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/12.jpg)
Planificación Si el Sistema Operativo espera a que el
proceso de arriba termine de hacer lo que está haciendo para recién atender a las necesidades del proceso de abajo, se produce un tiempo de espera que puede ser muy largo entre que el usuario pulsa una tecla y la letra se muestra en pantalla
![Page 13: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/13.jpg)
Planificación
![Page 14: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/14.jpg)
Planificación Lo peor es que la CPU pasa también
mucho tiempo inactiva, porque pasa mucho tiempo entre que yo pulso una tecla y después otra.
Hay que encontrar una manera para mejorar el trabajo
![Page 15: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/15.jpg)
Planificación En el caso de Linux se le da
máxima prioridad a los procesos que interactúan con el usuario que pueden interrumpir al proceso que se está ejecutando
![Page 16: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/16.jpg)
Planificación Además al proceso que se ejecuta se
le va bajando de a poco la prioridad para que le dé la oportunidad a otro proceso de menor prioridad
![Page 17: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/17.jpg)
Planificación
![Page 18: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/18.jpg)
Planificación Cuando un proceso entra a la cola de listos
lo hace con una prioridad determinada por el sistema operativo en base a las anteriores veces que se ejecutó.
Los procesos con igual prioridad se van ejecutando uno detrás de otro (Round Robin)
![Page 19: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/19.jpg)
Algoritmos de Planificación
![Page 20: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/20.jpg)
Algoritmos de Planificación Los Algoritmos se aplican a
diferentes tipos de sistemas y deben cumplir unos Principios o metas las circunstancias en que se ejecutan (o los tipos de procesos)
![Page 21: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/21.jpg)
Algoritmos de PlanificaciónEquidad: Otorgar a cada proceso una
parte justa de la CPUAplicación de Políticas: Verificar
que se lleven a cabo las políticas establecidas
Balance: Mantener ocupadas todas las partes del sistema
![Page 22: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/22.jpg)
Algoritmos de PlanificaciónSistemas de Procesamiento por
lotes No hay usuarios interactuando con el
sistema, así que no importa que el tiempo de respuesta sea inmediato. Lo que sí importa es que el proceso se termine lo antes posible para darle cabida a otro
![Page 23: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/23.jpg)
Algoritmos de Planificación Sistemas de Procesamiento por lotes
Rendimiento: Maximizar el número de trabajos por hora
Tiempo de retorno: Minimizar el tiempo entre la entrega y la terminación
Utilización de CPU: Mantenerla ocupada todo el tiempo
![Page 24: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/24.jpg)
Algoritmos de PlanificaciónSistemas Interactivos
Es esencial el tiempo de respuesta ante las peticiones del usuario.
No puede haber un proceso que no deje actuar a los demás (por un error de programación por ejemplo)
![Page 25: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/25.jpg)
Algoritmos de Planificación Sistemas Interactivos
Tiempo de Respuesta: Responder a las peticiones del usuario con rapidez
Proporcionalidad: Cumplir con las expectativas del usuario
![Page 26: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/26.jpg)
Algoritmos de PlanificaciónSistemas de Tiempo Real
Los procesos hacen su trabajo y se bloquean rápidamente para no ocupar todo el tiempo la CPU
![Page 27: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/27.jpg)
Algoritmos de Planificación Sistemas de Tiempo Real
Cumplir con los plazos: Evitar perder datos
Predictibilidad: Evitar que decaiga la calidad de los procesos multimedia
![Page 28: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/28.jpg)
Algoritmos de Planificación Primero en Entrar, Primero en Salir
(First In, First Out) Es el más simple Los procesos se ponen uno detrás de
otro
![Page 29: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/29.jpg)
Algoritmos de Planificación Primero en Entrar, Primero en Salir
El planificador toma el primer proceso, lo ejecuta por cierto tiempo o hasta que se bloquea y lo manda al final de la cola
Si entra un proceso nuevo (o viene uno de la lista de Bloqueados) también se pone al final de la cola
![Page 30: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/30.jpg)
Algoritmos de Planificación Primero en Entrar, Primero en Salir
El problema es que si hay muchos procesos, uno que tenga real importancia podría demorar demasiado en terminar su trabajo
![Page 31: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/31.jpg)
Algoritmos de Planificación El Trabajo Más Corto Primero
Se supone que los tiempos de ejecución se conocen de antemano
![Page 32: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/32.jpg)
Algoritmos de Planificación El Trabajo Más Corto Primero
El problema principal es cuando se van agregando nuevos procesos, puede ocurrir que el que tiene un tiempo más largo nunca llegue a ejecutarse
![Page 33: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/33.jpg)
Algoritmos de Planificación El Menor Tiempo Restante a Continuación
Similar al anterior, pero acá si llega un proceso nuevo se compara con el que se está ejecutando y si su tiempo es menor, se cambia de proceso
Puede tener el mismo problema de no permitir ejecutarse a los demás procesos
![Page 34: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/34.jpg)
Algoritmos de Planificación Por Turno Circular (Round Robin)
A cada proceso se le asigna un intervalo de tiempo de uso de la CPU (quantum)
Cuando se termina su quantum se pasa al siguiente proceso
![Page 35: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/35.jpg)
Algoritmos de Planificación Por Turno Circular (Round Robin)
La clave de es el tamaño del quantum▪ si es muy corto y hay muchos procesos estos
se atienden más rápido, pero la CPU pasa mucho tiempo cambiando de procesos▪ Si es muy largo, de pronto procesos que no
necesitan mucho tiempo de atención demoran mucho en ser atendidos
![Page 36: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/36.jpg)
Algoritmos de Planificación Por Prioridad
A cada proceso que entra se le da una prioridad determinada
El próximo proceso a ejecutar será el que tenga la prioridad más alta
(en Linux va de 100 a 139, cuanto más grande el número menor es la prioridad)
![Page 37: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/37.jpg)
Algoritmos de Planificación Por Prioridad
Para evitar que un proceso con prioridad alta se ejecute indefinidamente, se le va reduciendo la prioridad en cada quantum
Si en algún momento se encuentra un proceso con prioridad más alta en la cola de listos, ocurre un cambio de procesos
![Page 38: Planificación de Procesos - SOII - 2016](https://reader035.vdocuments.co/reader035/viewer/2022062310/58d045ac1a28ab8e5b8b6245/html5/thumbnails/38.jpg)
Algoritmos de Planificación Por Prioridad
Los procesos con la misma prioridad se ubican todos juntos en la misma cola.
Entre los procesos con distinta prioridad de ejecuta el que tiene mayor prioridad
Entre los procesos que tienen la misma prioridad se ejecutan por Round Robin