Diferencia entre revisiones de «Ejercicios planificación de procesos»
(retirar referencia a multiprocesamiento en ejercicio 1) |
(→Ejercicio 2: Correcion enunciado(añadir requisito).) |
||
(No se muestran 33 ediciones intermedias de 8 usuarios) | |||
Línea 1: | Línea 1: | ||
= Ejercicio 1 = | = Ejercicio 1 = | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
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, | + | * 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- | + | [[sol-ejer-planif-procesos-5|Ver solución del ejercicio 4]] |
Revisión actual del 21:52 3 nov 2012
Contenido
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.
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.
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:
- 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.
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.