Diferencia entre revisiones de «Ejercicios planificación de procesos»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Ejercicio 5: cambio coméstico)
(Ejercicio 2: Correcion enunciado(añadir requisito).)
 
(No se muestran 11 ediciones intermedias de 3 usuarios)
Línea 1: Línea 1:
 
= Ejercicio 1 =
 
= Ejercicio 1 =
 
Dada la siguiente configuración de procesos:
 
 
      H0  t
 
P<sub>A</sub>  0  5
 
P<sub>B</sub>  1  3
 
P<sub>C</sub>  2  1
 
P<sub>D</sub>  3  6
 
P<sub>E</sub>  4  2
 
 
Realice la traza de la ejecución de dichos procesos para los siguientes criterios de planificación:
 
 
* FIFO (no apropiativo)
 
* SJF (apropiativo y no apropiativo)
 
* Índice de penalización (no apropiativo)
 
[[sol-ejer1-planif-procesos|Ver solución ejercicio 1]]
 
 
= Ejercicio 2 =
 
  
 
Dada la siguiente configuración de procesos:
 
Dada la siguiente configuración de procesos:
Línea 32: Línea 14:
  
 
Suponga que el tiempo de bloqueo de todos los procesos es de 2 unidades de tiempo debido al tiempo de acceso al dispositivo de E/S.
 
Suponga que el tiempo de bloqueo de todos los procesos es de 2 unidades de tiempo debido al tiempo de acceso al dispositivo de E/S.
 +
 +
En caso de empate, considere que el orden de inserción a la cola de preparados es por orden de llegada (FIFO).
  
 
Realice la traza temporal de ejecución de dichos procesos para los siguientes criterios de planificación:
 
Realice la traza temporal de ejecución de dichos procesos para los siguientes criterios de planificación:
Línea 37: Línea 21:
 
* Turno rotatorio estricto, suponiendo que el quantum es de 2 unidades de tiempo.
 
* Turno rotatorio estricto, suponiendo que el quantum es de 2 unidades de tiempo.
 
* Por prioridades, suponiendo que A < B < C.
 
* Por prioridades, suponiendo que A < B < C.
* Turno rotatorio proporcional al número de procesos, suponiendo que el quantum es de 2 unidades de tiempo. Si hay dos o más procesos el quantum pasa a ser de una unidad de tiempo.
+
* Turno rotatorio proporcional al número de procesos en estado preparado, suponiendo que el quantum es de 2 unidades de tiempo. Si hay dos o más procesos preparados el quantum pasa a ser de una unidad de tiempo.
  
[[sol-ejer2-planif-procesos|Ver solución ejercicio 2]]
+
[[sol-ejer2-planif-procesos|Ver solución ejercicio 1]]
  
= Ejercicio 3 =
+
= Ejercicio 2 =
  
 
En un planificador multinivel con realimentación se dispone de dos colas:
 
En un planificador multinivel con realimentación se dispone de dos colas:
Línea 58: Línea 42:
 
  Pd  3  12
 
  Pd  3  12
  
Suponga que los procesos A y B bloquean por operación de E/S tras 1 unidad de ejecución. Los procesos C y D no bloquean. Los tiempos de bloqueo por E/S son de 1 unidad de tiempo. Represente graficamente la evolución temporal de la asignación del procesador.
+
Suponga que los procesos A y B bloquean por operación de E/S tras 1 unidad de ejecución. Los procesos C y D no bloquean. Los tiempos de bloqueo por E/S son de 1 unidad de tiempo. En toda decisión del planificador tenga en cuenta a los procesos que justo acaban de pasar a estado preparado tras un bloqueo.Represente gráficamente la evolución temporal de la asignación del procesador.
  
[[sol-ejer3-planif-procesos|Ver solución ejercicio 3]]
+
[[sol-ejer3-planif-procesos|Ver solución ejercicio 2]]
  
=Ejercicio 4 =
+
=Ejercicio 3 =
 
''[Este ejercicio formó parte del Primer Parcial de Evaluación Contínua del curso 2010/11 del 23 de marzo de 2011]''
 
''[Este ejercicio formó parte del Primer Parcial de Evaluación Contínua del curso 2010/11 del 23 de marzo de 2011]''
  
Línea 105: Línea 89:
 
*En toda decisión del planificador tenga en cuenta a los procesos que justo acaban de pasar a estado preparado tras un bloqueo.
 
