Go backward to Desenho de VM em Solaris
Go up to VM em Solaris
Go forward to O HAT
Abstrações Fundamentais de VM
O sistema usa page, página, as, espaço de
endereçamento, seg, segmento, hat, tradução de
endereços em hardware, e anon, páginas anónimas.
- Memória física: cada página pertence a um nó-v. Cada pág. inclui
informação sobre o nó-v, o seu offset, ptr. para hash chain, ptr
para lista de pág do nó-v, ptrs. para lista livre ou lista de pág a
serem escritas, núm de processos a usarem a pág, sinc. e flags, e
campos para HAT.
- O espaço de endereçamento consiste numa lista ligada de
mapeamentos para o processo (cada um deles um seg), uma pista para o
último segmento que teve falha, flags, e o hat.
- as inclui operaçoes de alocaçao, remoção e duplicação
para todo o espaço.
- Também inclui operações de mapeamento, proteção, e fault
handlers para páginas.
- Cada segmento representa um mapeamento entre um objecto e uma
região de endereçamento. Cada segmento inclui campos independentes
do tipo (base, tamanho, ptr para as), um ptr para seg_ops,
incluindo duplicação, fault e faulta,
setprot e checkprot, unmap,
swapout, sync, uma rotina create.
- Páginas anónimas não têm armazenamento permanente. São criadas
quando se modifica uma pág com proteção MAP_PRIVATE, e são
armazenadas em swap.
- anon exporta dup, free,
private (cópia privada), zero e getpage.
- Existe também um objecto anónimo no sistema, representado
pelo nó-v NULL. Páginas desse objecto são páginas anónimas.
vitor@cos.ufrj.br