Ejercicio 1) Un sistema realiza una gestión de memoria virtual mediante paginación por demanda, con la memoria dividida en cinco marcos de 512 posiciones cada uno. En un momento determinado, se encuentran en el sistema tres procesos, cada uno de ellos con el siguiente esquema de memoria lógica. Proceso A
Proceso B
Proceso C
A1
B1
C1
A2
B2
C2
A3
B3
C3
B4
C4
Ejercicio 1
C5
Durante la ejecución de dichos procesos, se produce la siguiente secuencia de accesos a páginas, que dan lugar a la ocupación de memoria que se muestra:
t0
A1
A2
B1
B2
B3
C1
C2
C3
C2
A2
A1
A2
B4
B1
C5
C4
A1
A2
A2
A2
A2
A2
A2
A2
A2
A2
A1
A2
A2
A2
A2
A2
B1
B1
B3
B3
B3
B3
B3
B3
B3
B3
B3
B1
B1
B1
B2
B2
B2
B2
B2
B2
B2
B2
B2
B4
B4
B4
B4
C1
C1
C3
C3
C3
C3
C3
C3
C3
C5
C5
C2
C2
C2
C2
C2
C2
C2
C2
C2
C4
t1 t2 t3 t4
¿Qué algoritmo y qué estrategia de sustitución de páginas se ha utilizado. Justificar la respuesta indicando porqué no pueden ser ninguno de los otros algoritmos estudiados 1
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
Ejercicio 1
Vemos que los marcos están asignados de forma local a los procesos POLÍTICA DE REEMPLAZO LOCAL
t0 t1 t2 t3 t4
A1
A2
B1
B2
B3
C1
C2
C3
C2
A2
A1
A2
B4
B1
C5
C4
A1
A2
A2
A2
A2
A2
A2
A2
A2
A2
A1
A2
A2
A2
A2
A2
B1
B1
B3
B3
B3
B3
B3
B3
B3
B3
B3
B1
B1
B1
B2
B2
B2
B2
B2
B2
B2
B2
B2
B4
B4
B4
B4
C1
C1
C3
C3
C3
C3
C3
C3
C3
C5
C5
C2
C2
C2
C2
C2
C2
C2
C2
C2
C4
No nos dan suficiente información para evaluar los algoritmos
• De la segunda oportunidad o del reloj • Con bits referenciado y modificado Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
2
1
FIFO: sustituir la que entró primero, con política local
Ejercicio 1
Proceso A: funciona ya que solo usa un marco Proceso B: funciona, se reemplaza siempre al primero que entró Proceso C: La referencia a C5 debería reemplazar a C2. NO CUMPLE
A1
A2
B1
B2
ª B3
C1
C2
ª C3
C2
A2
A1
A2
ª B4
ª B1
ª C5
ª C4
A1
A2
A2
A2
A2
A2
A2
A2
A2
A2
A1
A2
A2
A2
A2
A2
B1
B1
B3
B3
B3
B3
B3
B3
B3
B3
B3
B1
B1
B1
B2
B2
B2
B2
B2
B2
B2
B2
B2
B4
B4
B4
B4
C1
C1
C3
C3
C3
C3
C3
C3
C3
C5
C5
C2
C2
C2
C2
C2
C2
C2
C2
C2
C4
Fallos t0 t1 t2 t3 t4
3
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
ÓPTIMO: sustituir el que estará más tiempo sin usarse
Ejercicio 1
Proceso A: funciona ya que solo usa un marco Proceso B: Al referencia B3 debe sustituir a B2. NO CUMPLE Proceso C: Al referencias C5 no puede distinguir si C2 o C3
A1
A2
B1
B2
ª B3
C1
C2
ª C3
C2
A2
A1
A2
ª B4
ª B1
ª C5
ª C4
A1
A2
A2
A2
A2
A2
A2
A2
A2
A2
A1
A2
A2
A2
A2
A2
B1
B1
B3
B3
B3
B3
B3
B3
B3
B3
B3
B1
B1
B1
B2
B2
B2
B2
B2
B2
B2
B2
B2
B4
B4
B4
B4
C1
C1
C3
C3
C3
C3
C3
C3
C3
C5
C5
C2
C2
C2
C2
C2
C2
C2
C2
C2
C4
Fallos t0 t1 t2 t3 t4
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
4
2
LRU: sustituir el que está más tiempo sin usarse
Ejercicio 1
Proceso A: FUNCIONA ya que solo usa un marco Proceso B: FUNCIONA Proceso C: FUNCIONA Los círculos de igual color corresponden con la página que lleva más tiempo sin usarse
A1
A2
B1
B2
ª B3
C1
C2
ª C3
C2
A2
A1
A2
ª B4
ª B1
ª C5
ª C4
A1
A2
A2
A2
A2
A2
A2
A2
A2
A2
A1
A2
A2
A2
A2
A2
B1
B1
B3
B3
B3
B3
B3
B3
B3
B3
B3
B1
B1
B1
B2
B2
B2
B2
B2
B2
B2
B2
B2
B4
B4
B4
B4
C1
C1
C3
C3
C3
C3
C3
C3
C3
C5
C5
C2
C2
C2
C2
C2
C2
C2
C2
C2
C4
Fallos t0 t1 t2 t3 t4
5
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
Ejercicio 2)
Un sistema realiza una gestión de memoria virtual mediante paginación por demanda, paginas de 512 posiciones, memoria logica de 16 páginas (0 a 15), memoria física de 4 marcos (0 a 3). PAGÍNA
a) Tabla de páginas:
1
Ejercicio 2
MARCO
V/I
3
v
0
Trama
contenido
0
Pag 4
1
Pag 9
2
Pag 5
3
Pag 1
i
2
i
3
i
4
0
v
5
2
v
6
i
7
i
8 9
i 1
v
10
i
11
i
12
i
13
i
14
i
15
i
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
6
3
2 b) Tabla de páginas tras generar las siguientes direcciones lógicas usando algoritmo óptimo para el reemplazo de páginas: Hay que calcular las direcciones físicas para conocer en que marco se cargan las páginas, para ello tenemos que saber nº de bits para la página, nº de bits de desplazamiento y para el marco. Æ 9 bit para el desplazamiento
Ejercicio 2
Tamaño página= 512 posiciones=2 9 Memoria lógica= 16 páginas Æ 2 4
Æ
4 bits para nº página
Memoria física= 4 marcos (0..3) D.Lógica
Pag
desplazamiento (9bits)
secuencia de páginas
1) 0458h
0000 0100 0101 1000
Página 2
2) 066Dh
0000 0110 0110 1101
Página 3
3) 0801h
0000 1000 0000 0001
Página 4
4) 026Eh
0000 0010 0110 1110
Página 1
5) 0AD8h
0000 1010 1101 1000
Página 5
7
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
2b) Tabla de páginas: PAGÍNA
MARCO
V/I
3
v
3
1
v
4
0
v
5
2
v
0
2)
3)
4)
5)
1 2
Pg
4
9
5
1
2
3
4
1
5
t0
4
4
4
4
4
4
4
4
4
9
9
9
2
3
3
3
3
5
5
5
5
5
5
5
t3
1
1
1
1
1
1
Reemplazo 9
ª
t2
ª
t1
Ejercicio 2
1)
Reemplazo 2
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
i
i
6
i
7
i
8 9
i 1
i
10
i
11
i
12
i
13
i
14
i
15
i
8
4
Ejercicio 2
2c) En la situación final del apartado 2b) obtener las direcciones físicas equivalentes a las direcciones lógicas siguientes: D.Lógica
Pag
desplazamiento (9bits)
secuencia de páginas
6)
065Ch
0000 0110 0101 1100
Página 3
7)
0353h
0000 0011 0101 0011
Página 1
8)
0A8Ch
0000 1010 1000 1100
Página 5
D. Física 6)
Pag3- Marco 1
1 0 0101 1100
025Ch
7)
Pag1- Marco 3
11 1 0101 0011
0753h
8)
Pag5- Marco 2
10 0 1000 1100
048Ch
2d) ¿qué ocurre al referenciar la dirección lógica 0532h? 9)
0532 h
0000 0101 0011 0010
Página 2
Se produce un fallo de página ya que no está en memoria. Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
Ejercicio 4)
9
Administración de memoria por paginación por demanda.
Nº max páginas de un proceso=64= 2 6
Æ 6 bit para página
Memoria principal= 16 marcos Tamaño de palabra de memoria o posición memoria= 16 bits= 2bytes
Ejercicio 4
Sabemos tabla de páginas, marco, V/I referenciado y modificado y D.Física a)
D.Lógica y tipo de acceso L, E, cualquiera
b)
Tamaño max de un proceso, tamaño memoria principal, tamaño de página y marco
c)
¿se usa algoritmo óptimo?
d)
¿se usa algoritmo con bit referenciado y modificado?. En 1 ¿Qué página lleva más tiempo en memoria 3 o 5?
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
10
5
Ejercicio 4
11
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
12
Ejercicio 4
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
6
4 a) D.Lógica y tipo de acceso L, E, cualquiera M
Pag
Acceso
Pag Desplazam.
1) 1EF1
0001
1110
1111
0001
F
7
L M=0
111
EF1h
2) 1554
0001
0101
0101
0100
A
2
E M=1
10
554h
3) 0A33
0000
1010
0011
0011
5
4
L M=0
100
833h
4) 15BA
0001
0101
1011
1010
A
2
ELRM=1
5BAh
5) 0B6B
0000
1011
0110
1011
5
4
E M=1
10 100
6) 0635
0000
0110
0011
0101
3
0
LE RM=1
0
035h
7) 1E66
0001
1110
0110
0110
F
3
L M=0
11
666h
8) 1FC7
0001
1111
1100
0111
F
7
L M=0
111
FC7h
Ejercicio 4
D.Física
D.Lógica
96Bh
Buscamos que bits corresponden a los marcos de las páginas que se sustituyen. Mirando las tablas de páginas del enunciado vemos que se usan los marcos: 3, 5, A y F (en binario 11,
101, 1010, 1111)
1) Como máximo empieza por 1111 y como mínimo 11 2) Como máximo empieza por 1010 y como mínimo 101 3) Mirando 2) veo 3) es marco 101 por lo que Æ
7 bits para marco 9 bits desplazamiento
Podemos escribir la página mirando las tablas de páginas. Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
13
4 b) Tamaño max de un proceso, tamaño memoria principal, tamaño de página y marco Tenemos nº bits de desplazamiento =9 Tamaño de palabra o posición de memoria=16 bits=2 bytes
Ejercicio 4
(Tamaño de página en bytes) 29 = Tamaño de palabra o posición en bytes
Æ Tamaño de página= 2 9 . 2 1 = 2 10 bytes= 1024 bytes =1 Kbytes= = Tamaño de marco Tamaño max proceso=64 pag.Tamaño pag=64.1Kbytes=64Kbytes Tamaño memoria principal=16marcos.Tamaño marco=16Kbytes
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
14
7
4 c) ¿se usa algoritmo óptimo?
2)
3)
4)
5)
6)
7)
8)
7
R M
2
R M
4
RM
2
R M
4
R M
0
R M
3
R M
7
R M
3h
0
01
0
01
0
01
0
01
0
01
0
11
0
11
0
11
5h
3
00
3
00
4
10
4
10
4
11
4
11
4
11
4
11
Ah
5
00
2
11
2
11
2
11
2
11
2
11
2
11
2
11
Fh
7
10
7
10
7
10
7
10
7
10
7
10
3
10
7
10
ª
ª 2
ª
1
ª
Ejercicio 4
1) Pg
Óptimo: sustituir el que estará más tiempo sin usarse (no usa RM) 1
2 sustituye a 5 que no se usa (OK)
2
4 sustituye a 3 y debería sustituir a 7 ÆMAL NO ÓPTIMO
15
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
4 d) ¿se usa algoritmo con bits referenciado y modificado?. En 1 ¿Qué página lleva más tiempo en memoria 3 o 5? 2)
3)
4)
5)
6)
7)
8)
7
R M
2
R M
4
RM
2
R M
4
R M
0
R M
3
R M
7
R M
3h
0
01
0
01
0
01
0
01
0
01
0
11
0
11
0
11
5h
3
00
3
00
4
10
4
10
4
11
4
11
4
11
4
11
Ah
5
00
2
11
2
11
2
11
2
11
2
11
2
11
2
11
Fh
7
10
7
10
7
10
7
10
7
10
7
10
3
10
7
10
ª 2
ª
ª 1
3
ª
Ejercicio 4
1) Pg
4
Bit referenciado y modificado: orden de sustitución: RM= 00 , 01 , 10 , 11 1
00ÆSustituir 3 o 5? 5 lleva más tiempo (a igualdad en RM, FIFO)
2
00ÆSustituir pag 3 –OK
3
10ÆSustituir pag 7 –OK
4
10ÆSustituir pag 3 –OK ES ALGORITMO DE REFERENCIADO Y MODIFICADO Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
16
8
Ejercicio 3)
Administración de memoria por segmentación paginada con paginación por demanda y política de reemplazo local.
Ejercicio 3
Los 5 segmentos de un procesos son los siguientes (numerados de 0..4)
Inicialmente ninguna página en memoria Se generan las D. lógicas de la tabla y se conocen sus correspondientes D. Físicas I
17
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
3a) ¿nº de marcos asignados al proceso y cuáles? ¿Tamaño del marco de memoria? Nº máximo de páginas que puede tener un segmento?¿nº de posiciones máximo que puede tener la memoria? 5 segmentos paginadosÆ se necesitan mínimo 3 bits para nº de segmento
Ejercicio 3
Tenemos que ver cuantos bits son para desplazamiento: buscamos hasta donde se repite de atrás hacia delante las D.L y D.F. Los últimos 9 bits se repitenÆ como máximo hay 9 bits para desplazamiento Puede que algún bits sea del nº de página, hay que comprobar que números de segmento y páginas son válidos. D.lógica
Seg.
1) 00043h
0000
0000
Pag. 0000
Desplazamiento 0100
0011
0101
0010
0100
0011
5243h
2) 80AFCh
1000
0000
1010
1111
1100
0111
0000
1111
1100
70FCh
3) 606B4h
0110
0000
0110
1011
0100
0101
1000
1011
0100
58B4h
4) 60464h
0110
0000
0100
0110
0100
0111
0000
0110
0100
7064h
5) 80693h
1000
0000
0110
1001
0011
0101
1000
1001
0011
5893h
Marco Desplazamiento
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
D.física
18
9
Ejercicio 3
D.lógica
Seg.
D.física
Marco
1) 00043h
0000
0000
0000
0100
0011
0101
0010
0100
0011
5243h
29 h
2) 80AFCh
1000
0000
1010
1111
1100
0111
0000
1111
1100
70FCh
38 h
3) 606B4h
0110
0000
0110
1011
0100
0101
1000
1011
0100
58B4h
2C h
4) 60464h
0110
0000
0100
0110
0100
0111
0000
0110
0100
7064h
38 h
5) 80693h
1000
0000
0110
1001
0011
0101
1000
1001
0011
5893h
2C h
Pag.
Desplazamiento
Sabemos:
Marco Desplazamiento
álgún bits del nº pag.?
S0 (000)Ætiene 3 páginasÆ en binario 11 S1 (001) Ætiene 3 páginasÆ en binario 11
Æ 1010 no es una
S2 (010) Ætiene 5 páginasÆ en binario 101
página válida
S3 (011) Ætiene 4 páginasÆ en binario 100 S4 (100) Ætiene 6 páginasÆ en binario 110 Æ máximo número de página Æ
9 bits desplazamiento;
Æ
3 bits nº segmento;
8 bits nº página ;
¿MARCOS USADOS?
7 bits nº marco
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
19
Tenemos 7 bits para el número de marco, por lo que los marcos usados han sido: 29 h;
38 h;
2C.
Tamaño página= Tamaño marco;
Æ No sabemos el tamaño de una posición en byte
Hay que dar el tamaño en función de posiciones
Ejercicio 3
Tamaño página= Tamaño marco= 2 9 posiciones de memoria
(Tamaño de página en bytes) 2 nº bits desplazamiento = Tamaño de palabra o posición en bytes
Nº máximo de páginas de un segmento = 2 nº bits para página = 2 8 = 256 páginas
Nº posiciones máximo de memoria= (una dirección física usa 16 bits)= 2 16 posiciones
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
20
10
3b) Dadas las siguientes direcciones lógicas que se generan posteriormente, si se usa algoritmo de reemplazo con bits referenciado y modificado (SO pone referenciado =0 después de cuatro accesos a memoria), calcular D. Físicas a las que se accede.
Ejercicio 3
Teniamos: 1)
Seg 0, pag 0; marco=29 h
E
2)
Seg 4, pag 5; marco=38 h
L
3)
Seg 3, pag 3; marco= 2C h
L
4)
Seg 3, pag 2; marco=38 h
L
5)
Seg 4, pag 3; marco 2C h
E
6)
40764 h
L
0100 0000 0111 0110 0100 Seg 2, pag 3 marco=?
7)
0018C h
E
0000 0000 0001 1000 1100 Seg 0, pag 0
8)
806DC h
L
1000 0000 0110 1101 1100
Seg 4, pag 3
9)
202C3 h
E
0010 0000 0010 1100 0011
Seg 1, pag 1
10)
815C7 h
E
1000 0001 0101 1100 0111
Seg 4, pag 10
Desplazamiento
21
Ejercicio 3
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
1)
Seg 0, pag 0; marco=29 h
E
6) Seg 2, pag 3
L Æ marco 38
2)
Seg 4, pag 5; marco=38 h
L
7) Seg 0, pag 0
E Æ marco 29
3)
Seg 3, pag 3; marco= 2C h
L
8) Seg 4, pag 3
L Æ marco 2C
4)
Seg 3, pag 2; marco=38 h
L
9) Seg 1, pag 1
E Æ marco 38
5)
Seg 4, pag 3; marco 2C h
E
10) Seg 4, pag 10 E Æ ERROR Direccionamiento
Usaremos la notación: Si,k para indicar segmento i pagina k 1)
2)
3)
4)
5)
6)
Pg
S0,0
RM
S4,5
RM
S3,3
RM
S3,2
RM
RM
S4,3
RM
S2,3
RM
29h
S0,0
11
S0,0
11
S0,0
11
S0,0
11
01
S0,0
01
S0,0
01
S4,5
10
S4,5
10
S3,2
10
00
S3,2
00
S2,3
10
S3,3
10
S3,3
10
00
S4,3
11
S4,3
11
S4,10
38h 2Ch 7)
8)
9)
10)
Pg
S0,0
RM
S4,3
RM
RM
S1,1
RM
29h
S0,0
11
S0,0
11
01
S0,0
01
38h
S2,3
10
S2,3
10
00
S1,1
11
2Ch
S4,3
11
S4,3
11
01
S4,3
01
RM
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
22
11
Ejercicio 3
Dirección Física 6) Marco 38
0111
0001 0110 0100
7164 h
7) Marco 29
0101
0011 1000 1100
538C h
8) Marco 2C
0101
1000 1101 1100
58DC h
9) Marco 38
0111
0000 1100 0011
70C3 h
10) No exite la página 10Æerror en direccionamiento
Sistemas Operativos (II11) – TEMA 4. Administración de Memoria
23
12