Memoria Real: Paginación y Segmentación Contenido

Anuncio
Contenido
Memoria Real:
Paginación y Segmentación
• Paginación
• Segmentación
M. B. Ibáñez
M. B. Ibáñez
Paginación
De particiones fijas
a Paginación
0K
0K
• Frames
2K
USED
– La memoria física es partida en bloques de
tamaño fijo
• Páginas
8K
8K
10K
16K
16K
– La memoria lógica es también partida en
bloques del mismo tamaño
USED
USED
Cuando un proceso va a ser ejecutado, sus páginas son
cargadas en los frames disponibles de la memoria
24K
24K
USED
M. B. Ibáñez
M. B. Ibáñez
De particiones fijas
a Paginación
De particiones fijas
a Paginación
0K
0K
0K
0K
2K
2K
USED
8K
8K
USED
USED
USED
24K
24K
USED
M. B. Ibáñez
8K
8K
USED
16K
16K
USED
5K
USED
16K
16K
USED
USED
24K
24K
USED
M. B. Ibáñez
1
De particiones fijas
a Paginación
0K
0K
5K
2K
USED
8K
8K
USED
16K
16K
USED
USED
24K
24K
USED
Paginación
Frame
Number
0
1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
A.0
A.1
A.2
A.3
0
1
A.0
A.1
A.2
A.3
B.0
B.1
B.2
2
3
4
5
6
7
8
9
10
11
12
13
14
M. B. Ibáñez
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
M. B. Ibáñez
Paginación
(cont)
A.0
A.1
A.2
A.3
B.0
B.1
B.2
C.0
C.1
C.2
C.3
0
1
A.0
A.1
A.2
A.3
2
3
4
5
6
7
8
9
10
11
12
13
14
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
C.0
C.1
C.2
C.3
A.0
A.1
A.2
A.3
D.0
D.1
D.2
C.0
C.1
C.2
C.3
D.3
D.4
From Operating Systems Internals and Design Principles. W. Stalling
Tablas de páginas
0
1
• El Sistema de Operación mantiene una página por
cada proceso
2
3
4
5
6
7
8
9
10
11
12
13
14
– Contiene la localización de los frames para cada página
del proceso
– La dirección lógica de memoria consiste de:
• Número de la página
• Desplazamiento dentro de la página
A.0
A.1
A.2
A.3
D.0
D.1
D.2
C.0
C.1
C.2
C.3
D.3
D.4
0
0
0
1
2
3
1
2
3
Process A
1
2
3
7
8
9
10
Process C
0
1
2
3
4
4
5
6
11
12
13
14
Free Frame List
Process D
M. B. Ibáñez
M. B. Ibáñez
Esquema de Traducción de
Direcciones
Arquitectura para la Traducción
de Direcciones
• La dirección generada por el CPU se divide
en:
– Número de página (p) – utilizada como un
índice a la table de páginass que contiene la
dirección de base de cada página en la memoria
física.
– Desplazamiento en la página (d) – se combina
con la dirección de base para definir la
dirección física de memoria a ser enviada a la
M. B. Ibáñez
unidad de memoria.
CPU
Virtual
Address
MOV #0, <PAGE0,0>
M
M
U
Physical
Address
MOV #0, 1024
From Operating System Concepts. Silberschatz & Galvin
M. B. Ibáñez
2
Arquitectura para la Traducción
de Direcciones
Dirección Lógica
page number
page offset
p
d
m-n
n
El tamaño de una página es normalmente una potencia de 2
que varía entre 512 bytes y 16 megabytes
m
Logical address space: 2
n
Page size: 2
M. B. Ibáñez
From Operating System Concepts. Silberschatz & Galvin
Ventajas de la Paginación
• Fácil la tarea de asignación
– Mantener una lista de páginas libres y tomar la
primera de ellas
• Fácil para swap
– Todo es del mismo tamaño, normalmente del
mismo tamaño de los bloques de disco desde y
hacia donde las páginas son swapped
M. B. Ibáñez
Desventajas de la Paginación
• Fragmentación interna
– El tamaño de la página no coincide con el de la
información. Cuanto mayor es la página, peor
es.
• Espacio de las tablas
– So las páginas son pequeñas, el espacio para las
tablas es grande
M. B. Ibáñez
M. B. Ibáñez
Segmentación
Visión Lógica de la Segmentación
1
• Esquema de manejo de memoria que soporta la visión del
usuario de la memoria
• Un programa es una colección de segmentos. Un segmento
es una unidad lógica que tiene
main program,
4
1
2
3
procedure,
function,
local variables, global variables,
common block,
stack,
symbol table, arrays
From Operating System Concepts. Silberschatz & Galvin
M. B. Ibáñez
2
4
3
user space
physical memory space
M. B. Ibáñez
From Operating System Concepts. Silberschatz & Galvin
3
Arquitectura de la Segmentación
• La dirección lógica consiste de
<número del segmento, desplazamiento>
• Tab la de segmentos -Cada entrada de la tabla contiene
– base – contiene la dirección física de inicio donde los
segmentos residen en memoria
– límite – especifica la longitud del segmento.
• Segment-table base register (STBR) apunta a la localidad
de la tabla del segmento en memoria
• Segment-table length register (STLR) indica el número de
segmentos utilizados por el programa
B. Ibáñez
el número de M.
segmento
s es legal si s < STLR.
Arquitectura de la Segmentación
(Cont.)
Arquitectura de la Segmentación
(Cont.)
• Relocalización
– dinámica
– Por tabla de segmentos
• Compartir
– Compartiendo segmentos
– El mismo número de segmento
• Asignar.
– first fit/best fit
– Fragmentación externa
M. B. Ibáñez
From Operating System Concepts. Silberschatz & Galvin
Compartiendo Segmentos
• Protección. Con cada entrada en la tabla de segmentos está
asociado:
– Bit de validación (0 => segmento ilegal)
– Privilegios para read/write/execute
• Hay bits de protección asignados a los segmentos, se
comparte código a nivel de segmentos
• Dado que los segmentos varian en longitud, en localidad
de memoria, este es un problema de asignación dinámica
From Operating System Concepts. Silberschatz & Galv in
From Operating System Concepts. Silberschatz & Galvin
M. B. Ibáñez
M. B. Ibáñez
4
Descargar