You are on page 1of 15

ORGANIZACIN Y ADMINISTRACIN DE MEMORIA VIRTUAL.

EJERCICIO N 1.

Una computadora proporciona a cada proceso 65.536 bytes de espacio de direcciones.


Un programa se divide en tres partes:
Texto, con un tamao de 32.768 bytes.
Datos, con un tamao de 16.386 bytes.
Tablas, con un tamao de 15.870 bytes.
Sabiendo que en una misma pgina, solo se puede introducir texto, datos o tablas, pero
no mezclas. Indique si el programa se podra ejecutar con paginacin pura:
1 S el tamao de pgina fuese de 4 Kb.
2 S el tamao de pgina fuera de 512 Bytes.

b)

Una computadora con memoria virtual, mantiene todas las tablas de pginas de sus
procesos en la memoria. El acceso a la memoria se realiza en 500 nseg.
Para reducir ese tiempo de acceso la computadora tiene una memoria asociativa, la
cual contiene 32 registros y puede realizar una bsqueda en 100 nseg.
Que proporcin de encuentros ser necesaria, para reducir el tiempo de acceso hasta
los 200 nseg.?

EJERCICIO N 2.

Dado un sistema con administracin de memoria basada en la segmentacin y suponiendo


que se desea acceder a la direccin fsica 142.760. Determinar cual sera la direccin lgica
que la representa. Razone su respuesta.
SEGMENTO
1
2
3
4

TABLA DE SEGMENTOS
DIRECCIN BASE
100.000
120.000
140.000
160.000

TAMAO
3.000
5.000
7.000
9.000

EJERCICIO N 3.
Considerando la siguiente tabla de segmentos:
SEGMENTO
0
1
2
3

TABLA DE SEGMENTOS
DIRECCIN BASE
214
2.500
720
1.332

Cuales son las direcciones fsicas de las siguientes direcciones lgicas?


a) 0,21 b) 1,23 c) 3,53 d) 3,200

TAMAO
23
14
354
100

EJERCICIO N 4.
Un programa al ejecutarse genera las siguientes direcciones lgicas, en hexadecimal: 2040A3, 3BC, 235D,
2AB372 y 2052A7.
El sistema utiliza segmentacin paginada con bus de direcciones de 24 bits, los segmentos tienen un tamao
de 64 Kb y cada pagina tiene un tamao de 4 Kb.
El registro base (origen) de la tabla de segmentos del programa, apunta a la direccin 3.000 (decimal) y las
tablas de segmentos y pginas del programa son las siguientes:
3.000

200

SEGMENTO
0
1
2
3

DIRECCIN
(DECIMAL)
200
300
400
500

300

PGINA
0
1
2
3

N MARCO
(HEXADEC)
BE8
FE8
3E8
7E8

400

PGINA
0
1
2
3
4

N MARCO
HEXADEC.
2D02
2902
3102
2502
2102

500

PGINA
0
1
2
3
4
5

N MARCO
HEXADEC.
42E1
52E1
56E1
4AE1
4EE1
46E1

PGINA
0
1
2

N MARCO
HEXADEC.
BCB2
C0B2
B8B2

Se desea obtener lo siguiente:


a)
b)
c)

Cuantos segmentos puede soportar el sistema?


Si el programa ha generado alguna direccin que sea incorrecta, indique cual y razone porqu.
Traduzca a direcciones fsicas las direcciones lgicas generadas por el programa.

EJERCICIO N 5.
Determinar el nmero de interrupciones por fallo de pgina provocadas por un programa que va a tener la
siguiente secuencia de peticiones de pgina:
1, 4, 2, 3, 2, 5, 4, 1, 7, 2, 8, 6
El sistema tiene asignados cuatro marcos de memoria para el programa y va a seguir una asignacin local de
marcos.
El sistema de forma automtica carga una pgina del programa para comenzar su ejecucin.
Aplicar por separado, los algoritmos OPTIMO Y LRU.
EJERCICIO N 6.
Considrese un sistema de memoria virtual con paginacin bajo demanda. En un instante determinado se
estn ejecutando los procesos P1 y P2 a los cuales se han asignado respectivamente 3 y 4 marcos.
El sistema sigue una poltica de asignacin local de marcos.
Las tablas de pginas de los procesos en un instante determinado de su ejecucin tienen, entre otra
informacin, la siguiente:
TABLA DE PGINAS DE P 1
N DE PGINA
6
7
8
9
15
16

DIR. DE MARCO
512
3.584
1.536
2.560
1.024
5.120

