Como converter um endereço lógico para um endereço físico na paginação
Q: Como converter um endereço lógico para um endereço físico na paginação?
O endereço lógico é o endereço usado por um programa no acesso aos dados com os quais ele está trabalhando. Para acesso à RAM, o sistema operacional terá um mapa conectando endereços lógicos ao real do endereço físico onde os dados atualmente residem na RAM. Se os dados não forem acessados por algum tempo, eles poderão ser gravados em um arquivo na unidade de disco (o arquivo de página), e posteriormente restaurados quando esses dados forem necessários novamente. Embora o programa ainda veja os dados no mesmo endereço lógico, o sistema operacional pode ter restaurado os dados para uma localização física diferente na RAM.
Quando os dados estão no arquivo de página, ele não terá um endereço físico na RAM, mas terá um endereço no arquivo de página. O sistema operacional mantém registro de tudo isso.
Se o seu computador tem uma SSD para seu armazenamento principal, pode haver outro nível de mapeamento de endereço lógico para físico. O sistema operacional usará o LBA (Logical Block Address) para acessar a SSD, mas a SSD também pode ter sua própria tabela de mapeamento, de modo que o endereço físico na matriz de armazenamento dentro da SSD seja conhecido apenas pela SSD. Isso é feito tanto para o desempenho quanto para uniformizar o número de escritas em toda a matriz de armazenamento, pois os SSDs podem suportar apenas um certo número de escritas em cada endereço físico antes que o local se torne não confiável.
Geralmente, não há como uma pessoa normal encontrar o mapeamento de um endereço lógico para um endereço físico. Um especialista com as ferramentas corretas pode ser capaz de resolver este problema se ele puder interrogar o kernel do sistema operacional enquanto ele ainda está em execução. O mesmo é verdade com o SSD, e provavelmente o fabricante da unidade seria a única pessoa que pode encontrar o mapeamento de LBA para PBA em um SSD.