Boletín de ejercicios de memoria

Anuncio
INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS
Sistemas Operativos – IS11 Curso 2003-2004
EJERCICIOS DE MEMORIA:
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
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:
A1 A1 A2 B1 B2 B3 C1 C2 C3 C2 A2 A1 A2 B4 B1 C5 C4
t0
A1 A1 A2 A2 A2 A2 A2 A2 A2 A2 A2 A1 A2 A2 A2 A2 A2
t1
B1 B1 B3 B3 B3 B3 B3 B3 B3 B3 B3 B1 B1 B1
t2
B2 B2 B2 B2 B2 B2 B2 B2 B2 B4 B4 B4 B4
t3
C1 C1 C3 C3 C3 C3 C3 C3 C3 C5 C5
t4
C2 C2 C2 C2 C2 C2 C2 C2 C2 C4
¿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
2)
En un sistema de gestión de memoria virtual mediante paginación por demanda se tiene un tamaño de
página de 512 posiciones, una memoria virtual de 16 páginas (numeradas de 0 a 15) y una memoria
física de 4 tramas (numeradas de 0 a 3). El contenido actual de la memoria libre para usuario es:
Trama
0
1
2
3
Contenido
Página 4
Página 9
Página 5
Página 1
a) Mostrar el contenido de la tabla de páginas
b) Idem tras generar cada una de las siguientes direcciones lógicas (suponiendo que el
algoritmo óptimo para el reemplazo de páginas):
0458H
066DH
0801H
026EH
0AD8H
c) En la situación final del punto b) obtener las direcciones físicas equivalentes a las
siguientes direcciones lógicas:
065CH
0353H
0A8CH
d) ¿Qué ocurre al referenciar la dirección lógica 0532H?
INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS
Sistemas Operativos – IS11 Curso 2003-2004
3) Tenemos un computador cuyo esquema de administración de memoria es segmentación paginada con
paginación por demanda y se utiliza una política de reemplazo de páginas local.
Sabemos que un proceso tiene los siguientes segmentos:
Segmento 0
Pagina 0
Página 1
Página 2
Segmento 1
Segmento 2
Segmento 3
Página 0
Página 1
Página 2
Página 0
Página 1
Página 2
Página 3
Página 4
Página 0
Página 1
Página 2
Página 3
Segmento 4
Página 0
Página 1
Página 2
Página 3
Página 4
Página 5
Además, partiendo de un estado inicial en el que no tenía ninguna página cargada en memoria, ha
generado las siguientes direcciones lógicas y como resultado de ellas sabemos las direcciones físicas
con las que finalmente se ha accedido a memoria.
Direcciones
Tipo Acceso Direcciones
Lógicas
Físicas
00043H
E
5243H
80AFCH
L
70FCH
606B4H
L
58B4H
60464H
L
7064H
80693H
E
5893H
a)
¿Cuántos marcos de memoria han sido asignados al proceso y cuáles son?. ¿Cuál es el
tamaño del marco de memoria?. ¿Cuál es el número máximo de páginas que puede tener un
segmento?. ¿Cuál es el número de posiciones máximo que puede tener la memoria?.
Justificar las respuestas.
b)
Dadas las siguientes direcciones lógicas que genera posteriormente el proceso, y suponiendo
que se utiliza un algoritmo de reemplazo de páginas con bits de referenciado y modificado.
Indicar las direcciones físicas a las que se accede.
Direcciones
Lógicas
40764H
0018CH
806DCH
202C3H
815C7H
Tipo Acceso
L
E
L
E
E
NOTA: El sistema operativo pone periódicamente los bits de referenciado de todas las páginas a cero:
Cada cuatro accesos a memoria y justo después del cuarto.
INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS
Sistemas Operativos – IS11 Curso 2003-2004
4) Tenemos un computador que utiliza un esquema de administración de memoria de paginación por
demanda.
El número máximo de páginas de un proceso es de 64, el número de marcos de memoria de 16 y el
tamaño de la palabra en memoria de 16 bits.
Dada una secuencia de direcciones lógicas generadas por un proceso, se conoce el estado de la tabla
de páginas del proceso después de cada acceso a memoria, siendo el que figura a continuación. El bit
V/I es el bit de válido inválido, el bit R es el de referenciado y el bit M el de modificado.
También se indica la dirección física a la que se ha accedido como consecuencia de la dirección lógica
usada.
1) Página Marco V/I R M
2) Página Marco V/I R M
0
3h
v 0 1
0
3h
v 0 1
1
I
1
i
2
I
2
Ah
v 1 1
3
5h
v 0 0
3
5h
v 0 0
4
I
4
i
5
Ah
v 0 0
5
i
6
I
6
i
7
Fh
v 1 0
7
Fh
v 1 0
Dirección Física: 1EF1h
Dirección Física: 1554h
3)
5)
7)
Página Marco V/I R
0
3h
v 0
1
i
2
Ah
v 1
3
i
4
5h
v 1
5
i
6
i
7
Fh
v 1
Dirección Física: 0A33h
M
1
Página Marco V/I R
0
3h
v 0
1
i
2
Ah
v 1
3
i
4
5h
v 1
5
i
6
i
7
Fh
v 1
Dirección Física: 0B6Bh
M
1
Página Marco V/I R
0
3h
v 1
1
i
2
Ah
v 1
3
Fh
v 1
4
5h
v 1
5
i
6
i
7
i
Dirección Física: 1E66h
M
1
4)
1
0
0
6)
1
1
0
1
0
1
8)
Página Marco V/I R
0
3h
v 0
1
i
2
Ah
v 1
3
i
4
5h
v 1
5
i
6
i
7
Fh
v 1
Dirección Física: 15BAh
M
1
Página Marco V/I R
0
3h
v 1
1
i
2
Ah
v 1
3
i
4
5h
v 1
5
i
6
i
7
Fh
v 1
Dirección Física: 0635h
M
1
1
0
0
1
1
0
Página Marco V/I R M
0
3h
v 1 1
1
i
2
Ah
v 1 1
3
i
4
5h
v 1 1
5
i
6
i
7
Fh
v 1 0
Dirección Física: 1FC7h
a) Calcular las direcciones lógicas de memoria que se han utilizado e indicar qué tipo de acceso
se ha realizado a memoria, de lectura, de escritura, o es posible que haya sido cualquiera de los
dos.
INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS
Sistemas Operativos – IS11 Curso 2003-2004
b) ¿Cuál es el tamaño máximo que puede tener un proceso en este sistema?, ¿cuál es el tamaño
de la memoria del ordenador?, ¿cuál es el tamaño de las páginas?, ¿Y de los marcos?.
c) ¿Es posible que se haya empleado el algoritmo óptimo para reemplazar páginas?. Justificar la
respuesta.
d) ¿Es posible que se haya empleado el algoritmo que utiliza los bits de referenciado y modificado
para reemplazar páginas?. Justificar la respuesta. En la situación 1), ¿qué pagina llevaba más
tiempo cargada en memoria, la 3 ó la 5.
5)
En un determinado sistema informático se utiliza un esquema de paginación por demanda.
El número máximo de páginas de un proceso es de 64, el número de marcos de memoria de sistema
16 y el tamaño de la palabra en memoria es de 16 bits.
Para un determinado proceso se conoce la siguiente información. Su número de páginas es de 5, su
tamaño de 70Kbytes, en un determinado momento la configuración de su tabla de páginas es la dada
por la figura 1) y en dicho momento se sabe que la fragmentación interna del proceso es de 10Kbytes.
A partir de dicha situación 1), el proceso genera una serie de direcciones lógicas. Para cada dirección
lógica se sabe el número de página utilizado por el proceso y la dirección física con la que finalmente
se accedió a memoria 2)-8).
1)
Página
0
1
2
3
4
Marco V/I R M
3h
V 0 1
I
I
I
Fh
V 0 0
2) Página: 3, DF: 2AA0h
3) Página: 1, DF: 893h
4) Página: 2, DF: DC6h
5) Página: 0, DF: 3384h
6) Página: 4, DF: 2A49h
7) Página: 2, DF: FCFh
8) Página: 3, DF: 3C9Fh
Se pide:
a) Calcular las direcciones lógicas que ha utilizado el proceso.
b) Dibujar el estado de la tabla de páginas después de cada acceso a memoria.
c) ¿Cuál es el tamaño máximo que puede tener un proceso en este sistema?, ¿Cuál es el tamaño
de las páginas?, ¿Y de los marcos?.
6)
Tenemos un computador que utiliza un sistema de administración de memoria de paginación por
demanda.
El número de páginas de un proceso es de 64, el número de marcos de memoria de 16 y el tamaño de
la palabra de memoria de un byte.
Dada una secuencia de direcciones lógicas generadas por un proceso A, se sabe que el estado de la
tabla de páginas del proceso después de cada acceso a memoria es el que figura a continuación.
También se indica la dirección física de memoria a la que se ha accedido, como consecuencia de la
dirección lógica usada (inicialmente el proceso no tiene ninguna página cargada en memoria).
1) Página
Nº
Bit valiMarco do/invalido
2) Página
Nº
Bit valiMarco do/invalido
0
i
0
1
i
1
i
2
i
2
i
3
i
3
i
4
i
4
i
v
5
6
i
6
i
7
i
7
i
5
5h
1) Dirección Física: 280h
Ah
5h
v
v
2) Dirección Física 52Ch
INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS
Sistemas Operativos – IS11 Curso 2003-2004
3) Página
Nº
Bit valiMarco do/invalido
4) Página
Nº
Bit valiMarco do/invalido
0
Ah
v
0
Ah
v
1
Ch
v
1
Ch
v
2
i
2
3
i
3
4
i
4
i
v
5
i
6
i
6
i
7
i
7
i
5
5h
3) Dirección Física: 671h
5) Página
Nº
Bit valiMarco do/invalido
i
5h
v
4) Dirección Física: 2AEh
6) Página
Nº
Bit valiMarco do/invalido
0
Ah
v
0
1
Ch
v
1
i
2
v
3
4
i
4
i
5
i
5
i
6
i
6
i
7
i
7
2
3
5h
5) Dirección Física: 655h
7) Página
Ch
i
5h
Ah
v
v
6) Dirección Física: 527h
v
i
3
i
5h
v
5
i
6
i
7
v
i
2
4
Ch
Nº
Bit valiMarco do/invalido
0
1
i
Ah
v
7) Dirección Física: 2E1h
a) Calcular en hexadecimal las direcciones lógicas que han sido generadas por el proceso.
b) ¿Cuál es el tamaño de las páginas, marcos y de la memoria lógica del ordenador?.
¿Cuáles son los algoritmos de reemplazo de páginas que pueden haberse empleado?.
7)
Describir detalladamente como funcionan los siguientes algoritmos de reemplazo de páginas para
administración de memoria virtual.
1.- Algoritmo FIFO.
2.- Algoritmo Óptimo.
3.- Algoritmo de la Segunda Oportunidad.
4.- Algoritmo usando bits de referenciado y modificado.
INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS
Sistemas Operativos – IS11 Curso 2003-2004
b) Supongamos que tenemos un proceso para el que se han asignado tres marcos de memoria, que
inicialmente no tiene ninguna página cargada en memoria, y que realiza los siguientes accesos a
páginas en los que se especifica si es para escritura o lectura:
Página
Tipo de Acceso
E.:
L.:
7
E.
1
L.
2
L.
3
E.
4
L.
1
E.
7
L.
Significa acceso para escritura.
Significa acceso para lectura.
Indicar cuales son las páginas que tendrá el proceso cargadas en memoria después de cada acceso,
para los cuatro casos de algoritmos de reemplazo de páginas del apartado a). Suponiendo que el
sistema operativo pone a cero los bits de referenciado de todas las páginas cada cuatro accesos a
memoria del proceso. (Justo después del cuarto pone los bits de referenciado a cero).
NOTA: En el caso 4, (algoritmo usando bits de referenciado y modificado), si hay casos en los que no
se puede elegir una sola página, usa FIFO para decidir entre las páginas candidatas.
8)
Se tiene un sistema de gestión de memoria virtual con paginación por demanda con 2Kbytes de
memoria central y con un tamaño de página de 512 bytes. En un momento determinado se tienen tres
procesos en el sistema Pa, Pb y Pc. Si se produce la siguiente secuencia de direccionamientos lógicos:
1)
2)
3)
4)
5)
6)
Pa, 1023
Pa, 0783
Pc, 1089
Pb, 2450
Pa, 1025
Pc, 0024
7)
8)
9)
10)
11)
12)
Pb, 0224
Pc, 3848
Pc, 0098
Pa, 0678
Pc, 2900
Pc, 1250
Obtener el diagrama de ocupación de memoria central, suponiendo un algoritmo de reemplazo de
página óptimo, en los siguientes casos:
a. Utilizando una política de reemplazo global.
b. Utilizando una política de reemplazo local.
9)
Un computador posee una memoria central de 2 Mbytes. El sistema operativo utiliza 640 Kb de la parte
baja de dicha memoria. El resto de memoria es distribuida entre diversos procesos que se ejecutan
utilizando un esquema de segmentación paginada con paginación por demanda. Cada proceso puede
tener un máximo de 8 segmentos con un máximo de 64 páginas cada uno. Las páginas son de 32 kb.
Los procesos A, B, y C presentan la siguiente segmentación:
Segmento
0
1
A
Tamaño
70 Kb
18 Kb
60 Kb
B
Tamaño
110 Kb
56 Kb
C
Tamaño
82 Kb
40 Kb
22 Kb
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. Las referencias se indican según la siguiente
sintaxis (proceso, segmento, página):
Referencias nº trama
2B
2D
1C
1D
0E
0F
(C,1,1)
(C,2,0)
(A,0,1)
(A,0,1)
(A,0,2)
(A,0,1)
(A,0,2)
(B,0,1)
(A,0,1)
(A,0,2)
(B,0,1)
(C,1,0)
(A,0,1)
(A,0,2)
(B,0,1)
(A,1,0)
(A,1,0)
(A,0,2)
(B,0,1)
(C,1,1)
(C,1,1)
(C,2,0)
(C,1,1)
(C,2,0)
(C,1,1)
(C,2,0)
(C,1,1)
(C,2,0)
(C,1,0)
(C,2,0)
(C,1,0)
(C,2,0)
INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS
Sistemas Operativos – IS11 Curso 2003-2004
Referencias nº trama
2B
2D
1C
1D
0E
0F
(A,0,2)
(A,1,0)
(A,0,2)
(B,0,1)
(C,1,0)
(C,2,0)
(B,0,2)
(A,1,0)
(A,0,2)
(B,0,1)
(B,0,2)
(C,1,0)
(C,2,0)
(B,0,3)
(A,1,0)
(A,0,2)
(B,0,1)
(B,0,3)
(C,1,0)
(C,2,0)
(B,0,1)
(A,1,0)
(A,0,2)
(B,0,1)
(B,0,3)
(C,1,0)
(C,2,0)
(A,2,0)
(A,2,0)
(A,0,2)
(B,0,1)
(B,0,3)
(C,1,0)
(C,2,0)
(A,0,2)
(A,2,0)
(A,0,2)
(B,0,1)
(B,0,3)
(C,1,0)
(C,2,0)
a) ¿qué estrategia de sustitución de páginas se ha utilizado? Justificar la respuesta indicando porque
no pueden ser ninguno de los otros algoritmos estudiados.
b) Indicar el estado de las tablas de páginas de cada proceso al final de dicha secuencia de
referencias. ¿Cuál es la fragmentación externa e interna que existe en ese momento?
c) Calcular las direcciones lógicas generadas por el proceso A cuando se acceden a las direcciones
físicas que se indican y que provocan que la tabla de páginas para dicho proceso quede en la
situación mostrada tras cada acceso (se parte de la situación que se muestra en la primera tabla
de páginas).
Tabla de páginas inicial
Nº Marco
Bit
presencia
Bit de presencia
2D h
0
0= no presente
2B h
1
1=presente
2B h
0
2D h
0
2D h
1
2B h
0
Nº Marco
Bit
presencia
Nº Marco
Bit
presencia
2D h
0
2D h
0
2B h
0
2B h
1
2B h
0
2B h
0
2B h
1
2B h
1
2D h
1
2D h
0
2B h
0
2D h
1
1) Dirección Física: 1594BF h
2) Dirección Física 1683AE h
Nº Marco
Bit
presencia
Nº Marco
Bit
presencia
2B h
1
2B h
1
2B h
0
2B h
0
2B h
0
2D h
1
2B h
0
2B h
0
2D h
0
2D h
0
2D h
1
2D h
0
3) Dirección Física: 15BC31 H
4) Dirección Física 168D77 h
Descargar