TABLA DE PGINAS DE P 2
N DE PGINA
4
5
6
7
16
18

DIR DE MARCO
3.072
3.584
4.096
5.120
2.560
6.144

NOTA: Solo se indican las pginas de cada proceso que se encuentran cargadas en memoria fsica.
El sistema dispone de un conjunto de marcos adicionales para pginas compartidas por los procesos, que
nunca son intercambiadas a memoria auxiliar. Los procesos P1 y P2 tienen una zona de cdigo comn que
ocupa tres pginas.

El procesador se cede a cada proceso durante intervalos alternos.


Durante el ltimo periodo de ejecucin de P1 se referenci la siguiente cadena de pginas:
,6, 7, 7, 8, 9, 15
Determinar el nmero de fallos de pgina que generar P1 en la ejecucin de la siguiente cadena de pginas,
correspondiente a su siguiente intervalo de ejecucin, si se utiliza un algoritmo de reemplazo de pginas LRU.
7, 8, 9, 5, 7, 11, 6, 6, 3, 9, 8, 16, 7, 2, 3, 16, 4, 15, 3, 7, 1, 15
EJERCICIO N 7.
Un Sistema Operativo administra la memoria mediante paginacin pura y utiliza direcciones lgicas de 24
bits distribuidas de la siguiente forma:

Para determinar el n de pgina, 12 bits.


Para el desplazamiento dentro de la pgina, 12 bits.

Cada entrada en la tabla de pginas consta de 4 bytes y su estructura es la siguiente:

Para informacin de control de la pgina, 8 bits.


Para la direccin fsica de comienzo del marco de la pgina a la que corresponde la entrada, 24
bits.

El grado de multiprogramacin es de 5 procesos.


Se desea calcular lo siguiente:
a)
b)
c)

La mxima cantidad de memoria direccionable, sabiendo que el tamao de la palabra es de 1 byte.


El tamao de un programa de 7 pginas.
El rea de memoria que ocuparan las tablas de pginas de los procesos cuando se alcance el grado
mximo de multiprogramacin.

EJERCICIO N 8.
Un Sistema administra la memoria mediante Paginacin, utilizando direcciones lgicas de 24 bits. Para
disminuir el tiempo de traduccin de una direccin lgica, se ha dotado al Sistema de una memoria asociativa
de 16 registros obtenindose los siguientes tiempos:

El tiempo empleado para consultar la memoria asociativa, es de 160 nseg.


El tiempo empleado para acceder a la memoria real, es de 1 microsegundo.

Se desea calcular lo siguiente:


a)

El tiempo medio de acceso a la palabra referenciada por cada direccin lgica, si se supone un
porcentaje de bsquedas positivas en la memoria asociativa del 75%.

b)

En que porcentaje ha disminuido el tiempo de acceso, respecto a la situacin en la que el Sistema no


dispona de memoria asociativa.

EJERCICIO N 9.
Una memoria virtual dispone de 9 marcos para programas. En ese momento se esta ejecutando el proceso A,
que tiene concedidos 3 marcos y piden memoria los procesos B y C de 40K y 20K respectivamente.

Se realiza un reparto proporcional de marcos libres, segn el tamao de los procesos y ambos entran en
ejecucin.
Si cuando el proceso C demanda por primera vez la pgina 3 el proceso A termina y sus marcos se reparten
entre los procesos B y C con el mismo criterio anteriormente citado.

Se desea:
Determinar cuantos fallos de pgina y en que secuencia, originara el proceso C si se sigue una asignacin de
marcos basada en el algoritmo OPTIMO.
La secuencia de peticin de pginas del proceso C es la siguiente:
1, 2, 1, 5, 2, 3, 7, 6, 5, 4, 3, 7, 5, 6, 4, 3, 2, 1, 5, 4, 2, 7
EJERCICIO N 10.
Una computadora tiene cuatro marcos de pgina. El tiempo de carga, el tiempo del ltimo acceso y los bits de
acceso y modificacin son los que se muestran a continuacin:
PGINA
0
1
2
3
a)
b)
c)

CARGADA
126
230
120
160

LTIMO ACCESO
270
260
272
280

BIT DE ACCESO
0
0
1
1

BIT DE MODIFICACIN
0
1
1
1

Que pgina sustituir el algoritmo NRU?


Que pgina sustituir el algoritmo FIFO?
Que pgina sustituir el algoritmo LRU?

