Está en la página 1de 15

Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

Problemas Resueltos

Captulo 2. Sistemas de Asignacin Dispersa de


memoria.
1.- Notas y criterios para los problemas:
-En las soluciones de los problemas se ha representado el resto de la divisin entera
por la siglas mod.

2.- NOTA GENERAL: Tema 2 Gestin de memoria: paginacin y


segmentacin.

3.- Problemas y cuestiones de asignacin dispersa.

1. Suponga que un proceso emite una direccin lgica igual a 2453 y que se utiliza la tcnica de
paginacin, con pginas de 1024 palabras.
a) Indique el par de valores (nmero de pgina, desplazamiento) que corresponde a dicha
direccin.
b) Es posible que dicha direccin lgica se traduzca en la direccin fsica 9322?. Raznelo.
Solucin
a) pgina =2 y desplazamiento = 405.
b) No porque el desplazamiento de la direccin lgica 9322 es 106 ((9322 mod 1024) =
106 ) y debera ser 405 para que fuese posible.

2. En un sistema de gestin de memoria por paginacin, es recomendable que el tamao de


pgina sea potencia de 2?. Justifquese la respuesta.
Solucin
Si. Porque facilita la traduccin de una direccin lgica a un nmero de pginas y
desplazamiento. Los bits de mayor peso se dedican al nmero de pgina, y los de menor
peso al desplazamiento dentro de la pgina. De esta manera se ahorra una operacin
aritmtica de divisin, que tiene un coste mayor.
Se puede aprovechar totalmente el espacio de direcciones.

3. Considere los 4 sistemas con gestin de memoria mediante paginacin A, B, C y D siguientes:

1
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

Sistema A B C D

Tamao de pgina (en palabras) 512 512 1024 1024

Tamao de palabra (en bits) 16 32 16 32

Asumiendo que slo hay una tabla de pginas para todo el sistema y que la direccin lgica ocupa
una palabra (de 16 o 32 bits, segn el caso), determine para cada sistema:
a) El tamao de la tabla de pginas (nmero de entradas).
b) El tamao de la memoria lgica (nmero de pginas).
Solucin

Sistema A B C D
Tamao de pgina 512 512 1024 1024
(en palabras)
Tamao de palabra 16 32 16 32
(en bits)
Tamao de la tabla de 128 8M 64 4M
pginas (en descriptores) descriptores descriptores descriptores descriptores
Tamao de memoria
virtual en pginas del 128 pginas 8M pginas 64 pginas 4M pginas
sistema

4. Indique en cuales de los siguientes mecanismos de gestin de memoria puede producirse


fragmentacin externa: particiones variables, paginacin, segmentacin paginacin por
demanda, segmentacin por demanda.
Solucin
Los mecanismos que pueden producir fragmentacin externa son: particiones variables y
segmentacin. En ambos casos pueden quedar en memoria huecos no contiguos cuya
suma de tamaos sea suficiente para ubicar un nuevo proceso.

5. Sea un sistema de gestin de memoria basado en la tcnica de la paginacin. Sean tres


procedimientos que ocupan 700, 200 y 500 palabras respectivamente. Determine cunta
memoria se pierde por fragmentacin interna cuando estos procedimientos se cargan en
memoria si el tamao de la pgina es de: 1200 palabras, 2500 palabras, 3600 palabras 4700
palabras.
Solucin
Tamao de pgina 1200 2500 3600 4700
(en palabras)
Tamao de procedimiento 700 700 700 700
( en palabras )
Fragmentacin interna 500 1800 2900 4000
(en palabras)

2
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

Tamao de pgina 1200 2500 3600 4700


(en palabras)
Tamao de procedimiento 200 200 200 200
( en palabras )
Fragmentacin interna 1000 2300 3400 4500
(en palabras)

Tamao de pgina 1200 2500 3600 4700


(en palabras)
Tamao de procedimiento 500 500 500 500
( en palabras )
Fragmentacin interna 700 2000 3100 4200
(en palabras)

6. Explique la motivacin y las ventajas de la tcnica de compartir pginas.


Solucin
Cuando dos o ms procesos ejecutan un mismo programa, la tcnica de comparticin de
pginas permite no tener que duplicar el cdigo en memoria con lo que se ahorra espacio
en la misma. Piense en un sistema de tiempo compartido donde existen varios usuarios
que se encuentran utilizando a la vez un mismo editor o compilador.

