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

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Ejercicio 5)
(Ejercicio 5: número de la líneas)
Línea 114: Línea 114:
 
'''Código proceso A:'''
 
'''Código proceso A:'''
 
<source lang="c">
 
<source lang="c">
int fd;
+
int fd;                                         #1
fd = open("fichero.txt", O_WRONLY, 0600);
+
fd = open("fichero.txt", O_WRONLY, 0600);       #2
for(int i=0;i<2;i++) {
+
for(int i=0;i<2;i++) {                         #3
   write(fd, "%d", sizeof(int));
+
   write(fd, "%d", sizeof(int));                 #4
 
}
 
}
close(fd);
+
close(fd);                                     #5
 
</source>
 
</source>
  
 
'''Código proceso B:'''
 
'''Código proceso B:'''
 
<source lang="c">
 
<source lang="c">
int fd, contador = 0;
+
int fd, contador = 0;                           #1
for(int i=0;i<2;i++) {
+
for(int i=0;i<2;i++) {                         #2
   contador+=2;
+
   contador+=2;                                 #3
 
}
 
}
printf("el contador vale: %d\n", contador);
+
printf("el contador vale: %d\n", contador);     #4
 
</source>
 
</source>
  

Revisión del 17:58 8 nov 2011

Ejercicio 1

Dada la siguiente configuración de procesos:

     H0  t
PA   0   5
PB   1   3
PC   2   1
PD   3   6
PE   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)

Ver solución ejercicio 1

Ejercicio 2

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.

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, 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.

Ver solución ejercicio 2

Ejercicio 3

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. Represente graficamente la evolución temporal de la asignación del procesador.

Ver solución ejercicio 3

Ejercicio 4

[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 4

Ejercicio 5

[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.

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


  1. 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.