EJERCICIO N 11.
Un sistema operativo gestiona la memoria mediante el esquema de segmentacin paginada y utiliza
direcciones de 24 bits. Para disminuir el tiempo de traduccin de una direccin lgica, se ha dotado al sistema
de una memoria asociativa de 16 registros, obtenindose los siguientes tiempos:

El tiempo empleado para la consulta de la memoria asociativa, es de 50 nseg.

El tiempo empleado para acceder a la memoria real, es de 300 nseg.

Los datos para la resolucin del problema se encuentran en el esquema que figura a continuacin:

DIRECCIN LGICA
11 12
N PGINA

23

DESPLAZAMIENTO
TLB

DIRECCIN FSICA
11 12

31
N. MARCO
DESPLAZ.
0

56
N. SEGMENTO

11
N. PGINA

T. DE PAG.
5.000
0

046 HEX

TABLA SEGMENTOS
0
3
5.000
1
3
3.000
2
2
2.000
.
.

.
.

7.000

032 HEX

53F HEX

T. DE PAG.
3.000
0

A64 HEX
MEMORIA

REAL
N

010 HEX

F23 HEX
.
.
.

Se desea obtener lo siguiente:


a
b
c
d
e

El tamao de pgina y de marco de pgina.


La mxima memoria real que se puede dimensionar.
El tamao mximo de segmento.
Calcular las direcciones fsicas que corresponden a Las siguientes direcciones lgicas: 0003A9 Hex.
y 041F5A Hex.
Calcular el Tiempo de acceso efectivo suponiendo que el porcentaje de encuentros en la TLB es del
80%

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de


Software
SOLUCIONES DE LOS EJERCICIOS
SOLUCIN AL EJERCICIO N 1.

a)
a1)

65.536/4*1024 = 16 pginas.
Texto = 32.768/4*1024 = 8 pginas.
Datos = 16.386/4*1024 = 4,00048 = 5 pginas.
Tablas = 15.870/4*1024 = 3,87 = 4 pginas.
Ocupara 8 + 5 + 4 = 17 pginas y por lo tanto no se podra ejecutar.

a2)

65.536/512 = 128 paginas.


Texto = 32.768/512 = 64 paginas.
Datos = 16.386/512 = 32,0039 = 33 paginas.
Tablas = 15.870/512 = 30,99 = 31 paginas.
Ocupara 64 + 33 + 31 = 128 paginas y por lo tanto si se podra ejecutar.

b)
100p + 600(1-p) = 200
p = 400/500 = 0,80 es decir el 80%
SOLUCIN AL EJERCICIO N 2.

La direccin fsica 142.760 se corresponde con la direccin lgica 3,2760, es decir, Pagina 3 y
Desplazamiento 2.760.
Dicha direccin fsica, esta dentro del espacio de direcciones cubiertas por el segmento 3, ya que el
desplazamiento de 2.760 posiciones, con respecto al origen del segmento, esta dentro del tamao
del segmento.
SOLUCIN AL EJERCICIO N 3.

Las direcciones fsicas correspondientes a las siguientes direcciones lgicas:


a) 0,21
b) 1,23
c) 3,53
d) 3,200

214 + 21 = 235
ERROR ya que 23 > 14
1332 + 53 = 1385
ERROR ya que 200 > 100

SOLUCIN AL EJERCICIO N 4.

a)

Si para expresar una direccin se utilizan 24 bits y con ellos debemos indicar el
desplazamiento, numero de pagina y numero de segmento tenemos:
12

Como las paginas son de 4 Kb el mayor desplazamiento ser: 4*1024 = 2


luego se
necesitan 12 bits.
Si tenemos en cuenta que, los segmentos tienen 64 Kb y las paginas son de 4 Kb, cada
4

segmento tiene 16 paginas, luego son necesarios 16 nmeros de pagina, es decir 2 , por lo
tanto se necesitan 4 bits para el numero de pagina.
Para el numero de segmento quedan 24 - (12 + 4) = 8 bits
8

b)

c)

Por lo tanto, el numero de segmentos posibles ser 2 , es decir, 256 segmentos.