7. Los sistemas que usan tabla de pginas invertidas, pueden tener problemas para que los
procesos compartan pginas. Indique porqu y como podra solucionarse.
Solucin
En los sistemas de pginas invertidas la tabla de marcos asocia a cada entrada una
pgina de un determinado proceso. Sin embargo para poder compartir pginas, un
mismo marco se ha de encontrar asociado al menos a dos pginas de diferentes procesos.
Por lo tanto una entrada de la tabla de pginas invertidas debera poder asociarse a ms
de una direccin lgica de distintos procesos.

8. Sea un sistema de gestin de memoria basado en la tcnica segmentacin paginada. Las


direcciones lgicas tienen en total 28 bits, de los cuales 10 indican el nmero de pgina. Las
pginas fsicas o marcos son de 1024 octetos, mientras que las direcciones fsicas son de 24 bits.
Suponga que un segmento determinado contiene 4800 octetos. Cunta memoria se
desperdicia en fragmentacin interna y externa por causa de dicho segmento?. Justifique la
respuesta.
NOTA: considere nicamente la memoria asignada al segmento, sin tener en cuenta las tablas de
segmentos ni de pginas.
Solucin
Respuesta fragmentacin interna 320 octetos.
En los sistemas de segmentacin paginada no hay fragmentacin externa, slo interna,
ya que lo que se ubica en memoria son pginas del proceso que pertenecen a un
segmento u otro, del mismo.

3
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

La direccin lgica 4800 en este sistema pertenece al segmento 0, pgina 4,


desplazamiento 704.

27 20 19 10 9 0
00000000 0000000100 1011000000
N de segmento N de pgina desplazamiento

Por tanto la fragmentacin interna vendr dada por 1024 704 = 320 octetos.

9. Compare la fragmentacin interna provocada por un sistema de memoria virtual con


segmentacin paginada frente a uno que nicamente utiliza paginacin.
Solucin
(Consultar el material proporcionado para las clases de teora y la bibliografa).

10. Enuncie los diferentes esquemas de gestin de memoria vistos en clase detallando, para cada
uno, el hardware que requieren y su problemtica de fragmentacin.
Solucin
(Consultar el material proporcionado para las clases de teora).

11. Razone las ventajas de utilizar la tcnica de compartir segmentos en la llamada al sistema
exec() de Unix desde los puntos de vista de gestin de la memoria y de accesos a disco.
Solucin
Gestin de la memoria: Resulta sencillo compartir el segmento de cdigo con otros
procesos que estn ejecutando el mismo programa que se ha especificado como
argumento de exec(). Basta para ello, con tener en el PCB de cada proceso un atributo
que indique el nombre del programa que est ejecutando. Los segmentos de datos y pila
no deben compartirse (no hay que hacer nada especial para ello. El de datos inicializados
hay que leerlo del fichero ejecutable).
Accesos a disco: Podemos ahorrar algunos accesos si el programa ya est siendo
ejecutado por otro proceso y el sistema guarda una copia de la cabecera del fichero
ejecutable en memoria (para ese caso). Si el programa no est siendo ejecutado hay que
efectuar, como mnimo, la lectura de la cabecera del ejecutable para obtener una
descripcin de su mapa de memoria. Normalmente no hay que leer nada ms, pues en la
actualidad se utilizan tcnicas de memoria virtual y los segmentos de cdigo, datos,
pila y bibliotecas dinmicas se van asignando (y leyendo del disco) a medida que se
necesitan.

12. Sea un sistema de memoria segmentado-paginado. Los espacios de direcciones lgicas son de
8Gbytes y el tamao de pgina es de 2Kbytes. Un espacio de direcciones puede tener hasta
256 segmentos y los descriptores de pgina tienen 4 bytes. Diga cual ser el tamao de la tabla
de pginas de un segmento.
Solucin
La solucin es 64Kb.

4
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

Ser necesario conocer el nmero mximo de pginas que puede tener un segmento y
multiplicarlo por el tamao del descriptor de segmento. Para conocer el nmero mximo
de pginas ser necesario conocer el nmero de bits destinado a la pgina en la direccin
lgica.
Los espacios de direcciones lgicas son de 8Gb  Dir. lgicas de 33 bits.
El nmero mximo de segmentos de un proceso 256 segmentos  8 bits de la direccin
para el nmero de segmento.
El tamao de pgina es de 2Kb  11 bits de la direccin para el desplazamiento dentro
de la pgina.
El nmero de bits para el n de pgina vendr dado por: 33 (8 + 11) = 33 19 = 14
Con lo que los campos y bits de la direccin lgica quedaran:

