Palnificacion linux

Planificación en el sistema operativo Linux.
Linux está basado en la planificación tradicional de Unix añadiendo 2 clases de prioridad para procesos de tiempo real flexibles. Las tres clases deprioridad de Linux son las siguientes: SCHED_FIFO: hilos de tiempo real con planificación FIFO. SCHED_RR: hilos de tiempo real con planificación por turno rotatorio. SCHED_OTHER: hilos que no son detiempo real y otros.

Dentro de cada clase se utilizan múltiples prioridades, siendo las prioridades de las clases de tiempo real mayores que la de la clase SCHED_OTHER. Para los hilos FIFO, se aplicanlas siguientes reglas: 1. El sistema no interrumpe la ejecución de un hilo FIFO, exepto en los siguientes casos: a) Pasa a estar listo otro hilo FIFO de mayor prioridad. b) El hilo FIFO en ejecución sebloquea a la espera de un evento, como una E/S. c) El hilo FIFO en ejecución abandona el procesador como resultado de la ejecución de la primitiva sched_yield. 2. Cuando se interrumpe un hilo FIFO enejecución, pasa a la cola asociada a su prioridad. 3.Cuando un hilo FIFO pasa a listo y tiene mayor prioridad que el hilo que está en ejecución, se expulsa al hilo en ejecución y pasa a ejecutar elhilo de mayor prioridad. Si más de un hilo tiene esta mayor prioridad, se escoge al que lleva más tiempo esperado. La política SCHED_RR es similar a la SCHED_FIFO, excepto por el uso de un cuanto detiempo asociada a cada hilo. Cuando un hilo SCHED_RR ha consumido su cuanto de tiempo, pasa a suspendido y se escoge un hilo de tiempo real con una prioridad igual o mayor. La figura 10.9 ilustra lasdiferencias entre la planificación FIFO y RR. Supóngase un programa de cuatro hilos con tres prioridades relativas asignadas según la figura 10.9. Supóngase que todos los hilos que esperan están listospara ejecutarse cuando termina o se bloquea el hilo actual y no hay ningún hilo de mayor prioridad despierto mientras se está ejecutando un hilo. La figura 10.9 muestra el orden de ejecución si…