Cálculo del CPU-burst

Cálculo del CPU-burst

de Federico Fioritto Peraza -
Número de respuestas: 3

Buenas noches, haciendo el problema 2) parte 3) del parcial de mayo 2015 me surge la siguiente duda:

¿Cuál sería el largo del siguiente CPU-burst de este proceso? (el proceso se acaba de crear). El dato es para asignarle prioridades en SJF.

init_sem(s,0)

init_sem(t,0)

Ejecuta durante 20ms.

p(t)

p(t)

Termina.

El tiempo de ejecución de la instrucción init_sem es despreciable y el tiempo de ejecución de p(t) es de 5ms.


¿Debo tomar en cuenta si los p(t) bloquean o no al proceso?

         Si este es el caso, ¿el largo sería de 25ms?


Desde ya muchas gracias,
saludos,
Federico Fioritto.

En respuesta a Federico Fioritto Peraza

Re: Cálculo del CPU-burst

de Gustavo Brown -

Federico,

  No deberías tomar en cuanta si el P efectivamente va a bloquearse o si va a poder tomar directo el semáforo. El tiempo lo tomarías hasta el P (en este ejercicio la llamada "cuesta" 5ms, esos también los contás). O sea que el burst time del ejemplo sería 25ms. Luego va a tener otro burst time de 5 ms.

Saludos,
  Gustavo

En respuesta a Gustavo Brown

Re: Cálculo del CPU-burst

de Federico Fioritto Peraza -

Gustavo, gracias por responder.

Para aclararme la duda totalmente me gustaría saber si es correcto el burst time en esta variante del programa (considerando las mismas características antes dadas):

init_sem(t,1)

Ejecuta durante 20ms.

p(t)

p(t)

Termina.


El siguiente burst time en este ejemplo sería de 25ms: 20ms + 5ms por la ejecución del primer P (aún cuando este P no se bloquea y el proceso ejecutaría el segundo P inmediatamente después). 

Saludos, 
Federico

En respuesta a Federico Fioritto Peraza

Re: Cálculo del CPU-burst

de Gustavo Brown -

Correcto. Fijate que el hecho de que el P termine bloqueando o no normalmente depende también de otros procesos (que eventualmente hacen Ps y Vs).

El segundo P recién lo ejecutaría cuando el proceso vuelva a tener la CPU.

Saludos,
  Gustavo