32 25 24 11 10 0

----segmento----- -desplazamiento-

Se tienen un total de 14 bits para la pgina y se necesitarn 214 = 16384 descriptores de


pginas por segmento.
El tamao de la tabla de pginas = 16384 * 4 bytes = 65536 = 64 KB

13. Suponga que un proceso emite las direcciones lgicas (2,18004) (1, 2735) (5, 12219) utilizando
un modelo de gestin de memoria basado en segmentacin paginada y que estas tres
direcciones lgicas producen respectivamente las tres siguientes direcciones fsicas: 1108, 1327
y 1211.
a) Cul es el nmero mximo de bits que se estn utilizando para el desplazamiento dentro de
una pgina?
b) Cul es el nmero mnimo de bits que se estn utilizando para indicar un nmero de pgina?
c) Cul es el nmero mnimo de bits que se estn utilizando para indicar un nmero de marco?
Solucin
a) La solucin es 7 bits.
Necesitamos conocer el tamao de la pgina. Para ello el enunciado nicamente nos
indica la correspondencia entre direcciones lgicas y fsicas. Por lo tanto ser necesario
ir probando diferentes tamaos de pginas hasta encontrar uno donde los
desplazamientos de la direccin fsica y la direccin lgica coincidan. Los tamaos de
pgina han de ser potencia de dos y adems ha de ser igual en todo el sistema.
Comenzaremos probando por un tamao de pgina de 1024 e iremos calculando el resto
de dividir las respectivas direcciones por dicho tamao. Si coinciden los
desplazamientos ser necesario probar con un tamao mayor de pgina y si no coinciden
probaremos con tamaos menores.
Tamao
Pg. 1024 512
direccin
lgica 18004 596 84
fsica 1108 84 84

5
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

Para esta direccin es vlida un tamao de pgina de 512 o menor. Ahora ser necesario
comprobarlo para el resto de direcciones.

Tamao
Pg. 512 128
direccin
lgica 2735 175 47
fsica 1327 303 47
Para esta direccin es vlida un tamao de pgina de 128 o menor. Ahora ser necesario
comprobarlo para la ultima direccin que nos proporciona el enunciado.
Tamao
Pg. 128
direccin
lgica 12219 59
fsica 1211 59
El tamao mximo de pgina que puede estar utilizando este sistema es de 128 palabras,
por tanto el nmero mximo de bits que se estn utilizando para el desplazamiento es de
7 bits.
b) La solucin es 8 bits.
Teniendo en cuenta el tamao de pgina calculado en el apartado anterior se puede
calcular el nmero de pginas que como mnimo contienen los segmentos de las
direcciones lgicas referenciadas.
Tamao
Pg. 128
direccin
lgica (2,18004) 18004 / 128 = 140 n de pgina
18004 mod 128 = 84 desplazamiento
lgica (1,2735) 2735 / 128 = 21 n de pgina
2735 mod 128 = 47 desplazamiento
lgica (5,12219) 12219 / 128 = 95 n de pgina
12219 mod 128 = 59 desplazamiento
Necesitamos un nmero de bits m para indicar las pginas de manera que 2m 140, con
lo que m=8.
c) La solucin es 4 bits.
El tamao de pgina y de marco ha de ser el mismo por tanto dividiendo la direccin
fsica ms alta por el tamao de pgina calculado en el apartado a) obtendremos el
nmero de marcos que como mnimo hay en el sistema.
Tamao
marco 128
direccin
Fsica 1108 1108/ 128 = 8 n de marco
1108 mod 128 = 84 desplazamiento
Fsica 1327 1327 / 128 = 10 n de marco
1327 mod 128 = 47 desplazamiento
Fsica 1211 1211 / 128 = 9 n de marco
1211 mod 128 = 59 desplazamiento

6
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

Necesitamos un nmero de bits f para referenciar de manera que 2f 9, con lo que f=4.

