Recomendado, 2024

Escolha Do Editor

Diferença entre Paginação e Segmentação no SO

O gerenciamento de memória no sistema operacional é uma funcionalidade essencial, que permite a alocação de memória para os processos de execução e desaloca a memória quando o processo não é mais necessário. Neste artigo, discutiremos dois esquemas de gerenciamento de memória, paginação e segmentação. A diferença básica entre paginação e segmentação é que “página” é um bloco de tamanho fixo, enquanto um “segmento” é um bloco de tamanho variável.

Discutiremos mais algumas diferenças entre Paginação e Segmentação com a ajuda do gráfico de comparação mostrado abaixo.

Gráfico de comparação

Base para ComparaçãoPaginaçãoSegmentação
BasicUma página é de tamanho de bloco fixo.Um segmento é de tamanho variável.
FragmentaçãoPaginação pode levar a fragmentação interna.A segmentação pode levar à fragmentação externa.
EndereçoO endereço especificado pelo usuário é dividido pela CPU em um número de página e deslocamento.O usuário especifica cada endereço por duas quantidades, um número de segmento e o deslocamento (limite de segmento).
TamanhoO hardware decide o tamanho da página.O tamanho do segmento é especificado pelo usuário.
MesaPaginação envolve uma tabela de páginas que contém o endereço base de cada página.A segmentação envolve a tabela de segmentos que contém o número do segmento e o deslocamento (comprimento do segmento).

Definição de Paging

Paginação é um esquema de gerenciamento de memória . A paginação permite que um processo seja armazenado em uma memória de maneira não contígua . Armazenar o processo de maneira não contígua resolve o problema da fragmentação externa .

Para implementar a paginação, os espaços de memória física e lógica são divididos nos mesmos blocos de tamanho fixo. Esses blocos de memória física de tamanho fixo são chamados de quadros e os blocos de memória lógica de tamanho fixo são chamados de páginas .

Quando um processo precisa ser executado, as páginas do processo do espaço da memória lógica são carregadas nos quadros do espaço de endereço da memória física. Agora, o endereço gerado pela CPU para acessar o quadro é dividido em duas partes, ou seja , o número da página e o deslocamento da página .

A tabela de páginas usa o número da página como um índice; Cada processo tem sua tabela de páginas separada que mapeia o endereço lógico para o endereço físico. A tabela de páginas contém o endereço base da página armazenada no quadro do espaço da memória física. O endereço base definido pela tabela de páginas é combinado com o deslocamento da página para definir o número do quadro na memória física em que a página é armazenada.

Definição de Segmentação

Como o Paging, a segmentação também é um esquema de gerenciamento de memória . Ele suporta a visão do usuário da memória. O processo é dividido em segmentos de tamanho variável e carregado no espaço de endereço da memória lógica.

O espaço de endereço lógico é a coleção de segmentos de tamanho variável. Cada segmento tem seu nome e tamanho . Para a execução, os segmentos do espaço da memória lógica são carregados no espaço da memória física.

O endereço especificado pelo usuário contém duas quantidades, o nome do segmento e o deslocamento . Os segmentos são numerados e referenciados pelo número do segmento em vez do nome do segmento. Esse número de segmento é usado como um índice na tabela de segmentos, e o valor de deslocamento decide o tamanho ou o limite do segmento. O número do segmento e o deslocamento juntos geram o endereço do segmento no espaço da memória física.

Principais diferenças entre paginação e segmentação

  1. A diferença básica entre paginação e segmentação é que uma página é sempre de tamanho de bloco fixo, enquanto um segmento é de tamanho variável .
  2. A paginação pode levar à fragmentação interna, pois a página é de tamanho de bloco fixo, mas pode acontecer que o processo não adquira todo o tamanho de bloco que irá gerar o fragmento interno na memória. A segmentação pode levar à fragmentação externa, pois a memória é preenchida com blocos de tamanho variável.
  3. Na paginação, o usuário fornece apenas um único inteiro como o endereço que é dividido pelo hardware em um número de página e Offset . Por outro lado, na segmentação, o usuário especifica o endereço em duas grandezas, isto é , número de segmento e deslocamento .
  4. O tamanho da página é decidido ou especificado pelo hardware . Por outro lado, o tamanho do segmento é especificado pelo usuário .
  5. Na paginação, a tabela de páginas mapeia o endereço lógico para o endereço físico e contém o endereço base de cada página armazenada nos quadros do espaço da memória física. No entanto, na segmentação, a tabela de segmentos mapeia o endereço lógico para o endereço físico e contém o número do segmento e o deslocamento (limite do segmento).

Conclusão:

Paginação e segmentação são os esquemas de gerenciamento de memória . A paginação permite que a memória seja dividida em blocos de tamanho fixo, enquanto a segmentação divide o espaço da memória em segmentos do tamanho do bloco da variável . Onde o paging leva à fragmentação interna, a segmentação leva à fragmentação externa .

Top