Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• Memoria virtual.
1. Conceptos
Valid
Physical
Data Memory
Physical
Address
Data
… Conceptos
• Compartir memoria
• Dispersión de direcciones
Virtual Base
Memory Base
Virtual Virtual Physical
Address Address Address
Processor Processor
Base+
Bound
Bound
Raise
Exception
Observaciones
…. …..
…… ….
Code P1’s+
P2`s
Processor Processor Code
Virtual
Segment Table P2`s
Address
Data Seg. Offset Base Bound Access Stack
0x0500
0 500 Code Read
Stack
Copy on Write
• Un fork en UNIX copia completamente un proceso.
Data 0
Vpage 0 Heap 1
Vpage 1 Code Code 1
Heap 0
Data 1
Data
Heap Heap 2
Stack 0
Vpage N Stack
frame M
Observaciones
• El espacio virtual es lineal, pero físicamente está
repartido en la memoria. Por ejemplo, dos instrucciones
consecutivas físicamente pueden estar en regiones
diferentes, lo mismo ocurre con estructuras de datos.
Physical Frame 0
Frame 1
Address
Virtual Frame Offset
Address VPage 0 Processor
Code
VPage 1 Virtual Page Table
Processor Address Frame Access
Data
Page # Offset
Heap
Virtual Virtual
Address Address
Physical
Address
Frame Offset
Frame M
Memoria Física
Visión del Proceso
!
A" ! Ejercicio
B" !
C" Páginas de tamaño 4B.
Tabla de Página I!
D"
J!
E" 4" K! Determine la estructura de
F" 3" L! la dirección virtual.
G" !
1"
H" ! Construya la T. de P.
I" !
J" E!
K" F!
¿Cuál es la dirección virtual
L" G! de C?
H!
A! ¿Cuál es la dirección física
B! de C?
C!
D!
Paginación y partida rápida
de programas
• ¿Es posible comenzar a correr un programa antes
que su código esté en memoria?
‣ Marcar todas las páginas de la tabla como inválidas
‣ Cuando la página es referenciada la primera vez:
- Trap al kernel
- El kernel carga la página
- Se reasume la ejecución
‣ El resto de las páginas se cargan en background mientras el
programa está corriendo.
Core Map
• Con paginación resulta fácil compartir memoria entre
varios procesos. Sólo se requiere que las tablas de
páginas apunten a los mismos frames.
Implementation Physical
Memory
Processor
Virtual
Address
Segment Page Offset
Exception
Segment Table
Page Table Size Access
Read
R/W
R/W
Page Table
R/W
Frame Access
Read Physical
Read Address
Frame Offset
Paginación Multi-nivel
• Un esquema similar a la segmentación paginada
es utilizar niveles múltiples de paginación.
Processor
Virtual
Address
Index 1 Index 2 Index 3 Offset
Physical
Address
Level 1
Frame Offset
Level 2
Level 3
Segmentación paginada
multinivel
Virtual Virtual
Address Address
Raise
Processor TLB Miss Page Invalid
Exception
Table
Hit
Valid
Frame Frame
Offset Physical
Memory
Physical
Address
Data
Data
Implementation Physical
Memory
Virtual
Address
Page# Offset
Virtual Page
Page Frame Access Physical
Address
Matching Entry Frame Offset
Page Table
Lookup
TLB: Costo de conversión
T AE = ⌘(2 ⌧) + "