Diferencia entre revisiones de «Ejercicios sincronización y comunicación»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(añadir otro supuesto)
(matiz sobre supuesto)
Línea 28: Línea 28:
 
* El planificación emplea turno rotatorio estrícto con quantum de 3 unidades.
 
* El planificación emplea turno rotatorio estrícto con quantum de 3 unidades.
 
* Se sabe que el proceso P2 es seleccionado en primer lugar por el planificador para ejecutarse.
 
* Se sabe que el proceso P2 es seleccionado en primer lugar por el planificador para ejecutarse.
* La ejecución del código representado anteriormente supone una unidad de ejecución, por tanto, todas las instrucciones toman el mismo tiempo de ejecución.
+
* La ejecución de cada línea de código representado anteriormente supone una unidad de ejecución, por tanto, todas las instrucciones toman el mismo tiempo de ejecución.
 
* La función get(semáforo s) devuelve el valor del contador del semáforo.
 
* La función get(semáforo s) devuelve el valor del contador del semáforo.
  

Revisión del 09:25 9 may 2011

Ejercicio 1

Realice el cronograma temporal que represente la ejecución de dos procesos P1 y P2. El proceso P1 ejecuta el siguiente código:

for (int i=0; i<2; i++) {
    down(s1);
    f1();
    if (get(s1) == 0)
        up(s2);
}

Y el proceso P2 ejecuta el siguiente código:

for (int i=0; i<2; i++) {
    down(s2);
    f2();
    up(s1);
}

Para el semáforo s1 el contador vale 1, mientras que para el semáforo s2 el contador vale 0.

Suponga que:

  • El planificación emplea turno rotatorio estrícto con quantum de 3 unidades.
  • Se sabe que el proceso P2 es seleccionado en primer lugar por el planificador para ejecutarse.
  • La ejecución de cada línea de código representado anteriormente supone una unidad de ejecución, por tanto, todas las instrucciones toman el mismo tiempo de ejecución.
  • La función get(semáforo s) devuelve el valor del contador del semáforo.

El cronograma deberá incluir qué instrucción se ejecuta en cada unidad de ejecución.

Ver solución del ejercicio 1