Segn la tabla de segmentos, el programa tiene solamente 4 segmentos, por lo tanto, no son
validas las direcciones que indiquen segmentos mayores de 3.
En cada direccin hexadecimal, las tres primeras cifras, es decir los 12 bits de orden inferior,
son el desplazamiento, la siguiente 4 bits, es el numero de pagina y el resto el numero de
segmento.
Las direcciones 2040A3, 2AB372 y 2052A7 no son validas pues el numero de segmento es
mayor que 3.
Las nicas direcciones que pertenecen al programa son, segn lo anterior: 3BC y 235D.
3BC: Desplazamiento 3BC, pagina 0 y segmento 0.
En las tablas vemos que la pagina 0 del segmento 0 comienza en BE8, por tanto la direccin
fsica pedida ser BE83BC.
235D: Desplazamiento 35D, pagina 2 del segmento 0.
En las tablas vemos que la pagina 2 del segmento 0 comienza en 3E8, por tanto la direccin
fsica pedida ser 3E835D.

SOLUCIN AL EJERCICIO N 5.
Secuencia de peticiones: 1, 4, 2, 3, 2, 5, 4, 1, 7, 2, 8, 6
Algoritmo OPTIMO.
1 4 2 3 2 5 4 1 7 2 8 6
1 1 1 1
4 4 4
2 2
3
x x x

1
4
2
3

1
4
2
5
x

1
4
2
5

1
4
2
5

7
4
2
5
x

7
4
2
5

7
8
2
5
x

7
8
6
5
x

Algoritmo LRU.
1 4 2 3 2 5 4 1 7 2 8 6
1 1 1 1 1 4 3 2 5 4 1 7
4 4 4 4 3 2 5 4 1 7 2

7 Interrupciones.

2 2 3 2 5 4 1 7 2 8
3 2 5 4 1 7 2 8 6
x x x
x x x x x x

9 Interrupciones.

SOLUCIN AL EJERCICIO N 6.

De las tablas de pginas se deduce que las paginas comunes son las siguientes, ya que son
referenciadas en las tablas de paginas de los dos procesos, compartiendo el mismo marco de
memoria real:
PROCESO P1
N DE PGINA
7
9
16

DIRECCIN
DEL MARCO
3.584
2.560
5.120

PROCESO P2
N DE PGINA
5
16
7

De la secuencia de paginas del anterior perodo de ejecucin de P1, debemos descartar las paginas
comunes, ya que estas nunca se intercambian a la memoria auxiliar; por lo tanto, dicha secuencia
desde el punto de vista de las pginas que considera el algoritmo de sustitucin, queda como sigue:
...., 6, 8, 15
Se descartan las paginas 7 y 9 que son pginas comunes.
Las pginas 6, 8 y 15 debern de estar presentes en memoria en el siguiente perodo de ejecucin de
P1, ya que son las mas recientemente referenciadas y se utiliza el algoritmo LRU.
La secuencia de pginas de este periodo, una vez descartadas las comunes, quedar como sigue:
8

11

15

15

6
8
15

5
8
15
X

5
8
11
X

5
6
11
X

5
6
11

3
6
11
X

3
6
8
X

3
2
8
X

3
2
8

3
2
4
X

3
15
4
X

3
15
4

3
15
1
X

3
15
1

TOTAL FALLOS DE PAGINA = 9


SOLUCIN AL EJERCICIO N 7.

a)

Calcular la mxima cantidad de memoria direccionable, sabiendo que el tamao de la palabra


es de 1 byte.
12

N mximo de paginas = 2

= 4096

12

Tamao de pagina = 2

= 4096

24

Por lo tanto, 2
b)

= 16 Mpalabras = 16 Mb.

El tamao de un programa con 7 paginas.


Tamao del programa = 4096*7 paginas = 28.672 = 28 Kb.

c)

Para calcular el rea de memoria que ocuparn, las tablas de paginas de los procesos, cuando
se alcance el mximo grado de multiprogramacin:

Tamao de cada entrada = 4 Bytes.


12

N de entradas por pagina = 2

= 4096 Bytes.

Por tanto, 4*4096= 16.384 = 16 Kb.


Grado de Multiprogramacin = 5*16 Kb. = 80 Kb.
SOLUCIN AL EJERCICIO N 8.

a)

Sabiendo que:
El tiempo de acceso a memoria asociativa(tama) = 160 nseg.
El tiempo de acceso a memoria principal(tamp) = 1000 nseg.
h = 75% y n = 0,25 tanto por uno.
Tendremos que:
tp(tiempo positivo) = tama+tamp = 160+1000 = 1160 nseg.
tn(tiempo negativo) = tama+2*tamp = 160+2*1000 = 2160 nseg.
ta(tiempo acceso) = (h*tp)+(n*tn) = (1160*0,75)+(2160*0,25) = 870 540 = 1410 nseg.

b)

El tiempo de acceso sin memoria asociativa ser:


