miércoles, 29 de septiembre de 2010

Planificación de CPU

Planificación es una función fundamental del sistema operativo. Siendo la CPU uno de los principales recursos, la planificación de su uso es sumamente importante.
En un ambiente de multiprogramación, el sistema operativo debe decidir a qué proceso le da la CPU entre los que están listos para ejecutarse.

Políticas de planificación

Se considera t como el tiempo que un proceso P necesita estar en ejecución para llevar a cabo su trabajo, ti el instante en que el usuario da la orden de ejecución del proceso y tf el instante en que el proceso termina su ejecución.

Planificación FCFS

- Planificación Primero en llegar, primero en ser servido o First Come, First Served.
- El procesador ejecuta cada proceso hasta que terminar.
- No es expulsiva (no apropiativa).
- Es justa, aunque los procesos largos hacen esperar mucho a los cortos.
- Es una política predecible.
- El tiempo medio de servicio es muy variable en función del numero de procesos y su duración.

Planificacion Round Robin

- Es una mejora de la FCFS.
- Trata de ser justa en cuanto a la respuesta tanto de los procesos cortos como de los largos.
- Consiste en conceder a cada proceso en ejecución un determinado periodo de tiempo q (quantum), transcurrido el cual, si el proceso no ha terminado, se le devuelve al final de la cola de procesos preparados, concediéndose el procesador al siguiente proceso por su correspondiente quantum.

Planificación SJF

- Se asocia a cada proceso la longitud de su siguiente ráfaga de CPU.
- Este algoritmo consiste en que el planificador elige aquellos procesos que requieran menor cantidad de tiempo para ejecutarse y luego los despacha de acuerdo a ese orden.
- En el caso en que dos o más procesos se demoren el mismo tiempo se usa el criterio de FCFS.
- Cuando la CPU está disponible es asignada al proceso que tiene la siguiente ráfaga de CPU menor.
- Si dos procesos tienen la misma longitud para la siguiente ráfaga de CPU se utiliza la planificación FCFS para romper el empate.

Planificacion Por Prioridad

- En esta política se asocia a cada proceso una prioridad, de manera que el procesador se asigna al proceso de mayor prioridad.
- Las prioridades puedes ser definidas interna o externamente.
- En el primer caso se basa que el sistema operativo en una serie de informaciones medibles para el calculo y asignación de dichas prioridades (tiempo necesitado de procesador, necesidad de memoria,etc.)

2 comentarios:

  1. Depende de la duración de los procesos, un tipo de planificación va a generar menores tiempos promedios de espera que otro. Por ejemplo, si tengo 4 procesos con tiempos cortos de uso de CPU y uno con una gran cantidad de tiempo, en este caso, el SJF es el más óptimo para éste caso y para obtener menor tiempo promedio de espera, ya que los procesos cortos no tendrán que esperar mucho para su ejecución. Si en éste caso se utilizara el FCFS, sólo si el orden de llegada de los procesos es de el más corto a más largo tendrá la misma eficiencia que el SJF.

    ResponderEliminar
  2. FCFS
    First Come, First Served (Primero en llegar, primero en salir)

    Es la política más simple de planificación.
    A medida que un proceso pasa al estado listo ('ready'), este es agregado a la cola de listos. Cuando el proceso que actualmente se está ejecutando termina su ejecución, el proceso más viejo en la cola (por asi decirlo) es seleccionado para ejecutarse.
    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.

    ResponderEliminar