Diferencia entre revisiones de «Ejercicios otros aspectos de la planificación»
(→Ejercicio 4) |
|||
| (No se muestran 29 ediciones intermedias de 11 usuarios) | |||
| Línea 1: | Línea 1: | ||
| + | == Ejercicio 1 == | ||
| + | Dada la siguiente configuración 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 | ||
| + | | 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 | ||
| + | |} | ||
| + | Suponiendo un sistema operativo multiprocesador sobre dos procesadores, 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) | ||
| − | + | [[sol-ejer1-otros-aspectos|Ver solución ejercicio 1]] | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | == Ejercicio 2 == | |
| − | + | ''[Este ejercicio fue parte del primer Control 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: | ||
| + | |||
| + | #El siguiente, el más corto apropiativo en un sistema multiprocesador con dos procesadores, solo se ejecutaran procesos en el procesador 2 si el procesador 1 está ocupado. No olvide los tiempos de bloqueo de los procesos A y B. Considere asignación dinámica. (''[[sol-ejer2-1-otros-aspectos|Ver solución]]'') | ||
| + | #Por prioridades apropiativo en tiempo real, suponiendo que C < B < A. No olvide los tiempos de bloqueo de los procesos A y B. (''[[sol-ejer2-2-otros-aspectos|Ver solución]]'') | ||
| + | |||
| + | {| 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;" | Plazo | ||
| + | |- | ||
| + | | P<sub>A</sub> | ||
| + | | 6 | ||
| + | |- | ||
| + | | P<sub>B</sub> | ||
| + | | 15 | ||
| + | |- | ||
| + | | P<sub>C</sub> | ||
| + | | 15 | ||
| + | |} | ||
| + | |||
| + | == Ejercicio 3 == | ||
| + | ''[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. | ||
| + | |||
| + | Realice la traza temporal de ejecución de dichos procesos y los índices de penalización para los siguientes criterios de planificación: | ||
| + | |||
| + | #Por prioridades apropiativo en tiempo real, suponiendo que B>A. No olvide los tiempos de bloqueo de los procesos A y B. Considere que los plazos de ejecucion de proceso A es 16 y de proceso B es 18 | ||
| + | |||
| + | #Suponiendo un sistema multiprocesador con dos procesadores. No olvide los tiempos de bloqueo de los procesos A y B. Considere asignación dinámica. Suponga que ambos procesos se lanzan a la vez, pero el planificador da paso en primer lugar al proceso A. | ||
| + | |||
| + | [[sol-ejer-planif-procesos-3|Ver solución del ejercicio 3]] | ||
| + | |||
| + | == Ejercicio 4 == | ||
| + | ''[Este ejercicio fue parte del Primer Control de Evaluación Contínua en el curso 2012/13, del 9 de Noviembre de 2012]'' | ||
| + | |||
| + | 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 | ||
| + | | 4 | ||
| + | |- | ||
| + | | 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 unidad de tiempo de ejecución bloquea | ||
| + | |||
| + | Suponga que el tiempo de bloqueo de todos los procesos es de 3 unidades de tiempo debido al tiempo de acceso al dispositivo E/S | ||
| + | |||
| + | Realice la traza de ejecución de dichos procesos y los indices de penalización suponiendo que se trata de un planificador basado en multinivel con realimentación: | ||
| + | |||
| + | Existen dos colas, cada proceso de la primera cola recibe un quantum de 1 unidad de tiempo, los de la segunda reciben un quantum 2 unidades de tiempo cada uno de ellos. | ||
| + | |||
| + | - Todos los procesos van inicialmente a la segunda cola. | ||
| + | |||
| + | - Un proceso promociona a la primera cola si emplea todo su quantum de una sola vez. | ||
| + | |||
| + | - Un proceso nunca desciende de la primera cola a la segunda. | ||
| + | |||
| + | - Se da oportunidad de ejecución a los procesos de la primera cola siempre que no haya procesos listos en la segunda cola. | ||
| + | |||
| + | |||
| + | [[sol-ejer-planif-procesos-3|Ver solución del ejercicio 4]] | ||
| + | |||
| + | --[[Usuario:Jescrerui|JCR]] 20:38 19 nov 2012 (UTC) | ||
| + | |||
| + | |||
| + | 6.1 [[Concurrencia_de_procesos | Concurrencia de procesos]] | ||
Revisión actual del 11:37 4 dic 2016
Contenido
Ejercicio 1
Dada la siguiente configuración de procesos:
| Proceso | H0 | t |
|---|---|---|
| PA | 0 | 5 |
| PB | 1 | 3 |
| PC | 2 | 1 |
| PD | 3 | 6 |
| PE | 4 | 2 |
Suponiendo un sistema operativo multiprocesador sobre dos procesadores, 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)
Ejercicio 2
[Este ejercicio fue parte del primer Control 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:
- El siguiente, el más corto apropiativo en un sistema multiprocesador con dos procesadores, solo se ejecutaran procesos en el procesador 2 si el procesador 1 está ocupado. No olvide los tiempos de bloqueo de los procesos A y B. Considere asignación dinámica. (Ver solución)
- Por prioridades apropiativo en tiempo real, suponiendo que C < B < A. No olvide los tiempos de bloqueo de los procesos A y B. (Ver solución)
| Proceso | Plazo |
|---|---|
| PA | 6 |
| PB | 15 |
| PC | 15 |
Ejercicio 3
[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); #5Có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); #4De 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.
Realice la traza temporal de ejecución de dichos procesos y los índices de penalización para los siguientes criterios de planificación:
- Por prioridades apropiativo en tiempo real, suponiendo que B>A. No olvide los tiempos de bloqueo de los procesos A y B. Considere que los plazos de ejecucion de proceso A es 16 y de proceso B es 18
- Suponiendo un sistema multiprocesador con dos procesadores. No olvide los tiempos de bloqueo de los procesos A y B. Considere asignación dinámica. Suponga que ambos procesos se lanzan a la vez, pero el planificador da paso en primer lugar al proceso A.
Ejercicio 4
[Este ejercicio fue parte del Primer Control de Evaluación Contínua en el curso 2012/13, del 9 de Noviembre de 2012]
Dada la siguiente configuracion de procesos:
| Proceso | H0 | t |
|---|---|---|
| PA | 0 | 4 |
| 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 unidad de tiempo de ejecución bloquea
Suponga que el tiempo de bloqueo de todos los procesos es de 3 unidades de tiempo debido al tiempo de acceso al dispositivo E/S
Realice la traza de ejecución de dichos procesos y los indices de penalización suponiendo que se trata de un planificador basado en multinivel con realimentación:
Existen dos colas, cada proceso de la primera cola recibe un quantum de 1 unidad de tiempo, los de la segunda reciben un quantum 2 unidades de tiempo cada uno de ellos.
- Todos los procesos van inicialmente a la segunda cola.
- Un proceso promociona a la primera cola si emplea todo su quantum de una sola vez.
- Un proceso nunca desciende de la primera cola a la segunda.
- Se da oportunidad de ejecución a los procesos de la primera cola siempre que no haya procesos listos en la segunda cola.
--JCR 20:38 19 nov 2012 (UTC)