Diferencia entre revisiones de «Ejercicios otros aspectos de la planificación»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Ejercicio 3: realice es con c no con z)
m (Añadido nuevo ejercicio)
Línea 117: Línea 117:
  
 
[[sol-ejer-planif-procesos-3|Ver solución del ejercicio 3]]
 
[[sol-ejer-planif-procesos-3|Ver solución del 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
 +
}
 +
 +
</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. Suponiendo un sistema multiprocesador con dos procesadores. No olvide los tiempos de bloqueo de los procesos A y B. Considere asignación estática.
 +
 +
[[sol-ejer-planif-procesos-4|Ver solución del ejercicio 4]]

Revisión del 17:13 26 ene 2012

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)

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:

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. 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)
  2. 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.

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

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

Ver solución del 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
}

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. Suponiendo un sistema multiprocesador con dos procesadores. No olvide los tiempos de bloqueo de los procesos A y B. Considere asignación estática.

Ver solución del ejercicio 4