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.