Alternativas
os programas possuírem um cabeçalho no arquivo binário, indicando ao sistema operacional quais
os dados são de uso somente para leitura, para que o sistema operacional os aloque no disco.
Compiladores modernos geram automaticamente essas informações na tabela de símbolos.
o sistema operacional detectar se um processo é CPU bound ou IO bound. Se for IO bound, então
ele não irá usar a CPU e todos os seus dados ficam no disco enquanto ele faz IO. Quando o processo
voltar a executar ciclos de CPU, sua execução será lenta, porque estará usando o disco e não a
memória. Se o Sistema Operacional acertou ao classificar o processo como IO bound, essa execução
lenta será mínima e sem grandes impactos de desempenho final. Se, porém, o Sistema Operacional
errou e o processo é CPU bound, haverá uma grande perda de desempenho. Nesse caso, pode
haver uma troca de páginas do disco para a memória, se houver memória disponível.
acrescentar alguns bits mais significativos do endereçamento lógico gerado pelos programas para
indexar uma tabela de páginas. Os demais bits que sobram são usados para deslocamento dentro
da página. Existem mais páginas do que realmente a memória suporta e toda vez que um programa
usar um endereço fora do espaço endereçável fisicamente, ou seja, páginas que não existem, a
tabela de páginas terá uma referência à localização dela no disco, possibilitando que o hardware a
encontre e entregue ao processo que solicitou.
atuar em conjunto com o mecanismo de escalonamento. Cada processo em execução não pode
alocar mais memória do que realmente existe, mas a soma de todos os processos pode ultrapassar
o tamanho físico da memória. O sistema operacional simplesmente mantém na memória o processo
que está atualmente em execução pela CPU. Quando este perder a sua vez, pelo mecanismo de
escalonamento, o sistema operacional move todas as suas páginas para o disco e traz do disco
para a memória as páginas do próximo processo que iniciará sua fatia de tempo. Se houver espaço
sobrando na memória, o Sistema Operacional procura manter todos os processos em memória.
Senão um mecanismo RLU pode ser usado para escolher quais ficam.
enganar os processos, que nada sabem sobre o sistema de memória em execução. O próprio
Sistema Operacional decide que algumas páginas de um determinado processo ficarão em memória
e outras no disco. Se uma página que estiver no disco é requisitada pelo processo, o sistema
operacional intervém movendo-a do disco para a memória. Caso a memória esteja cheia, alguma
outra página que esteja em memória será enviada para o disco.