14. A continuacin se presentan varias situaciones en las que uno o ms procesos generan varias
direcciones lgicas. Indique las direcciones fsicas correspondientes segn cada esquema de
gestin de memoria. Si no es posible indique ERROR.
a) Considere un esquema de particiones variables. Las direcciones lgicas generadas son: (B,530),
(A,0,130), (C,1056). Situacin de los procesos:

Proceso Registro base Registro lmite

A 0 1360

B 4020 6300

C 1400 2600
b) Considere un esquema de paginacin, con un tamao de pgina de 256 palabras. Las
direcciones lgicas generadas son 530, (0, 130), 1046. El contenido de la tabla de pginas es el
siguiente:
Tabla de pginas
0 4
1 5
2 3
3 6
c) Considere un esquema de segmentacin paginada con un tamao de pgina 128. Las
direcciones lgicas generadas son 530, (0, 130), 1046. El contenido de la memoria fsica es el
siguiente
N de Marco (segmento, pgina)
0 (0, 3)
1 (1, 0)
2 (2, 0)
3 --
4 (1, 2)
5 (0, 1)
6 (0, 2)
7 (1,3)
Solucin
a)
Direc. lgica (B,530) (A,0,130) (C, 1046)
Direc. fsica 4020+530= 4550 Error no vale este 1400+1046=2246
formato

b)
Direc. lgica 530 (0,130) 1046
Direc. fsica 3*256+18= 786 ERROR no vale ERROR (*)
este formato

7
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

(*) Esta direccin corresponde a la pgina 4 del proceso y segn la tabla de pginas del
enunciado esa pgina no existe.

c)
Direc. lgica 530 (0,130) 1046
Direc. fsica ERROR, no vale este 5*128+2= 642 ERROR, no vale
formato este formato

15. Suponga que un proceso emite una direccin lgica (5, 18004) utilizando un modelo de gestin
de memoria basado en segmentacin paginada, con pginas de 4096 bytes.
a) Indique qu direcciones fsicas de entre las siguientes corresponden a dicha direccin lgica:
1620, 4004, 8004, 9812, 23720.
b) Razone si sera mejor o peor utilizar un tamao de pgina de 4000 bytes.
c) Indique qu direcciones de entre las siguientes: 0, 18004, 5000, 8192, 23000. Podran ser vlidas
como direcciones fsicas base del segmento 5 referenciado en la direccin lgica (5, 18004).
Solucin
La direccin (5, 18004) corresponde a una direccin lgica del segmento 5, pgina 4 y
desplazamiento 1620.
a) Respuesta 1620, 9812.
Para que en este sistema una direccin fsica dada, pueda corresponderse con una lgica
los desplazamiento de ambas han de coincidir. Los desplazamientos corresponden al
resto obtenido como resultado de dividir la direccin por el tamao de pgina (direccin
mod 4096 = desplazamiento).

Direcciones fsicas
1620 4004 8004 9812 23720
Desplazamiento 1620 4004 3908 1620 3240
Direccin Direccin Direccin Direccin Direccin
vlida No vlida No vlida vlida No vlida

b) Peor, ya que se requerira hardware adicional en la unidad de gestin de memoria


para descomponer la direccin lgica en sus diferentes partes.
c) Respuesta las direcciones fsicas base de segmento podran ser 0 y 8192.
Nos encontramos en un sistema de segmentacin paginada, es decir, siempre se
mapean pginas en memoria. Esto implica que los segmentos siempre se comienzan a
ubicar en direcciones mltiplo del tamao de pgina. De las mencionadas en el
enunciado las nicas que son mltiplo de 4096 son la 0 y la 8192.

16. En un sistema con una memoria fsica de 64K bytes, se accede a la direccin fsica 27214 como
respuesta a una direccin lgica emitida por el proceso P1 cuyo tamao es de 15535 bytes.
Deducir la(s) direccin(es) lgica emitida(s) por el proceso en cuestin para que haya ocurrido
dicho acceso en los siguientes casos:
a) Suponiendo un modelo de gestin de memoria paginada con pginas de 4K bytes.
b) Suponiendo un modelo de gestin de memoria segmentado con segmentos de 16K bytes.
Asuma que los segmentos comienzan siempre en una direccin mltiplo de 16 K bytes y que P1

8
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

est contenido en un nico segmento.


