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

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Ejercicio 1)
(Ejercicio 2: Correcion enunciado(añadir requisito).)
 
(No se muestran 34 ediciones intermedias de 8 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)
 
* También realizados con multiprocesamiento
 
[[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 33: 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 38: 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, supongiendo 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 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.
 +
 
 +
[[sol-ejer3-planif-procesos|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:
 +
 
 +
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;"
 +
! width="50" style="background:#efefef;" | Proceso
 +
! width="50" style="background:#efefef;" | H<sub>0
 +
! width="50" style="background:#efefef;" | t
 +
|-
 +
| P<sub>A</sub>
 +
| 0
 +
| 3
 +
|-
 +
| P<sub>B</sub>
 +
| 1
 +
| 5
 +
|-
 +
| P<sub>C</sub>
 +
| 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:
 +
 
 +
#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.
 +
 
 +
''[[sol-ejer4-planif-procesos|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:'''
 +
<source lang="c">
 +
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
 +
</source>
 +
 
 +
'''Código proceso B:'''
 +
<source lang="c">
 +
int fd, contador = 0;                          #1
 +
for(int i=0;i<2;i++) {                          #2
 +
  contador+=2;                                  #3
 +
}
 +
printf("el contador vale: %d\n", contador);    #4
 +
</source>
 +
 
 +
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.
  
[[sol-ejer2-planif-procesos|Ver solución ejercicio 2]]
+
[[sol-ejer-planif-procesos-5|Ver solución del ejercicio 4]]

Revisión actual del 22: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