Luis Zelaya
Primera Edición
28/09/2008
C
apí
tul
o:
P
ri
me
r
P
ar
ci
al
2
T
T
AB
A
BL
L
A
A
D
DE
E
CO
C
ON
NT
TE
E
NI
N
I
DO
D
O
Primer Parcial ... 3
Descripción y Control de Procesos ... 3
Cambio de Estados de Procesos: Ejemplo Resuelto ... 3
Cambio de Estados de Procesos: Ejercicio 1 ... 4
Cambio de Estados de Procesos: Ejercicio 2 ... 5
Cambio de Estados de Procesos: Ejercicio 3 ... 6
Segundo Parcial ... 7
Control de Concurrencia ... 7
Problema de Exclusión Mutua con Algoritmo de Petersen: Ejemplo resuelto ... 7
Problema de Exclusión Mutua con Algoritmo de Petersen: Ejemplo para resolver ... 7
Problema de Lectores/Escritores: Ejemplo Resuelto ... 8
Problema de Lectores/Escritores: Ejercicio 1 ... 10
Tercer Parcial ... 11
Planificación de Procesadores ... 11
Planificación de Procesadores: Ejercicio Resuelto de aplicación de políticas de Planificación... 11
Planificación de Procesadores: Ejercicio de aplicación de políticas de Planificación 1 ... 12
Planificación: Ejercicio de aplicación de políticas de Planificación 2 ... 13
Planificación de discos ... 14
Ejercicio resuelto de comparación de algoritmos de planificación de disco ... 14
C
apí
tul
o:
P
ri
me
r
P
ar
ci
al
3
P
P
R
R
I
I
M
M
E
E
R
R
P
P
A
A
R
R
C
C
I
I
A
A
L
L
D
D
e
e
s
s
c
c
r
r
i
i
p
p
c
c
i
i
ó
ó
n
n
y
y
C
C
o
o
n
n
t
t
r
r
o
o
l
l
d
d
e
e
P
P
r
r
o
o
c
c
e
e
s
s
o
o
s
s
Cambio de Estados de Procesos: Ejemplo Resuelto
Descripción:
Varios procesos necesitan entrar a ejecución en un sistema multiprogramado. Teniendo en consideración las transiciones de estado válidas, se determina la acción apropiada a seguir en cada momento, y otros efectos que pueda tener la solicitud. Se asume, para este ejemplo, que la memoria disponible es de únicamente 256MB:
Proceso Acción que solicita el
proceso requerida Memoria Resultado/Efecto de la solicitud Memoria restante
P1 Entrar a ejecución 128MB P1-> Ejecución 128
P2 Entrar a Ejecución 128MB P2 -> Listo 0
P3 Entrar a Ejecución 64MB P3 -> -Nuevo 0
P1 Terminar P1-> Terminado, P2 -> Ejecución, P3 -> Listo 64
P2 Lectura de datos en disco P2 -> Bloqueado, P3 -> Ejecución 64
P4 Entrar a Ejecución 128MB P4 -> Nuevo 64
P2 Fin Lectura de datos P2 -> Listo 64
P3 Terminar P3 -> Terminado, P2 -> Ejecución, P4 -> Listo 0
P5 Entrar a Ejecución 64MB P5 -> Nuevo 0
Estado final de los procesos:
Procesos Nuevos (pero no Listos) P5
Proceso que queda en ejecución P2 Procesos que quedan en cola de
listos P4
C
apí
tul
o:
P
ri
me
r
P
ar
ci
al
4
Cambio de Estados de Procesos: Ejercicio 1
Instrucciones:
Varios procesos necesitan entrar a ejecución en un sistema multiprogramado. Teniendo en consideración las transiciones de estado válidas, determine la acción apropiada a seguir en cada momento. La memoria disponible es de únicamente 1024MB:
Proceso Acción que solicita el
proceso requerida Memoria Resultado/Efecto de la solicitud Memoria restante
P1 Entrar a ejecución 128MB
P2 Entrar a Ejecución 512MB
P1 Lectura de datos en disco
P2 Terminar
P3 Entrar a Ejecución 256MB
P4 Entrar a ejecución 256MB
P5 Entrar a Ejecución 512MB
P1 Fin de Lectura de datos en disco
P3 Lectura de Datos en Disco
P4 Terminar
P6 Entrar a Ejecución 384MB
Estado final de los procesos:
Procesos Nuevos (No Listos)
Proceso que queda en ejecución
Procesos que quedan en cola de listos
Procesos que quedan bloqueados
Procesos Terminados
C
apí
tul
o:
P
ri
me
r
P
ar
ci
al
5
Cambio de Estados de Procesos: Ejercicio 2
Instrucciones:
Varios procesos necesitan entrar a ejecución en un sistema multiprogramado. Teniendo en consideración las transiciones de estado válidas, determine la acción apropiada a seguir en cada momento. La memoria disponible es de únicamente 1024MB:
Proceso Acción que solicita el
proceso requerida Memoria Resultado/Efecto de la solicitud Memoria Restante
P1 Entrar a ejecución 256MB
P2 Entrar a Ejecución 512MB
P1 Terminar
P2 Lectura de datos en disco
P3 Entrar a ejecución 512MB
P4 Entrar a Ejecución 256MB
P2 Fin de Lectura de datos en disco
P3 Terminar
P5 Entrar a Ejecución 128MB
P6 Entrar a Ejecución 512MB
P2 Terminar
Estado final de los procesos:
Procesos Nuevos (No Listos)
Proceso que queda en ejecución
Procesos que quedan en cola de listos
Procesos que quedan bloqueados
Procesos Terminados
C
apí
tul
o:
P
ri
me
r
P
ar
ci
al
6
Cambio de Estados de Procesos: Ejercicio 3
Instrucciones:
Varios procesos necesitan entrar a ejecución en un sistema multiprogramado. Teniendo en consideración las transiciones de estado válidas, determine la acción apropiada a seguir en cada momento. La memoria disponible es de únicamente 1024MB:
Proceso Acción que solicita el
proceso requerida Memoria Resultado/Efecto de la solicitud Memoria restante
P1 Entrar a ejecución 64MB
P2 Entrar a Ejecución 256MB
P3 Entrar a Ejecución 128MB
P1 Terminar
P2 Lectura de datos en disco
P4 Entrar a Ejecución 256MB
P2 Fin de Lectura de datos
P3 Terminar
P5 Entrar a Ejecución 64MB
P4 Terminar
Estado final de los procesos:
Procesos Nuevos (No Listos)
Proceso que queda en ejecución
Procesos que quedan en cola de listos
Procesos que quedan bloqueados
Procesos Terminados
C
apí
tul
o:
Se
gu
nd
o
P
ar
ci
al
7
S
S
E
E
G
G
U
U
N
N
D
D
O
O
P
P
A
A
R
R
C
C
I
I
A
A
L
L
C
C
o
o
n
n
t
t
r
r
o
o
l
l
d
d
e
e
C
C
o
o
n
n
c
c
u
u
r
r
r
r
e
e
n
n
c
c
i
i
a
a
Problema de Exclusión Mutua con Algoritmo de Petersen: Ejemplo resuelto
Instrucciones:
1. Existen dos procedimientos llamados P1 y P2.
2. Ambos procedimientos deben intercalar su ejecución, ejecutándose una vez en cada turno, excepto cuando se encuentren en su sección crítica en cuy0 caso la acción del procedimiento en sección crítica deberá ejecutarse con exclusividad.
3. Cada ejecución de P1 tiene como objetivo incrementar en una unidad y mostrar en pantalla el valor de la variable actualizada.
4. Cada ejecución de P2 tiene como objetivo incrementar en dos unidades y mostrar en pantalla el valor de la variable actualizada.
5. La sección crítica de P1 dura mientras el valor de la variable está entre 4 y 7. El P1 finaliza cuando la variable alcanza el valor de 10.
6. La sección crítica del P2 dura mientras el valor de la variable está entre 6 y 12. El P2 finaliza cuando la variable alcanza el valor de 16.
7. En caso de que un procedimiento termine antes que otro, el que aún no ha terminado debe seguirse ejecutando hasta su finalización.
Solución propuesta:
Secuencia de Ejecución Procedimiento ejecutándose Valor P1 Valor P2 Observaciones
1 P1 1 0
2 P2 1 2
3 P1 2 2
4 P2 2 4
5 P1 3 4
6 P2 3 6 Inicia sección crítica de P2
7 P2 3 8
8 P2 3 10
9 P2 3 12 Finaliza sección crítica de P2
10 P1 4 12 Inicia sección crítica de P1
11 P1 5 12
12 P1 6 12
13 P1 7 12 Finaliza sección crítica de P1
14 P2 7 14
15 P1 8 14
16 P2 8 16 Finaliza P2
17 P1 9 16
18 P1 10 16 Finaliza P1
Problema de Exclusión Mutua con Algoritmo de Petersen: Ejemplo para resolver
Instrucciones:
1. Existen dos procedimientos llamados Pa y Pb.
2. Ambos procedimientos deben intercalar su ejecución, ejecutándose una vez en cada turno, excepto cuando se encuentren en su sección crítica en cuyo caso la acción del procedimiento en sección crítica deberá ejecutarse con exclusividad.
3. Cada ejecución de Pa tiene como objetivo multiplicar por 2 el valor de Pa (valor inicial: 2) y mostrar en pantalla el valor de la variable una vez multiplicada.
4. Cada ejecución de Pb tiene como objetivo dividir entre 2 el valor de Pb (Valor inicial: 2048) y mostrar en pantalla el valor de la variable una vez dividida.
C
apí
tul
o:
Se
gu
nd
o
P
ar
ci
al
8
6. La sección crítica del Pb inicia cuando Pb sea menor o igual que 1024, hasta que Pb sea menor o igual que128, El Pb finaliza cuando la variable alcanza el valor de Pb sea menor o igual a 2.
7. En caso de que un procedimiento termine antes que otro, el que aún no ha terminado debe seguirse ejecutando hasta su finalización.
Problema de Lectores/Escritores: Ejemplo Resuelto
Instrucciones: Varios procesos necesitan entrar a una sola área de datos compartida. En base al Algoritmo de Lectores/Escritores determine:
1. La respuesta que el sistema operativo dará al proceso solicitante. Por ejemplo: “P1 pasa alectura” o “P1 Pasa a cola de
escritura”, etc.).
2. El efecto adicional que produce la terminación de la acción de un proceso. Por ejemplo: Si un proceso termina de escribir, deben verificarse las colas de lectura o escritura, para que los procesos en espera puedan realizar su función.
Proceso
solicitante Acción que solicita el proceso Efecto de terminación de Proceso Resultado de solicitud/
P1 Lectura P1-> Pasa a lectura, Lectores = 1
P2 Lectura P2 -> Pasa a lectura, Lectores = 2
P3 Escritura P3 -> Pasa a cola de escritura, Lectores = 2
P1 Terminar P1 -> Terminado, Lectores = 1
P2 Terminar P2 -> Terminado, Lectores = 0, P3 -> pasa a escritura
P4 Lectura P4 -> Pasa a cola de lectura
P5 Escritura P5 -> Pasa a cola de escritura
P6 Lectura P6 -> Pasa a cola de lectura
P3 Terminar P3 -> Terminado, P5 -> Pasa a escritura
P7 Lectura P7 -> Pasa a cola de lectura
P5 Terminar P5 -> Terminado, P4, P6 y P7 -> Pasan a Lectura, Lectores = 2
P8 Escritura P8 -> Pasa a cola de escritura
P4 Terminar P4 -> Terminado, Lectores = 1
P9 Lectura P9 -> Pasa a cola de lectura
Estado final de los procesos:
Procesos Terminados P1, P2, P3, P4, P5
Procesos que quedan leyendo P6, P7
Procesos que quedan escribiendo Ninguno
C
apí
tul
o:
Se
gu
nd
o
P
ar
ci
al
9
C
apí
tul
o:
Se
gu
nd
o
P
ar
ci
al
1
0
Problema de Lectores/Escritores: Ejercicio 1
Instrucciones: Varios procesos necesitan entrar a una sola área de datos compartida. En base al Algoritmo de Lectores/Escritores determine:
3. La respuesta que el sistema operativo dará al proceso solicitante. Por ejemplo: “P1 pasa alectura” o “P1 Pasa a cola de
escritura”, etc.).
4. El efecto adicional que produce la terminación de la acción de un proceso. Por ejemplo: Si un proceso termina de escribir, deben verificarse las colas de lectura o escritura, para que los procesos en espera puedan realizar su función.
Proceso solicitante Acción que solicita el
proceso Efecto de terminación de Proceso Resultado de solicitud/ P1
Escritura
P2 Lectura
P3 Lectura
P1 Terminar
P2 Terminar
P4 Escritura
P5 Lectura
P3 Terminar
P6 Escritura
P7 Escritura
P4 Terminar
P8 Escritura
P5 Terminar
P9 Lectura
P10 Escritura
P11 Lectura
Estado final de los procesos:
Procesos Terminados
Procesos que quedan leyendo
Procesos que quedan escribiendo
Procesos en cola de lectura
C
apí
tul
o:
Te
rc
er
P
ar
ci
al
1
1
T
T
E
E
R
R
C
C
E
E
R
R
P
P
A
A
R
R
C
C
I
I
A
A
L
L
P
P
l
l
a
a
n
n
i
i
f
f
i
i
c
c
a
a
c
c
i
i
ó
ó
n
n
d
d
e
e
P
P
r
r
o
o
c
c
e
e
s
s
a
a
d
d
o
o
r
r
e
e
s
s
Planificación de Procesadores: Ejercicio Resuelto de aplicación de políticas de Planificación
Determine el orden en que será ejecutados los siguientes procesos, de acuerdo a las políticas de planificación y aplicando las funciones de decisión.
Nombre Proceso
Tiempo total consumido en el sistema
(w)
Tiempo consumido en ejecución
(e)
Tiempo total de servicio exigido (s)
P1 25 5 35
P2 15 10 30
P3 20 20 25
P4 10 0 15
P5 30 20 50
Política Orden de Ejecución
Primero en Entrar, Primero en ser Servido (modo no apropiativo)
P5, P1, P3, P2, P4
Turno Rotatorio
(modo apropiativo, tiempo de turno: 5 unidades)
Primer Ciclo: P5, P1, P3, P2, P4 Segundo Ciclo: P5, P1, P2, P4 Tercer Ciclo: P5, P1, P2, P4 Cuarto Ciclo: P5, P1, P2 Quinto Ciclo: P5, P1 Sexto Ciclo: P5, P1
Primero el proceso más corto (modo no apropiativo)
P4, P3, P2, P1, P5
Primero el de menor tiempo restante
(modo apropiativo, tiempo de turno: 5 unidades)
Primer Ciclo: P3, P4, P2, P5, P1 Segundo Ciclo: P4, P2, P5, P1 Tercer Ciclo: P4, P2, P5, P1 Cuarto Ciclo: P2, P5, P1 Quinto Ciclo: P5, P1 Sexto Ciclo: P5, P1
Primero el de mayor tasa de respuesta
(modo apropiativo, tiempo de turno: 5 unidades)
C
apí
tul
o:
Te
rc
er
P
ar
ci
al
1
2
Planificación de Procesadores: Ejercicio de aplicación de políticas de Planificación 1
Determine el orden en que será ejecutados los siguientes procesos, de acuerdo a las políticas de planificación y aplicando las funciones de decisión.
Situación inicial
Nombre
Proceso Tiempo total consumido en el sistema (w) Tiempo consumido en ejecución (e) Tiempo total de servicio exigido (s)
P1 35 5 30
P2 20 10 20
P3 15 10 15
P4 5 5 10
P5 40 20 50
…20 unidades de tiempo después
Nombre
Proceso Tiempo total consumido en el sistema (w) Tiempo consumido en ejecución (e) Tiempo total de servicio exigido (s)
P6 0 0 25
…otras 25 unidades de tiempo después
Nombre
Proceso Tiempo total consumido en el sistema (w) Tiempo consumido en ejecución (e) Tiempo total de servicio exigido (s)
P7 0 0 5
Política Orden de Ejecución
Primero en Entrar, Primero en ser Servido (modo no apropiativo)
Turno Rotatorio
(modo apropiativo, tiempo de turno: 5 unidades)
Primero el proceso más corto (modo no apropiativo)
Primero el de menor tiempo restante
(modo apropiativo, tiempo de turno: 5 unidades)
Primero el de mayor tasa de respuesta
C
apí
tul
o:
Te
rc
er
P
ar
ci
al
1
3
Planificación: Ejercicio de aplicación de políticas de Planificación 2
Determine el orden en que será ejecutados los siguientes procesos, de acuerdo a las políticas de planificación y aplicando las funciones de decisión.
Situación inicial:
Nombre
Proceso Tiempo total consumido en el sistema (w) Tiempo consumido en ejecución (e) Tiempo total de servicio exigido (s)
P1 20 15 40
P2 30 15 25
P3 10 0 30
15 unidades de tiempo después:
Nombre
Proceso Tiempo total consumido en el sistema (w) Tiempo consumido en ejecución (e) Tiempo total de servicio exigido (s)
P4 0 0 15
Otras 15 unidades de tiempo después:
Nombre Proceso
Tiempo total consumido en el sistema (w)
Tiempo consumido en ejecución (e)
Tiempo total de servicio exigido (s)
P5 0 0 20
Política Orden de Ejecución
Primero en llegar, primero en ser servido (modo no apropiativo)
Turno Rotatorio
(modo apropiativo, tiempo de turno: 5 unidades)
Primero el proceso más corto (modo no apropiativo)
Primero el de menor tiempo restante
(modo apropiativo, tiempo de turno: 5 unidades)
Primero el de mayor tasa de respuesta
C apí tul o: Te rc er P ar ci al
1
4
P
P
l
l
a
a
n
n
i
i
f
f
i
i
c
c
a
a
c
c
i
i
ó
ó
n
n
d
d
e
e
d
d
i
i
s
s
c
c
o
o
s
s
Ejercicio resuelto de comparación de algoritmos de planificación de disco
Para los datos dados a continuación:1. Calcule el número de pistas recorridas y el tiempo promedio de búsqueda para cada uno de los 4 algoritmos de planificación de disco.
2. Determine cual de los 4 algoritmos es el óptimo para los procesos que están accediendo a disco. Nota: Se asume que la cabeza está en la pista 120.
FIFO SSTF C-SCAN SCAN
Siguiente pista accedida Cantidad de pistas recorridas Siguiente pista accedida Cantidad de pistas recorridas Siguiente pista accedida Cantidad de pistas recorridas Siguiente pista accedida Cantidad de pistas recorridas
100 20 110 10 140 20 140 20 150 50 100 10 150 10 150 10 40 110 90 10 200 50 200 50
80 40 80 10 210 10 210 10
200 120 40 40 30 180 110 100
210 10 30 10 40 10 100 10
110 100 140 110 80 40 90 10
140 30 150 10 90 10 80 10
90 50 200 50 100 10 40 40
30 60 210 10 110 10 30 10
Tiempo promedio de búsqueda
590 Tiempo
promedio de búsqueda
270 Tiempo
promedio de búsqueda
350 Tiempo
promedio de búsqueda
270
C apí tul o: Te rc er P ar ci al
1
5
Ejercicio de comparación de algoritmos de planificación de disco: Para resolver
Para los datos dados a continuación:
1. Calcule el número de pistas recorridas y el tiempo promedio de búsqueda para cada uno de los 4 algoritmos de planificación de disco.
2. Determine cuál de los 4 algoritmos es el óptimo para los procesos que están accediendo a disco. Nota: Se asume que la cabeza está en la pista 150.
FIFO SSTF SCAN C-SCAN