Falhas de página sem o Swap-File?

4

Encontrei a pergunta óbvia e também é maior irmão no ServerFault .

Mas minha pergunta é diferente: Se as falhas de página são os momentos em que o sistema operacional precisa carregar algo do arquivo SWAP, por que recebo falhas de página mesmo se eu o tiver desativado completamente?

Ou eu entendi mal o que é uma falha de página?

    
por Bobby 21.01.2011 / 14:39

2 respostas

5

Um pouco antigo, mas confira este artigo do MSDN.

Descreve os dois tipos de falhas de página.

Falhas graves são o que você está pensando - são onde os dados não estão na RAM e precisam ser extraídos do arquivo de troca. Eles prejudicam o desempenho (sendo 10 000 vezes mais lento do que o acesso à RAM para discos rígidos mecânicos).

Softfaces , no entanto, são acionados por páginas que o programa solicita para ser zero (demanda zero páginas), quando uma página é gravada pela primeira vez (se era uma cópia em gravação) página) ou se a página já está na memória em outro lugar (geralmente quando compartilhada entre múltiplos processos). Estes não são tão ruins para o desempenho.

Assim, você pode esperar receber falhas de página soft , mesmo sem um arquivo de paginação.

    
por 21.01.2011 / 15:03
6

O ponto que você está perdendo é que uma falha de página não envolve necessariamente um arquivo de troca. Você também pode mapear arquivos arbitrários; isto é, diga ao SO para retornar uma região de memória com (uma parte de) um determinado arquivo. Isso significa que quando o programa acessa uma página de memória naquela região que ainda não foi carregada, ela é lida da posição correspondente no arquivo; e quando uma página de memória é escrita (assumindo que a região é gravável), os dados são eventualmente gravados de volta no arquivo original, e não na troca.

Nos sistemas operacionais modernos, essa técnica é usada para carregar código executável (de executáveis e bibliotecas), portanto, você deve esperar que falhas de leitura ocorram mesmo sem nenhum arquivo de troca.

    
por 21.01.2011 / 16:07