*En toda decisión del planificador tenga en cuenta a los procesos que justo acaban de pasar a estado preparado tras un bloqueo.
  
''[[sol-ejer4-planif-procesos|Ver solución ejercicio 4]]''
+
''[[sol-ejer4-planif-procesos|Ver solución ejercicio 3]]''
  
=Ejercicio 5 =
+
=Ejercicio 4 =
 
''[Este ejercicio formó parte del Primer Parcial de Evaluación Contínua del curso 2011/12 del 8 de Noviembre de 2011]''
 
''[Este ejercicio formó parte del Primer Parcial de Evaluación Contínua del curso 2011/12 del 8 de Noviembre de 2011]''
  
Línea 133: Línea 117:
 
De manera teórica, suponga que la ejecución de cada línea de código toma una unidad de tiempo. Considere que las llamadas '''write''' y '''printf''' son bloqueantes puesto que suponen accesos a dispositivos de E/S, siendo los tiempos de bloqueo de 3 unidades de tiempo. Suponga que ambos procesos se lanzan a la vez, pero el planificador da paso en primer lugar al proceso A.
 
De manera teórica, suponga que la ejecución de cada línea de código toma una unidad de tiempo. Considere que las llamadas '''write''' y '''printf''' son bloqueantes puesto que suponen accesos a dispositivos de E/S, siendo los tiempos de bloqueo de 3 unidades de tiempo. Suponga que ambos procesos se lanzan a la vez, pero el planificador da paso en primer lugar al proceso A.
  
Realice la traza temporal de ejecución de dichos procesos y los índices de penalización suponiendo una por turno rotatorio con compensación con ''quantum'' de 2 unidades de tiempo:
+
Realice la traza temporal de ejecución de dichos procesos y los índices de penalización suponiendo planificación por turno rotatorio con compensación con ''quantum'' de 2 unidades de tiempo:
  
 
* En caso de que un proceso haya consumido el 50% de su quantum y en la cola de procesos preparados haya un único proceso, insértelo delante de éste.
 
* En caso de que un proceso haya consumido el 50% de su quantum y en la cola de procesos preparados haya un único proceso, insértelo delante de éste.
Línea 139: Línea 123:
 
