Ejercicio 13

Ejercicio 13

de Tomás Eirea Martinez -
Número de respuestas: 3

Buenas, tengo una duda con respecto a este ejercicio. Viendo la solución del ejercicio, entiendo que los primeros 5 ms se deben al tiempo de ejecución del fork y los siguientes 5 ms al tiempo de ejecución de la condición del if. Lo que no entiendo es por qué, luego al asignarle la CPU al proceso 2, ejecuta 10ms y no 5ms cuando el código dice : 

if pid = 0 then
Ejecuta 5ms
Bloquea 5ms
Ejecuta 5ms

Yo entiendo que debería ejecutar 5ms hasta los 15ms y luego bloquear el proceso y cederle la CPU al proceso 1.

Aguardo su respuesta,

Saludos

En respuesta a Tomás Eirea Martinez

Re: Ejercicio 13

de Nicolas Grosso San Roman -
Hola Tomás,

Cuando el proceso 1 realiza el fork, se crea el proceso hijo y éste comenzaría a ejecutar desde esa línea. Entonces, cuando el proceso hijo comience, evalúa la condición del if y luego ejecuta los 5ms que marcaste en negrita, dando 10ms en total. Como se dice en la letra, la asignación de pid = fork() es instantánea, por lo que no requiere tiempo del proceso.

Cualquier duda volvé a preguntar!
 
Saludos,
Nicolás
En respuesta a Nicolas Grosso San Roman

Re: Ejercicio 13

de Tomás Eirea Martinez -
Hola, gracias por la respuesta.
Entonces se consumen 5ms de ejecución de la condición del if para el proceso 1 (de 5ms a 10ms) y otros 5ms también para la condición del if pero para el proceso 2 (de 10ms a 15ms)?