Nos sistemas operacionais, a paginação é um mecanismo de armazenamento usado para recuperar processos do armazenamento secundário para a memória principal na forma de páginas.
A ideia principal da paginação é dividir cada processo na forma de páginas. A memória principal também será dividida em forma de frames.
ator ekta kapoor
Uma página do processo deve ser armazenada em um dos quadros da memória. As páginas podem ser armazenadas em diferentes locais da memória mas a prioridade é sempre encontrar as molduras ou furos contíguos.
As páginas do processo são trazidas para a memória principal somente quando são necessárias, caso contrário, residem no armazenamento secundário.
Diferentes sistemas operacionais definem diferentes tamanhos de quadros. Os tamanhos de cada quadro devem ser iguais. Considerando o fato de que as páginas são mapeadas para os frames na Paging, o tamanho da página precisa ser igual ao tamanho do frame.
Exemplo
Vamos considerar o tamanho da memória principal de 16 Kb e o tamanho do quadro é de 1 KB, portanto a memória principal será dividida na coleção de 16 quadros de 1 KB cada.
Existem 4 processos no sistema que são P1, P2, P3 e P4 de 4 KB cada. Cada processo é dividido em páginas de 1 KB cada para que uma página possa ser armazenada em um quadro.
java se mais
Inicialmente, todos os frames estão vazios, portanto as páginas dos processos serão armazenadas de forma contígua.
Quadros, páginas e o mapeamento entre os dois são mostrados na imagem abaixo.
bytes para string python
Consideremos que P2 e P4 passam para o estado de espera após algum tempo. Agora, 8 frames ficam vazios e portanto outras páginas podem ser carregadas nesse local vazio. O processo P5 de tamanho 8 KB (8 páginas) está aguardando dentro da fila de prontos.
Dado que temos 8 frames não contíguos disponíveis na memória e a paginação proporciona a flexibilidade de armazenar o processo nos diferentes locais. Portanto, podemos carregar as páginas do processo P5 no lugar de P2 e P4.
Unidade de gerenciamento de memória
O objetivo da Unidade de Gerenciamento de Memória (MMU) é converter o endereço lógico em endereço físico. O endereço lógico é o endereço gerado pela CPU para cada página, enquanto o endereço físico é o endereço real do quadro onde cada página será armazenada.
Quando uma página deve ser acessada pela CPU usando o endereço lógico, o sistema operacional precisa obter o endereço físico para acessar fisicamente essa página.
O endereço lógico tem duas partes.
- Número de página
- Desvio
A unidade de gerenciamento de memória do sistema operacional precisa converter o número da página em número do quadro.
Exemplo
classificação de bolha java
Considerando a imagem acima, digamos que a CPU exija a 10ª palavra da 4ª página do processo P3. Como a página número 4 do processo P1 é armazenada no quadro número 9, a 10ª palavra do 9º quadro será retornada como endereço físico.