Please enable JavaScript.
Coggle requires JavaScript to display documents.
Paginação em Disco - Coggle Diagram
Paginação em Disco
Estender a memória RAM consiste em transferir partes ociosas da memória para um disco, liberando a memória RAM para outros usos.
Exemplos de técnicas:
Swapping: consiste em mover um processo ocioso da memória RAM para um disco, realizando movimentos de swap-out e swap-in.
Paging: consiste em mover páginas individuais, conjuntos de páginas ou mesmo segmentos da memória para o disco, realizando movimentos de page-out e page-in.
Overlays: o programador organiza seu programa em módulos que são carregados em uma mesma região de memória em momentos distintos.
Paginação em disco
Consiste em transferir paginas que não estão sendo utilizadas na memoria RAM para uma área em disco (liberando memoria para outras paginas)
Critérios de seleção : vários critérios podem ser escolhidos para as paginas dentre eles podem ser : Idade da página, frequência de acessos à página, data do último acesso, Prioridade do processo proprietário, Conteúdo da página, Páginas especiais
Eficiência : Faltas de paginas constante irão gerar acessos frequentes ao disco, que aumenta o tempo médio de acesso da memoria (pois o tempo para acessar disco comparado com a RAM é muito maior), isso afeta o desempenho do sistema.
Mecanismo básico : As paginas que são escolhidas são retiradas pelo núcleo, conforme o algoritmo de substituição, quando algo tenta acessar essa pagina (que está em disco), o núcleo é alertado pela MMU e essa pagina é trazida de volta a memoria.
Algoritmos clássicos
Algoritmo Ótimo segue a ideia de que a melhor página a remover da memória em um dado instante é aquela que ficará mais tempo sem ser usada pelos processos. Este algoritmo não é implementável, mas define um limite mínimo conceitual.
Algoritmo FIFO consiste em organizar as páginas em uma fila de números de páginas com política FIFO (First In, First Out). Na prática este algoritmo não oferece bons resultados.
Algoritmo LRU aproximação implementável do algoritmo ótimo: a escolha recai sobre as páginas que estão na memória há mais tempo sem ser acessadas. Assim, páginas antigas e menos usadas são as escolhas preferenciais.
-
Cadeia de referências é uma ferramenta que indica a sequência de página acessadas por um processo ao longo de sua execução, considerando todos os endereços acessados pelo processo nas várias áreas de memória.
-
Conjunto de trabalho O conjunto de páginas acessadas na história recente de um processo é chamado
Conjunto de Trabalho
WSClock algoritmo que consiste em verificar que páginas cada processo acessou recentemente, usando a informação dos respectivos bits de referência.
anomalia de Belady
é esperado que quanto mais memoria física disponível, menos faltas de pagina ocorra, mas as vezes não bem assim que acontece
-
Thrashing caso a soma de todos os conjuntos de trabalho dos processos prontos para execução
seja maior que a memória RAM disponível no sistema, poderá ocorrer um fenômeno
conhecido como thrashing
A memória RAM não é suficiente para todos os processos ativos, portanto muitos processos não conseguem ter seus conjuntos de trabalho totalmente carregados na memória. Para evitá-lo: pode-se aumentar a quantidade de memória RAM do sistema, limitar a quantidade máxima de processos ativos, ou mudar a política de escalonamento dos processos durante o thrashing, evitando uma competição pela memória disponível.