c) Suponiendo un modelo de gestin de memoria segmentada paginada con pginas de 4K bytes
y segmentos de 16K bytes. Asuma que P1 est contenido en un nico segmento.
Solucin
a) Respuesta: 2638, 6734, 10830 y 14926.
Seran todas aquellas direcciones lgicas que no excedan el tamao del proceso y cuyo
desplazamiento sea el mismo que en el de la direccin fsica.
Direccin fsica 27214 27214 mod 4096 = 2638 desplazamiento 2638
Direcciones lgicas posibles:

Pgina 0 desplazamiento 2638 0*4096 + 2638 = 2638


Pgina 1 desplazamiento 2638 1*4096 + 2638 = 6734
Pgina 2 desplazamiento 2638 2*4096 + 2638 = 10830
Pgina 3 desplazamiento 2638 3*4096 + 2638 = 14926

b) Respuesta: (0,10830)
Como las direcciones base de segmentos tienen que ser mltiplo de 16Kbytes,
tendramos como posibilidades que el segmento se ubique a partir de la direccin 0,
16384 (16K) 32768 (32K). Para que se haya accedido a la direccin fsica 27214 la
direccin base del segmento debe ser 16384. Teniendo en cuenta que:
base de segmento + desplazamiento = direccin fsica
desplazamiento = direccin fsica base de segmento
desplazamiento = 27214 16384 =10830
La direccin lgica que se ha emito es: (0,10830).

c) Respuesta: (0,2638), (0, 6734), (0,10830), (0, 14926).


Se trata de un sistema segmentado paginado por tanto lo que se ubica en memoria son
pginas, pudiendo haberse emitido una direccin lgica perteneciente a cualquier pgina
del proceso P1 con un desplazamiento igual al de la direccin fsica que se accede. Los
clculos son los mismos que los presentados en la solucin del apartado a) de este
problema. Por tanto las posibles direcciones lgicas son: (0,2638), (0, 6734), (0,10830),
(0, 14926).

17. Supongamos un sistema de gestin de memoria con segmentacin paginada, con pginas de
1Kb. Un proceso emite las siguientes direcciones lgicas: (1, 2487) y (1, 635). A continuacin se
muestra la tabla de pginas del segmento 1. Cules sern las direcciones fsicas
correspondientes?.

Segmento-1: Tabla de pginas

0 3

1 7

2 8
Solucin

9
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

Respuesta: direccin lgica (1, 2487) direccin fsica 8631, direccin lgica (1,635)
direccin fsica 3707.

Direccin lgica Campos de la direccin lgica Direccin fsica (*)


Segmento =1
(1, 2487) Pgina = 2 = 2487 div 1024 8631= 8*1024 + 439
Desplazamiento = 439 = 2487 mod 1024
Segmento =1
(1,635) Pgina = 0 = 635 div 1024 3707= 3*1024 + 635
Desplazamiento = 635 = 635 mod 1024

(*) Para calcular las direcciones fsicas se ha de consultar los descriptores de pginas 2 y
0 de la tabla de pginas, cuyo contenido representa el marco donde se encuentra ubicada,
dicha pgina.

18. En un esquema de segmentacin paginada con pginas de 1Kb, Es posible que la direccin
lgica (2, 1333) se pudiera traducir a la direccin fsica 3654?. Y a la direccin fsica 2357?.
Raznelo.
Solucin
Respuesta: No es posible 3654, si es posible 2357.
Para que las direcciones fsicas 3654 y 2357 sean accedidas como respuesta a la emisin
de la direccin lgica (3, 1333) en este sistema, los desplazamiento dentro del marco y
de la pgina han de coincidir.

Direccin lgica Campos de la direccin lgica Direccin fsica (*)


3654

Segmento =2 marco =3 =3654 div 1024


(2, 1333) Pgina = 1 = 1333 div 1024 desplaz.= 582= 3654 mod 1024
desplaz. = 309 = 1333 mod 1024 2357

marco =2=2357 div 1024


desplaz.=309 = 2357 mod 1024

(*) Para que las direcciones fsicas sean vlidas sus desplazamiento deben ser de 309, es
decir exactamente igual al de la lgica.

