Diferencias entre direcciones lógicas y físicas
Diferencias entre direcciones lógicas y físicas
Direcciones lógicas o direcciones virtuales: Son las direcciones que genera la CPU, y
a menudo representan un espacio mucho mayor que la memoria física realmente
disponible.
Direcciones físicas: Son las direcciones que maneja el módulo de memoria, y
representan direcciones de la memoria física del computador, que son las que
realmente almacenan las instrucciones y los datos.
Explica qué técnica podemos utilizar para establecer una correspondencia entre
direcciones lógicas y direcciones físicas cuando utilizamos paginación pura.
Segmentación: La segmentación es una estrategia de gestión de memoria que
replica este punto de vista del programador. Cada dirección de memoria viene dada
por un nombre de segmento (o su identificador numérico, s) y un offset o
desplazamiento (d) dentro de este segmento. Así cualquier dirección lógica viene
dada por la tupla que contiene el número de segmento y el desplazamiento.
Un sistema operativo utiliza un sistema de gestión de memoria virtual por
segmentación paginada bajo demanda. En este caso, cada segmento está dividido
en un determinado número de páginas que se cargan en memoria a medida que
son necesarias. Las direcciones lógicas tienen la siguiente forma:
Con esta información, se pide explicar cuáles de las siguientes direcciones lógicas generarían
un fallo de página y cuáles un error de dirección. En caso de que no existan problemas se pide
calcular también la dirección física correspondiente a cada una de ellas.
00A001A4
00D003F1
00A100B2
00C41F20
00A0075F
00D0002D
00E001FA
00B002F1
00A001A4
La base del segmento 00A es 0081 pero en la tabla de página de este segmento 001 no se
encuentra en memoria por lo tanto se producirá un fallo de página.
00D003F1
La base del segmento 00D es 01FA, y en la tabla de página 01FA se observa que el marco de
pagina para la página 003 es 33DA y no supera el tamaño de segmento por lo cual la dirección
física es: 33DAF1.
00A100B2
La base del segmento 00A es 0081, y el limite de segmento es 07FF, 100B2 el cual supera el
limite de segmento, por lo que se produce un error de direccionamiento.
00C41F20
La base del segmento 00C es 0103, pero el limite de segmento es 01FF, 41F20 supera el limite
por lo que se produce un error de direccionamiento.
00A0075F
La base del segmento 00A es 0081, en la tabla de página se observa que el marco de página
para la pagina 007 es 0A1F por lo cual no incumple el tamaño del segmento y la dirección física
es 0A1F5F.
00D0002D
La base del segmento 00D es 01FA, en la tabla de pagina se observa que el marco para la
pagina 000 es 320F y no incumple el tamaño del segmento por lo tanto la dirección física es
320F2D.
00E001FA
00B002F1
La base del segmento 00B es 00F2, en la tabla de pagina podemos observar que el marco para
pagina 002 es F001 que supera el límite por lo que se produce un error de direccionamiento.