Formulas Planificación Del Cpu
Enviado por menfhysbell • 18 de Febrero de 2013 • 1.557 Palabras (7 Páginas) • 305 Visitas
Formulas planificación del cpu
FCFS (first come first served)
Proceso Ciclo de CPU
P1 24
P2 3
P3 3
El diagrama de Gantt para nuestro ejemplo es el siguiente:
• Tiempo de espera para P1 = 0; P2 = 24; P3 = 27
• Tiempo de espera promedio es: (0 + 24 + 27)/3 = 17
• Tiempo de entrega para P1 = 24; P2 = 27; P3 = 30
• Tiempo de entrega promedio es: (24 + 27 + 30)/3 = 27
SJF ( Shortest job first )
SJF no apropiativo
Proceso Tiempo de llegada Ciclo de CPU
P1 0 7
P2 2 4
P3 4 1
P4 5 4
El diagrama de Gantt para nuestro ejemplo es el siguiente:
Tiempo de espera:
• P1 llegó en 0 y entró en 0 esperó 0, P3 llegó en 4 y entró en 7 esperó 3, P2 llegó en 2 y entró en 8 esperó 6, P4 llegó en 5 y entró en 12 esperó 7.
• Tiempo de espera promedio = (0 + (8 -2 ) + ( 7 – 4 ) + ( 12 – 5 ))/4 = ( 0 + 6 + 3 + 7 )/4 = 4
Tiempo de entrega:
• P1 llegó en 0 y finalizó en 7 tiempo de entrega 7, P2 llegó en 2 y finalizó en 12 tiempo de entrega 10, P3 llegó en 4 y finalizó en 8 tiempo de entrega 4, P4 llegó en 5 y finalizó en 16 tiempo de entrega 11.
• Tiempo de entrega promedio = (( 7 – 0 ) + (12 – 2) + ( 8 – 4 ) + ( 16 – 5 ))/4 = ( 7 + 10 + 4 + 11 )/4 = 8
SJF apropiativo
Proceso Tiempo de Llegada Ciclo de CPU
P1 0 7
P2 2 4
P3 4 1
P4 5 4
El diagrama de Gantt para nuestro ejemplo es el siguiente:
Tiempo de espera para P1 como ejemplo: P1 entra de inmediato al CPU con espera 0, pero luego sale en el momento 2 y espera hasta el momento 11 para volver al CPU, por lo tanto P1 espera ( 11 – 2 ) = 9 unidades de tiempo.
• Tiempo de espera promedio = ((0 + ( 11 – 2 )) + ( 0 + (5 – 4 )) + ( 0 ) + ( 7 – 5 ))/4 = ( 9 + 1 + 0 + 2 )/4 = 3
• Tiempo de entrega para P2 como ejemplo: P2 sale del sistema en el momento 7, llegó en 2 por lo tanto el tiempo de entrega es 7 – 2 = 5.
• Tiempo de entrega promedio = (16 + ( 7 – 2 )+ ( 5 – 4 ) + ( 11 – 5 ))/4 = ( 16 + 5 + 1 + 6 )/4 = 7
• El siguiente ciclo de CPU de un proceso puede ser estimado.
• Se basa en la historia del proceso dentro del sistema.
• a toma un valor entre 0 y 1 dado por el administrador o diseñador del sistema de acuerdo a las características de los procesos que se ejecutan en el CPU.
• Al expandir la formula para predecir el próximo ciclo de CPU, obtenemos:
tn+1 = a tn+(1 - a)a tn -1 + …
+(1 - a )j a tn -j + …
+(1 - a )n +1 t0
• Si a =0
Solo se toma en cuanta el histórico del proceso. El último ciclo de CPU es descartado.
• Si a =1
tn+1 = tn
Solamente se toma en cuenta el último ciclo de CPU.
• Como a y (1 - a) tienen un valor menor o igual a 1, cada término sucesivo en la fórmula tiene menor peso que su predecesor.
• Ejemplo: asignamos a = 0,5. Le damos igual peso al último ciclo de CPU y al histórico.
• Un proceso comenzará su ejecución. No existe historia sobre este proceso por lo tanto al azar predecimos que su ciclo de CPU será tn = 10.
• Se ejecuta el proceso y su ciclo de CPU fue 6. En base a esto, se predice su próximo ciclo de CPU de la siguiente manera,
• tn+1 = ( 0,5 ) ( 6 ) + ( 0,5 ) ( 10 ) = 8
• Se vuelve a ejecutar el proceso y resulta que su ciclo de CPU fue 4 en lugar del 8 pronosticado. Se procede a predecir el próximo ciclo de CPU como sigue,
• tn+1 = ( 0,5 ) ( 4 ) + ( 0,5 ) ( 8 ) = 6
• El proceso se ejecuta en el CPU y resulta que su ciclo de CPU fue 6, la predicción para el próximo ciclo de CPU es,
• tn+1 = ( 0,5 ) ( 6 ) + ( 0,5 ) ( 6 ) = 6
• Se ejecuta el proceso y su ciclo de CPU fue 4. En base a esto, se predice su próximo ciclo de CPU de la siguiente manera,
tn+1 = ( 0,5 ) ( 4 )
...