19. Se tiene un sistema de memoria con paginacin a dos niveles que permite agrupar las pginas
en directorios de pginas. Cada directorio de pginas puede contener hasta 256 pginas. Los
espacios de direcciones lgicas de este sistema son de 4Gbytes y el tamao de pgina es de
4Kbytes. El espacio de direcciones fsicas que puede tener hasta 1Gb. Describa la estructura de
las direcciones lgicas y de las direcciones fsicas de este sistema de memoria virtual.
Solucin
El espacio de direcciones fsicas es de 1Gbyte = 2 30 byte
Se trata de un sistema con tcnica de paginacin, cuyo tamao de pgina es de 4Kbytes=
212 bytes.

10
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

Por tanto la direccin fsica 30 bits vendr dada por:


Direccin fsica
29 12 11 0
Marco Desplazamiento
El espacio de direcciones lgicas es de 4Gbyte = 2 32 byte
Se trata de un sistema con tcnica de paginacin a dos niveles, cuyo tamao de pgina es
de 4Kbytes= 212 bytes. Las pginas se encuentran agrupadas de 256 en 256 en
directorios.
Por tanto la direccin lgica de 32 bits vendr dada por los siguientes campos:

Direccin lgica
31 20 19 12 11 0
Directorio de pgina pgina desplazamiento

20. Un proceso genera las siguientes direcciones lgicas: 612, 38 y (3,62). Indica las direcciones
fsicas correspondientes segn cada esquema de gestin de memoria. Si no es posible indicar
ERROR.
a) Particiones Variables con Registro Base=150 y Registro Lmite=220.
b) Paginacin, con un tamao de pgina de 128 palabras. La tabla de pginas del proceso es la
siguiente:
Tabla de pginas
0 1
1 4
2 2
3 5
c) Segmentacin. La tabla de segmentos del proceso es la siguiente:
Base Lmite
0 200 20
1 50 10
2 105 49
3 320 70
Solucin

Direccin Lgica Direccin Lgica Direccin Lgica


612 38 (3, 62)
a) Direccin fsica ERROR, excede el Base + 38 = 188 ERROR de formato
lmite. de direccin
b) Direccin fsica ERROR, excede el 1*128 +38 =166 ERROR de formato
(paginacin) n de pginas del de direccin
proceso.
c) Direccin fsica ERROR de formato ERROR de formato 320+62= 382
(segmentacin) de direccin de direccin

11
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

Para el apartado b) es necesario conocer la pgina y desplazamiento de cada una de las


direcciones fsicas y en funcin de la pgina que obtengamos consultar la tabla de
pginas.
Direccin 612: Pgina = 612 div 128 = 4; Desplazamiento = 612 mod 128=102;
Direccin 38: Pgina = 38 div 128 = 0; Desplazamiento = 38 mod 128=38;

21. Suponga que un proceso emite la direccin lgica (2,18004) utilizando un modelo de gestin de
memoria basado en segmentacin y el espacio de memoria fsica es de 64K bytes.
a) A qu direcciones fsicas de las siguientes (11084, 33270 y 22112) , sera posible traducir dicha
direccin lgica ?
b) Cual sera el resultado de traducir la direccin lgica (0,65536) en dicho sistema ? Justificar la
respuesta.
Solucin
a) Respuesta 33270 y 22112.
Sera con aquellas direcciones fsicas superiores a 18004, para que fuese posible un
desplazamiento de ese tamao. Por tanto sera 33270, con un contenido del registro base
de segmento de 15266 (registro base segmento = 33270-18004=15266). Y la direccin
22112, con un contenido del registro base de segmento de 4108 (registro base segmento
= 22112-18004=4108).
b) Respuesta: dara error.
La direccin lgica (0, 65536) se debe corresponder con una direccin fsica que tenga
un desplazamiento de 65536. El tamao de la memoria fsica es de 64K bytes = 65536
bytes, por tanto la direccin ms alta de memoria es la 65535 y no puede haber un
desplazamiento superior a ese tamao.

22. En el caso de utilizar un modelo de memoria basado en particiones fijas (tamao de las
particiones 4K, 12K, 16K, 32K bytes respectivamente y ubicadas en orden de direcciones
crecientes) a qu direcciones fsicas de las siguientes (9701, 26085, 32768) se puede
corresponder la direccin lgica 9701?
Solucin
Respuesta: la direccin lgica 9701 se puede corresponder con la fsica 26085.
Las particiones fijas se encontraran ubicadas en memoria de la siguiente manera:

