Overlays

  • divide o processo em partes menores
  • swap chaveia essas partes
  • antigamente o programador era obrigado a quebrar manualmente o programa em overlays
  • hoje em dia é usado memória virtual, sendo o OS responsável por gerenciar as overlays

SWAP

  • chaveamento de processos entre MP e disco
  • pode usar partições fixas ou variáveis
  • swap-out → da MP para o disco
  • swap-in → do disco para a MP

Endereçamento

  • espaço de endereçamento virtual (EEV) → todos os endereços virtuais que um processo pode gerar
  • espaço de endereçamento real → todos os endereços de um processo que a MP aceita
  • um endereço virtual é traduzido em um real (mapeamento)
  • MMU aplica técnicas de paginação e segmentação para fazer o mapeamento

Segmentação

  • blocos de tamanho arbitrário
  • EEV é dividido em segmentos virtuais

Paginação

  • blocos de tamanho fixo
  • espaço de endereçamento real é dividido em páginas
  • MP e MS (memória secundária) são dividias em blocos de tamanhos iguais
  • página é a unidade básica de transferência de dados
  • tabela de páginas → armazena as informações sobre elas
  • page frame → memória física utilizada pela página
  • MMU define o tamanho das páginas
  • pode gerar fragmentação interna

image

  • página grande → leitura eficiente, tabela menor, maior fragmentação
  • página pequena → leitura ineficiente, tabela maior, menor fragmentação
  • pode usar técnicas como bitmap e linked lists também
  • os bits de entrada para a tabela de páginas, parte indicam o index para o endereço q ele mapeia, e a outra parte é q o será concatenado com a saída (offset)
  • tabela de páginas podem ser armazenadas em: registradores, MP, CACHE da MMU
  • page table base register → endereço físico onde esta a tabela na RAM
  • page table link register → número da página

Algoritmo de substituição de páginas

  • quando há um page fault, deve-se escolher uma página para fazer swap ou ser removida
  • se a página foi alterada (bit modified) salva-se em disco, se não é sobreescrita