♡ Memoria Fisica,
Lógica: Cache e Memória Principal são preenchidas sequencialmente, cada índice representando um endereço físico real.
Memória Secundária é preenchida com valores aleatórios, simulando um disco.
Na paginação, o código calcula o endereço físico usando:
► Frame físico × tamanho da página (8) + offset
Na segmentação, o endereço físico é:
► Base do segmento + offset
Sempre que acessa um endereço virtual, o programa consulta a Tabela de Páginas (ou Segmentos) para descobrir onde está na memória física.
Simulação de uma memoria virtual
♡ "Mas afinal oq muda do modo Segmento e Paginação na memoria virtual quando selecionados?""
Em pag : Usa tabelaPaginas[] -- Cada página tem tamanho fixo (8 bytes) --O endereço físico depende do frameLógica : Endereço Virtual → (Página, Offset) -- -- Página → Tabela de Páginas → Frame -- Frame * 8 + Offset = Endereço Físico
3. Ou seja ele pega o endereço virtual transforma em Paginacao com o tamanho dentro do bloco e a pagina é a tabela de frames que tem, o frame por ex que era 0 se torna 8 e o off set eh a sua posição dentro da pagina
EM SEGMENTO : Base → onde começa na memória física Tamanho → quantos endereços ele pode usar
Exemplo: Segmento 1 Base = 100 Tamanho = 20 Endereço Virtual: 0x010 → Segmento 1, Offset 0
OU SEJA : Divide a memória em partes lógicas (segmentos). Cada segmento tem um início (base) e um tamanho.