Memoria Principal
0 Si se ha referenciado la direccin lgica 9701, en un modelo
Particin de de particiones fijas, esto implica que el proceso slo ha podido
4095
4K ser ubicado en una particin cuyo tamao sea superior a 9701
4096 bytes. Las posibilidades seran:
Particin de 1) Que estuviese ubicado en la particin 2, con lo que la
16383
12K direccin fsica vendra dada por 4096+9071= 13167.
16384
2) Que estuviese ubicado en la particin 3, con lo que la
Particin de direccin fsica vendra da por 16384+9071= 26085. Esta
22527
16K coincide con una de las opciones del enuciado.
22528
3) Que estuviese ubicado en la particin 4, con lo que la
Particin de
65535 direccin fsica vendra da por 22528+9071= 31599.
32K

12
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

23. De entre todos los esquemas de gestin de memoria estudiados (tanto con asignacin contigua
como con asignacin dispersa), indique cules cumplen cada una de las siguientes
caractersticas:
a) Posibilidad de compartir memoria.
b) Presentan fragmentacin externa.
Solucin
a) Los esquemas de gestin de memoria que permiten compartir la misma por varios
procesos son: segmentacin, paginacin y segmentacin paginada.
b) Fragmentacin externa presentan los esquemas de particiones de tamao variable y
segmentacin.

24. En un PC con un Intel Pentium (pginas de 4 Kbytes), tres procesos P1, P2 y P3 han emitido
algunas direcciones lgicas que la MMU ha traducido en sus direcciones fsicas asociadas.
Asuma que los tres procesos estn en memoria y que no se utiliza memoria virtual ni
intercambio. Indique qu tipo (o tipos) de gestin de memoria pueden utilizarse en ese sistema
para que se haya podido dar esa traduccin, cuando los tres procesos emitan la misma direccin
lgica. Elija entre: segmentacin, paginacin, segmentacin paginada e imposible (la traduccin
no puede llevarse a cabo suponiendo que los tres procesos estn a la vez en memoria).

a) Direccin lgica: (0, 5120) Direcciones fsicas: P1: 6000, P2: 18000, P3: 40960
b) Direccin lgica: (0, 17080) Direcciones fsicas: P1: 4792, P2: 17080, P3: 33464
Solucin
Por el formato de la direccin lgica nicamente pueden ser segmentacin o
segmentacin paginada.
a) Respuesta: segmentacin.
Todas las direcciones fsicas de los procesos P1, P2 y P3 son superiores a 5120, por
tanto se podra estar utilizando la tcnica de segmentacin, teniendo en cuenta que para
cada proceso tiene el segmento ubicado a partir de una direccin fsica determinada.
En el caso de utilizar un modelo de segmentacin paginada, los desplazamientos de la
pgina y de los marcos deberan coincidir para que fuese posible la traduccin de
direcciones. En este caso no coinciden por lo tanto no es posible esta tcnica.

Direc. fsica P1 Direc. fsica P2 Direc. fsica P3


Direccin lgica
(0,5120) 6000 18000 40960
Segmentacin
Segmento=0 Base segmento= Base segmento= Base segmento=
Desplaz. 5120 6000-5120=860 1800-5120=12880 40960-5120=35840
Segmentacin Paginada Marco= Marco= Marco=
Segmento=0 6000/4096= 1 18000/4096= 4 40960/4096= 10
Pgina= 5120/4096=1 Desplaz.= Desplaz.= Desplaz.=
Desplaz.= 6000mod 4096= 18000mod4096= 40960mod 4096= 0
5120mod 4096= 1024 1904 1616

13
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

b ) Respuesta: Segmentacin paginada.


No es posible que se haya utilizado un modelos de segmentacin, ya que las direcciones
fsicas de los procesos no son superiores a el desplazamiento de la direccin lgica
17080. En un modelo de segmentacin paginada, los desplazamientos de la pgina y de
los marcos deben coincidir como ocurre en este caso.

Direc. fsica P1 Direc. fsica P2 Direc. fsica P3


Direccin lgica
(0,17080) 4792 17080 33464
Segmentacin Paginada Marco= Marco= Marco=
Segmento=0 4792/4096= 1 17080/4096= 4 33464/4096= 8
Pgina= 17080/4096=4 Desplaz.= Desplaz.= Desplaz.=
Desplaz.= 4792mod 4096= 17080mod4096= 33464mod 4096=
17080mod 4096= 696 696 696 696