ta(tiempo acceso)= 2*1000=2000 nseg.
Por lo tanto:
Si a 2000 ----- 100

2000-1410 ----- x

x=

59.000
29,5%
2000

SOLUCIN AL EJERCICIO N 9.

Cuando solicitan memoria los procesos B y C, quedan 6 marcos:


Por lo tanto se repartirn de la siguiente forma:

B(40K)=40*

6
4
60

marcos y C(20K)=20*

6
2
60

marcos.

Cuando A finaliza sus 3 marcos se reparten proporcionalmente, por lo tanto sern 2 para B y 1 para
C.
1

2
X

3
2
X

3
7
X

3
6
X

5
6

5
4
X

4
3
X

4
7
X

5
7

5
6
X

4
6

4
3
X

4
2
X

4
1
X

5
1

5
1

4
5
X

Termina A, 1 marco mas para C


1215237654375643215427
1122555533554455554427
215233355445544445542
27664377663211154
xx x xxx xxx x xxx

xx

Se producen 15 fallos de pagina.


SOLUCIN AL EJERCICIO N 10.

a) La pagina que se sustituir, segn el algoritmo NRU, ser la 0, ya que es la nica que pertenece a
la clase 0.
b) La pagina que se sustituir, segn el algoritmo FIFO, ser la 2, ya que fue cargada primero y es
la mas antigua.
c) La pagina que se sustituir, segn el algoritmo LRU, ser la 1, ya que se accedi a ella en el
tiempo 260 y por lo tanto es la que mas tiempo lleva sin ser accedida.
SOLUCIN AL EJERCICIO N 11.

Para calcular el tamao de pgina y marco de pgina tendremos:


El nmero de direcciones que se pueden utilizar ser:
Direccin Fsica
0

11 12
N.Marco

23
Desplaz.

Marco de pgina: 223-11 = 212 = 4 Kb


Pgina: 212 = 4 Kb

Para calcular la mxima cantidad de memoria, que se puede dimensionar tendremos que:
Si se tiene en cuenta, que la direccin fsica tiene 24 bits, la mxima cantidad de memoria
que podemos direccionar ser 224 = 16 Mb.

Para calcular el tamao mximo de segmento tendremos que:


Si se tiene en cuenta, que el segmento esta formado por:
0

5
N.segm.

11 12
Desplazamiento

23
23 5 = 18 bits.

2
4
X

El tamao mximo que se podr direccionar ser 218 = 256 Kb.


d

Para calcular las direcciones fsicas, que corresponden a las siguientes direcciones lgicas:
0003A9 y 041F5A en Hexadecimal tendremos:
Teniendo en cuenta que cada nmero en hexadecimal, son cuatro en binario para la primera
direccin Lgica:
Direccin Lgica
N.Pag. Desplaz.
000

3A9

El desplazamiento va directamente a la direccin fsica y el nmero de Pgina se divide en


dos partes:

N de Segmento = 0
N de Pgina = 0

Con estos valores entramos en la tabla de segmentos y tomamos los datos que figuran en el
elemento 0, es decir, direccin 5.000 y tamao 3 y vamos a la tabla de pginas, al elemento
0 y direccin 046 Hex. Por lo tanto, la direccin fsica ser:
Direccin Fsica
N.Marco Desplaz.
046

3A9

Para la segunda direccin Lgica:


Direccin Lgica
N.Pag. Desplaz.
041

F5A

El desplazamiento va directamente a la direccin fsica y el nmero de pgina se divide en


dos partes:

N de Segmento = 1
N de Pgina = 1

Con estos valores entramos en la tabla de segmentos y tomamos los datos que figuran en el
elemento 1, es decir, direccin 3.000 y tamao 3 y vamos a la tabla de pginas, al elemento
1 y direccin 010 Hex. Por lo tanto la direccin fsica ser:
Direccin Fsica
N.Marco Desplaz.
010

F5A

Para calcular el tiempo de acceso efectivo, sabiendo que:

El tiempo de acceso a la TLB es igual a 50 nseg.


El tiempo de acceso a la memoria es igual a 300 nseg.
El porcentaje de encuentros en la TLB es del 80%.

El tiempo positivo (tp) = 50 + 300 = 350 nseg.


El tiempo negativo (tn) = 50 + 300 + 300 + 300 = 950 nseg.
Por lo tanto, el tiempo de acceso efectivo ser igual:
T. acceso efectivo = 350 * 0,8 + 950 * 0,2 = 470 nseg.

You might also like