Sistemas Operacionais
O que se entende por paginação?
Técnica de gerencia de memória onde o espaço de endereçamento real é dividido em blocos do mesmo tamanho, subdivisão da memória física em pequenas partições (frames), para permitir uma utilização mais eficiente da mesma. O programa pode ser alocado na memória principal em partes diferentes da memória, o começo do programa pode ficar no começo no meio ou no fim da memória principal, e assim em diante. Cada página contém um trecho do processo e, a medida que cada trecho precisa ser executado, ele é carregado na memória.
Por questões de desempenho, normalmente mais de uma página do processo está presente na memória.
O processo é dividido em páginas quando é alocado para a memória física e é dividida em páginas com tamanho fixo, com o mesmo tamanho do processo, fazendo assim que o programa seja carregado página por página e não precisam ser contíguas, pois o sistema sabe onde estão todas as páginas do processo alocado.
Paginação por demanda é quando as paginas dos processos são transferidas da memória secundaria para memória principal apenas quando são referenciadas.
Paginação antecipada é o carregamento de páginas na memória antecipadamente, sendo que o sistema tenta prever as páginas que serão necessárias à execução do programa.
2. Mapeamento e endereços físicos
Assim que a instrução é alocada para a memória principal, é necessário que os dados tenham um endereçamento real, é necessária uma forma que transforme os endereços virtuais em endereços físicos. É o que chamamos de mapeamento, permite traduzir um endereço localizado em um espaço virtual para um associado espaço real, lembrando que não precisa estar em endereços contíguos na memória principal para serem executados. Figura 1.0 Mapeamento
Conforme Essa tradução (o mapeamento), é feito por hardware junto com o sistema operacional, para que não comprometa o seu desempenho. O dispositivo que faz essa tradução é conhecido como MMU - Memory Management