25. Se tiene un sistema de memoria con paginacin a dos niveles en el que las pginas se agrupan
en directorios de pginas, cada uno de los cuales contiene 256 pginas. Los espacios de
direcciones lgicas son de 4Gbytes y el tamao de pgina es de 4Kbytes. El espacio de
direcciones fsicas que puede tener hasta 1Gb. Este sistema est soportado por una MMU en el
que los descriptores de pgina contienen un bit de validez, tres bits para proteccin y dos bits
para implementar un algoritmo de aproximacin al LRU (adems de la informacin para la
traduccin de direcciones). Se tiene un determinado proceso con el siguiente espacio de
direcciones lgicas disperso con las siguientes regiones (las direcciones son en hexadecimal):

00000000 10088000 : Cdigo y datos del programa

40000000 52000000 : Biblioteca dinmica

BF000000 C0000000 : Pila

Cual ser el tamao de la tabla de pginas de dicho proceso, y cual sera el tamao mximo que
podra llegar a tener?.
Solucin
Respuesta: El tamao de la tabla de pginas de este proceso ser aproximadamente de
420,4 Kbytes, mientras que el tamao mximo permitido en este sistema es de 3Mbytes.
El espacio de direcciones fsicas es de 1Gbyte = 2 30 byte. Se trata de un sistema con
tcnica de paginacin, cuyo tamao de pgina es de 4Kbytes= 212 bytes. Por tanto la
direccin fsica 30 bits vendr dada por:

Direccin fsica
29 12 11 0
Marco Desplazamiento

El espacio de direcciones lgicas es de 4Gbyte = 2 32 byte. Se trata de un sistema con


tcnica de paginacin a dos niveles, cuyo tamao de pgina es de 4Kbytes= 212 bytes.

14
Sistemas Operativos II Captulo 2. Sistemas de asignacin dispersa de memoria.

Las pginas se encuentran agrupadas de 256 en 256 en directorios. Por tanto la direccin
lgica de 32 bits vendr dada por los siguientes campos:

Direccin lgica
31 20 19 12 11 0
Directorio de pgina pgina desplazamiento

Para calcular el tamao de la tabla de pginas necesitaremos conocer el nmero de


pginas que ocupa el proceso y el tamao de sus descriptores de pginas.

Descriptor de pgina = 24 bits = 3 bytes


-----------18 bits---------- --------------------6 bits-----------------
Nmero de Marco 1bit val.+3 bits proteccin+2 bits LRU

Nmero de pginas que ocupa el proceso:


Region cdigo: 0x10088000 / 4Kbytes = 0x10088 pginas = 65672 pags
Regin biblioteca dinmica: (52000-40000)= 0x12000 pags = 73728 pags
Region pila: (C0000BF000)= 0x1000 pags = 4096 pags
Total descriptores = 0x69198 = 65672+73728+4096=143.496 descriptores
Tamao descriptor = 18 + 1 + 3 + 2 = 24 bits = 3 bytes
Tamao tabla de pginas para el proceso =:143.496 x 3 = 430.488 bytes = 420.4 Kb
aproximadamente.

El tamao mximo de la tabla de pginas que podr tener un proceso en este sistema,
vendr delimitado por el espacio mximo de direccionamiento lgico. Por tanto
tendremos que:
Tamao mximo del proceso = 4 Gb = 22 230 = 232 / 212 pags = 1 Mpags
Tamao mximo de la tabla de pginas = 1M x 3 bytes = 3 Mb

26. Describa cul es la forma de detectar una direccin no vlida en los siguientes mtodos de
gestin de memoria.
a) Paginacin.
b) Segmentacin.
c) Segmentacin paginada.
Solucin
a) En paginacin la forma de detectar una direccin no vlida es mediante la
comprobacin en su tabla de pginas de la no existencia de la pgina a la que
pertenece dicha direccin, para el proceso que la ha emitido.
b) En segmentacin la forma de detectar una direccin no vlida es mediante la
comprobacin de que el desplazamiento de la direccin lgica emitida ha de ser
menor que el tamao del segmento correspondiente, el cual se encuentra
almacenado en su tabla de segmentos.
c) En segmentacin paginada la forma de detectar una direccin no vlida es la misma
que se realiza en segmentacin (apartado b).

15