Paginação vs Segmentação: Principais diferenças

Índice:

Anonim

O que é paginação?

Paging é um mecanismo de armazenamento que permite ao SO recuperar processos do armazenamento secundário para a memória principal na forma de páginas. No método Paging, a memória principal é dividida em pequenos blocos de endereço físico de tamanho fixo, que são chamados de quadros.

O tamanho de um quadro deve ser mantido igual ao de uma página para ter o máximo aproveitamento da memória principal e evitar fragmentação externa. A paginação é usada para acesso mais rápido aos dados e é um conceito lógico.

Neste tutorial, você aprenderá

  • O que é paginação?
  • O que é segmentação?
  • Paginação vs. Segmentação
  • Vantagens do Paging
  • Vantagem de segmentação
  • Desvantagens do Paging
  • Desvantagens da segmentação

O que é segmentação?

O método de segmentação funciona quase de forma semelhante à paginação, a única diferença entre os dois é que os segmentos são de comprimento variável, enquanto no método de paginação as páginas são sempre de tamanho fixo.

Um segmento de programa inclui a função principal do programa, estruturas de dados, funções utilitárias, etc. O SO mantém uma tabela de mapa de segmento para todos os processos. Ele também inclui uma lista de blocos de memória livres junto com seu tamanho, números de segmento e seus locais de memória na memória principal ou memória virtual.

PRINCIPAIS DIFERENÇAS:

  • Uma página tem tamanho de bloco fixo, enquanto um segmento tem tamanho variável.
  • No Paging, o hardware decide o tamanho da página enquanto o tamanho do segmento é especificado pelo usuário.
  • A técnica de paginação é mais rápida para acesso à memória, mas a segmentação é mais lenta do que o método de paginação.
  • Na paginação, o usuário fornece apenas um único inteiro como o endereço, enquanto na segmentação, há a disponibilidade de muitos espaços de endereço independentes
  • A tabela de páginas armazena os dados da página, enquanto a tabela de segmentação armazena os dados de segmentação.

Diferença entre Paging e Segmentação

Aqui estão as diferenças entre os métodos de paginação e segmentação:

Paging Segmentação
Uma página tem um tamanho de bloco fixo. Um segmento é de tamanho variável.
Isso pode levar à fragmentação interna. Isso pode levar à fragmentação externa.
No Paging, o hardware decide o tamanho da página. O tamanho do segmento é especificado pelo usuário.
Um espaço de endereço de processo é dividido em blocos de tamanho fixo, chamados de páginas. Um espaço de endereço de processo é dividido em blocos de tamanhos diferentes chamados seções.
A técnica de paginação é mais rápida para acesso à memória. A segmentação é mais lenta do que o método de paginação.
A tabela da página armazena os dados da página A tabela de segmentação armazena os dados de segmentação.
O paging não facilita o compartilhamento de procedimentos. A segmentação permite o compartilhamento de procedimentos.
O paging não consegue distinguir e proteger procedimentos e dados separadamente. A segmentação pode separar procedimentos e dados seguros.
O espaço de endereço de paginação é unidimensional Na segmentação, há a disponibilidade de muitos espaços de endereçamento independentes
Na paginação, o usuário fornece apenas um único inteiro como endereço, que é dividido pelo hardware em um número de página e deslocamento. No método de segmentação, o usuário especifica o endereço em duas quantidades 1) número do segmento 2) deslocamento.

Vantagens do Paging

Aqui, estão os prós / benefícios de usar o método Paging

  • No nível do programador, a paginação é uma função transparente e não requer intervenção.
  • Os quadros não precisam ser contíguos.
  • Algoritmo de gerenciamento de memória fácil de usar
  • A troca é fácil entre páginas de tamanhos iguais e quadros de página.

Vantagem de segmentação

Aqui, estão os prós / benefícios da segmentação:

  • Simples de realocar segmentos do que todo o espaço de endereço.
  • A ausência de fragmentação interna como fragmentação externa tem que ser feita.
  • A tabela de segmento é de tamanho menor em comparação com a tabela de página na paginação.
  • O tamanho médio do segmento é maior do que o tamanho real da página
  • Oferece proteção dentro do segmento
  • Não oferece fragmentação interna
  • Tabelas de segmento usam menos memória do que paginação
  • Por oferecer a pequena tabela de segmentos, a referência à memória é simples, o que se presta ao compartilhamento de dados entre processos.

Desvantagens do Paging

Aqui estão os contras / desvantagens do Paging:

  • A paginação causa fragmentação interna em sistemas mais antigos.
  • Tempos de pesquisa de memória mais longos em comparação com a segmentação
  • Pode causar fragmentação interna
  • Algoritmo de gerenciamento de memória complexo
  • As tabelas de páginas consomem memória adicional.
  • A paginação de vários níveis pode causar sobrecarga de referência de memória.

Desvantagens da segmentação

Aqui estão os contras / desvantagens da segmentação:

  • O tamanho desigual dos segmentos não é bom no caso de troca.
  • Portar o Linux para diferentes arquiteturas é difícil de processar porque oferece suporte muito limitado para segmentação.
  • Exige intervenção do programador.
  • É difícil alocar memória contagiosa para particionar, pois é de tamanho variável.
  • Este é um algoritmo de gerenciamento de memória caro.