Um pager move ou copia uma página ao manipular uma falha de página?

2

Quando um processo acessa uma página que não está na memória principal, mas no espaço de troca, ocorre uma falha de página e o pager lê uma página do espaço de troca para a memória principal.

A leitura é uma jogada ou cópia? Em outras palavras, existe ainda uma cópia da página no espaço de troca?

Se é uma cópia, significa que o pager precisa atualizar a cópia no espaço de troca sempre que houver uma mudança na cópia da página no espaço principal?

Obrigado.

Operating System Concepts diz:

  1. We find a free frame (by taking one from the free-frame list, for example).

  2. We schedule a disk operation to read the desired page into the newly allocated frame.

e esta figura também mostra que cópias de algumas páginas (A, C e F) estão no espaço de troca e na memória principal, e nenhuma página existe apenas na memória principal, mas não no espaço de troca:

    
por Tim 10.10.2018 / 20:07

1 resposta

4

Copia a página. Dessa forma, a página precisa ser descartada (ou seja, o sistema precisa liberar memória para outras páginas) e a página não foi modificada, não precisa ser reescrita novamente para trocar antes de descartá-la.

Conceitualmente, é bom pensar na página sendo movida para frente e para trás, apenas reconheça que o kernel está fazendo coisas como armazenar em cache nos bastidores para minimizar a quantidade de E / S de disco real sendo feita.

    
por 10.10.2018 / 21:13