Diferencia entre revisiones de «Ejercicios otros aspectos de la planificación»
(→Ejercicio 3) |
(→Ejercicio 3) |
||
Línea 91: | Línea 91: | ||
'''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); #2 | 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 09:25 9 nov 2011
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. 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); #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:
- 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