* Recuerde que un proceso en estado bloqueado se inserta en la cola de preparados una vez que pasa el tiempo de bloqueo (que en este ejercicio se trata de 3 unidades de tiempo.
 
* Recuerde que un proceso en estado bloqueado se inserta en la cola de preparados una vez que pasa el tiempo de bloqueo (que en este ejercicio se trata de 3 unidades de tiempo.
 
* En toda decisión del planificador tenga en cuenta los procesos que justo acaban de pasar a estado preparado tras un bloqueo.
 
* En toda decisión del planificador tenga en cuenta los procesos que justo acaban de pasar a estado preparado tras un bloqueo.
 +
 +
[[sol-ejer-planif-procesos-5|Ver solución del ejercicio 4]]

Revisión actual del 21:52 3 nov 2012

Ejercicio 1

Dada la siguiente configuración de procesos:

     H0  t
PA   0   3
PB   1   5
PC   2   6

Teniendo en cuenta el siguiente comportamiento:

  • El proceso A cada 1 unidad de tiempo de ejecución bloquea por operación de E/S
  • El proceso B cada 3 unidades de tiempo de ejecución bloquea por operación de E/S

Suponga que el tiempo de bloqueo de todos los procesos es de 2 unidades de tiempo debido al tiempo de acceso al dispositivo de E/S.

En caso de empate, considere que el orden de inserción a la cola de preparados es por orden de llegada (FIFO).

Realice la traza temporal de ejecución de dichos procesos para los siguientes criterios de planificación:

  • Turno rotatorio estricto, suponiendo que el quantum es de 2 unidades de tiempo.
  • Por prioridades, suponiendo que A < B < C.
  • Turno rotatorio proporcional al número de procesos en estado preparado, suponiendo que el quantum es de 2 unidades de tiempo. Si hay dos o más procesos preparados el quantum pasa a ser de una unidad de tiempo.

Ver solución ejercicio 1

Ejercicio 2

En un planificador multinivel con realimentación se dispone de dos colas:

  • La primera cola tiene procesos que reciben un quantum de 4 unidades de tiempo.
  • La segunda cola tiene procesos que reciben un quantum de 2 unidades de tiempo. Los procesos en esta cola reciben dos oportunidades de ejecución. Por tanto, se itera dos veces sobre esta cola antes de pasar a la primera cola.

Los procesos que acaban de ser lanzados pasan inicialmente a la segunda cola. Si consumen completamente el quantum una vez, promocionan a la primera cola. Si dejan de consumir completamente el quantum una vez, descienden a la segunda.

Dada la siguiente configuración de procesos:

    H0  t
Pa   0  4
Pb   1  4
Pc   2  12
Pd   3  12

Suponga que los procesos A y B bloquean por operación de E/S tras 1 unidad de ejecución. Los procesos C y D no bloquean. Los tiempos de bloqueo por E/S son de 1 unidad de tiempo. En toda decisión del planificador tenga en cuenta a los procesos que justo acaban de pasar a estado preparado tras un bloqueo.Represente gráficamente la evolución temporal de la asignación del procesador.

Ver solución ejercicio 2

Ejercicio 3

[Este ejercicio formó parte del Primer Parcial de Evaluación Contínua del curso 2010/11 del 23 de marzo de 2011]

Dada la siguiente configuracion de procesos:

Proceso H0 t
PA 0 3
PB 1 5
PC 2 6

Teniendo en cuenta el siguiente comportamiento:

  • El proceso A cada 1 unidad de tiempo de ejecución bloquea .
  • El proceso B cada 3 unidades de tiempo de ejecución bloquea.

Suponga que el tiempo de bloqueo de todos los procesos es de 2 unidades de tiempo debido al tiempo de acesso al dispositivo de E/S.

Realice la traza de ejecución de dichos procesos y los índices de penalización para los siguientes criterios de planificación:

  1. Turno rotatorio con compensacion con quantum de 2 unidades de tiempo.


  • En caso de que un proceso haya consumido el 50% de su quantum y en la cola de procesos preparados haya un unico proceso, insertelo delante de este.
  • Si dos o mas procesos pasan de estado preparado a la vez, considere que el orden de insercion en la cola de preparados es el siguiente: 1ºA 2ºB 3ºC
  • Recuerde que un proceso en estado bloqueado se inserta en la cola de preparados una vez que pasa el tiempo de bloqueo ( que en este ejercicio se trata de 2 unidades de tiempo)
  • En toda decisión del planificador tenga en cuenta a los procesos que justo acaban de pasar a estado preparado tras un bloqueo.

Ver solución ejercicio 3

Ejercicio 4

[Este ejercicio formó parte del Primer Parcial de Evaluación Contínua del curso 2011/12 del 8 de Noviembre de 2011]

Dado el código de los siguientes procesos:

Código proceso A:

int fd;                                         #1
fd = open("fichero.txt", O_WRONLY, 0600);       #2
for(int i=0;i<2;i++) {                          #3
  write(fd, "%d", sizeof(int));                 #4
}
close(fd);                                      #5

Código proceso B:

int fd, contador = 0;                           #1
for(int i=0;i<2;i++) {                          #2
  contador+=2;                                  #3
}
printf("el contador vale: %d\n", contador);     #4

De manera teórica, suponga que la ejecución de cada línea de código toma una unidad de tiempo. Considere que las llamadas write y printf son bloqueantes puesto que suponen accesos a dispositivos de E/S, siendo los tiempos de bloqueo de 3 unidades de tiempo. Suponga que ambos procesos se lanzan a la vez, pero el planificador da paso en primer lugar al proceso A.

Realice la traza temporal de ejecución de dichos procesos y los índices de penalización suponiendo planificación por turno rotatorio con compensación con quantum de 2 unidades de tiempo:

  • En caso de que un proceso haya consumido el 50% de su quantum y en la cola de procesos preparados haya un único proceso, insértelo delante de éste.
  • Si dos o más procesos pasan a estado preparado a la vez, considere que el orden de inserción de preparados en la cola es el siguiente: 1º-A, 2º-B.
  • Recuerde que un proceso en estado bloqueado se inserta en la cola de preparados una vez que pasa el tiempo de bloqueo (que en este ejercicio se trata de 3 unidades de tiempo.
  • En toda decisión del planificador tenga en cuenta los procesos que justo acaban de pasar a estado preparado tras un bloqueo.

Ver solución del ejercicio 4