Paging vs Segmentation
Paginação é um método de gerenciamento de memória usado por sistemas operacionais. O paging permite que a memória principal use dados que residem em um dispositivo de armazenamento secundário. Esses dados são armazenados no dispositivo de armazenamento secundário como blocos do mesmo tamanho chamados páginas. O paging permite que o sistema operacional use dados que não cabem na memória principal. A segmentação de memória é um método que fornece proteção de memória. Cada segmento de memória está associado a um comprimento específico e a um conjunto de permissões. Quando um processo tenta acessar a memória, ele primeiro é verificado para ver se possui a permissão necessária para acessar o segmento de memória específico.
O que é paginação?
Paginação é um método de gerenciamento de memória usado por sistemas operacionais. O paging permite que a memória principal use dados que residem em um dispositivo de armazenamento secundário. Esses dados são armazenados no dispositivo de armazenamento secundário como blocos do mesmo tamanho chamados páginas. O paging permite que o sistema operacional use dados que não cabem na memória principal. Quando um programa tenta acessar uma página, primeiro a tabela de páginas é verificada para ver se essa página está na memória principal. A tabela de páginas contém detalhes sobre onde as páginas são armazenadas. Se não estiver na memória principal, é chamado de falha de página. O sistema operacional é responsável por lidar com as falhas de página sem mostrá-las ao programa. O sistema operacional primeiro descobre onde aquela página específica está armazenada no armazenamento secundário e, em seguida, a traz para um quadro de página vazio na memória principal. Em seguida, ele atualiza a tabela da página para indicar que os novos dados estão na memória principal e retorna o controle ao programa que solicitou inicialmente a página.
O que é segmentação?
A segmentação de memória é um método que fornece proteção de memória. Cada segmento de memória está associado a um comprimento específico e a um conjunto de permissões. Quando um processo tenta acessar a memória, ele primeiro é verificado para ver se tem a permissão necessária para acessar o segmento de memória específico e se está dentro do comprimento especificado por esse segmento de memória específico. Se uma dessas condições não for satisfeita, uma exceção de hardware será gerada. Além disso, um segmento também pode ter uma bandeira indicando se o segmento está na memória principal ou não. Se o segmento não residir na memória principal, uma exceção será levantada e o sistema operacional trará o segmento da memória secundária para a memória principal.
Qual é a diferença entre Paging e Segmentation?
Na paginação, a memória é dividida em segmentos de tamanhos iguais chamados páginas, enquanto os segmentos de memória podem variar em tamanho (é por isso que cada segmento está associado a um atributo de comprimento). Os tamanhos dos segmentos são determinados de acordo com o espaço de endereço exigido por um processo, enquanto o espaço de endereço de um processo é dividido em páginas de igual tamanho na paginação. A segmentação fornece segurança associada aos segmentos, enquanto a paginação não fornece esse mecanismo.