Uma tabela de página invertida (IPT) é uma organização de tabela de páginas usada em sistemas operacionais para reduzir a sobrecarga de memória associada às tabelas de página tradicionais. Vamos dividir seu objetivo e funcionalidade:
Objetivo: *
Reduza o consumo de memória: O objetivo principal de uma tabela de página invertida é reduzir significativamente a quantidade de RAM necessária para armazenar a própria tabela de páginas. As tabelas de página tradicionais requerem uma entrada por página virtual, que pode ser enorme, especialmente com grandes espaços de endereço virtuais. Um IPT, por outro lado, requer apenas uma entrada por quadro de página * físico *. Este é quase sempre um número muito menor.
*
Espaço de endereço Independência: O IPT é uma tabela global, diferentemente das tabelas de páginas tradicionais, que estão associadas a cada processo.
funcionalidade: 1.
Estrutura: * A tabela de página invertida é uma matriz, indexada pelo número de quadros da página física .
* Cada entrada na tabela normalmente contém as seguintes informações:
*
ID do processo (PID): Identifica o processo que possui a página virtual mapeada para este quadro de página física.
*
Número da página virtual (VPN): Especifica o número da página virtual que é mapeado para esta página física.
*
bits de proteção: (por exemplo, leia, escreva, execute permissões) Elas determinam quais operações são permitidas na página.
*
Bit válido: Indica se a entrada é válida (ou seja, existe um mapeamento).
2.
Tradução de endereço (virtual para físico): O processo de tradução de um endereço virtual para um endereço físico é mais complexo do que nas tabelas de páginas tradicionais.
um.
Função de hash: Quando a CPU precisa traduzir um endereço virtual, aplica uma função de hash à combinação do
pid e o
vpn (do endereço virtual). Esta função de hash produz um índice.
b.
Pesquisa: O índice da função hash é usado para investigar o IPT.
c.
Manuseio de colisão: Como uma função de hash pode produzir colisões (diferentes combinações de PID/VPN estão no mesmo índice), a entrada do IPT * deve * também armazenar o PID e a VPN reais.
d.
Verificação: O sistema operacional compara o PID e a VPN na entrada do IPT com o PID do processo atual e a VPN do endereço virtual. Se eles corresponderem * e * o bit válido estiver definido, será encontrado uma correspondência e o número do quadro da página física (o índice no IPT) será usado como parte do endereço físico final.
e.
LIDADE DE ISMISTAÇÕES/PÁGINA FALHAS: * Se o PID/VPN não corresponde ou o bit válido estiver claro, ocorreu uma colisão ou a página virtual não será atualmente mapeada para um quadro físico. O sistema operacional deve usar um mecanismo de resolução de colisão (geralmente encadeando ou endereçamento aberto) para procurar a entrada correta no IPT.
* Se, após a pesquisa, a página ainda não for encontrada, ocorre uma falha na página. O sistema operacional lida com a falha da página (por exemplo, carregando a página do disco na memória).
3.
Substituição da página: Quando uma nova página precisa ser trazida para a memória e não há quadros gratuitos, um algoritmo de substituição de página (por exemplo, LRU, FIFO) é usado para selecionar uma página para despejar. A entrada do IPT para o quadro de página despejada é atualizada para marcá -la como inválida, e o mapeamento da nova página é armazenado na mesma entrada do IPT (depois que os dados da página antiga são gravados de volta ao disco, se necessário).
Vantagens das tabelas de página invertida: *
Sobrecarga de memória reduzida: É necessária significativamente menos memória para a própria tabela de páginas, especialmente para grandes espaços de endereço virtual.
*
Visualização global: É mais fácil implementar os algoritmos de substituição de páginas globais, porque todos os mapeamentos de páginas são centralizados em uma tabela.
Desvantagens das tabelas de página invertida: *
Aumento da complexidade da pesquisa: A tradução de endereços é mais complexa e demorada devido à resolução de hash e colisão.
*
TLB Miss Penalty: Um Buffer de Lokaside de Tradução (TLB) é um cache de hardware que armazena traduções recentes de endereço virtual-físico. Como as pesquisas do IPT são complexas, uma Miss TLB tem uma penalidade de desempenho muito mais alta do que com esquemas de tabela de páginas mais simples.
*
Compartilhamento difícil: O compartilhamento de páginas entre os processos pode ser mais complexo, pois é necessário gerenciar o controle de acesso nas entradas do IPT. No entanto, isso geralmente é tratado com técnicas de gerenciamento de memória mais avançadas.
Por que não universalmente usado? Embora a economia de memória seja atraente, o aumento da sobrecarga de pesquisa e as penalidades da TLB Miss tornaram historicamente os IPTs menos populares do que outros esquemas de mesa de página, especialmente em arquiteturas onde o desempenho é fundamental. No entanto, com os avanços em hardware (processadores mais rápidos, caches maiores, melhores funções de hash, projetos de TLB) e a crescente demanda por espaços de endereço virtuais muito grandes, houve um interesse renovado em estruturas do tipo IPT, às vezes em abordagens híbridas combinadas com tabelas de páginas multiníveis.
em resumo: Uma tabela de página invertida é uma técnica de gerenciamento de memória que reduz a pegada de memória da tabela de páginas, indexando -a por quadro de página física, em vez do número da página virtual. Isso tem o custo de aumento da complexidade da tradução de endereços e uma maior penalidade da TLB Miss. Embora não seja universalmente usado, pode ser benéfico em sistemas com espaços de endereço virtuais muito grandes, onde a eficiência da memória é crítica.