Tudo sobre Paginação e Segmentação

Tudo sobre Paginação e Segmentação

Olá Pessoal…

Hoje irei falar sobre alguns conceitos muito utilizados e empregados em processos de Sistemas Operacionais, a Paginação, a Segmentação e a Paginação com Segmentação


$> Paginação:
A paginação permite que o programa possa ser espalhado por áreas não contíguas de memória. Com isso, o espaço de endereçamento lógico de um processo é dividido em páginas lógicas de tamanho fixo e a memória física é dividida em páginas com tamanho fixo, com tamanho igual ao da página lógica. Nisso, o programa é carregado página a página, cada página lógica ocupa uma página física e as páginas físicas não são necessariamente contíguas. O endereço lógico é inicialmente dividido em duas partes : um número de página lógica (usado como índice no acesso a tabela de páginas, de forma a obter o número da página física correspondente) e um deslocamento dentro da página. Não existe fragmentação externa, porém existe fragmentação interna (Ex: um programa que ocupe 201kb, o tamanho de página é de 4 kb, serão alocadas 51 páginas resultando uma fragmentação interna de 3kb). Além da localização a tabela de páginas armazena também o bit de validade, (1 ou TRUE) se a página está na memória (0 ou FALSE) se a página não está na memória. E a transferência das páginas de processo podem ser transferidas para a memória por demanda, levando apenas o que é necessário para a execução do programa ou por paginação antecipada, onde o sistema tenta prever as páginas que serão necessárias à execução do programa. Abaixo um exemplo de páginas constantemente referenciadas:

Modelo de Paginação
Modelo de Paginação

$> Segmentação:
Técnica de gerência de memória onde programas são divididos em segmentos de tamanhos variados cada um com seu próprio espaço de endereçamento. A principal diferença entre a paginação e a segmentação é a alocação da memória de maneira não fixa, a alocação depende da lógica do programa. O mapeamento é feito através das tabelas de mapeamento de segmentos e os endereços são compostos pelo número do segmento e um deslocamento dentro do segmento. Cada entrada na tabela mantém o endereço físico do segmento, o tamanho do segmento, se ele está ou não na memória e sua proteção. Para isso ocorrer sem problemas, o sistema operacional mantém uma tabela com as áreas livres e ocupadas da memória e somente segmentos referenciados são transferidos para a memória principal. Nesse modelo diferentemente da Paginação, ocorre fragmentação externa. Abaixo um exemplo de Segmentação:

Modelo de Segmentação
Modelo de Segmentação

$> Paginação com Segmentação:
Se os segmentos são grandes, não dá para mantê-los na memória em sua totalidade. Gerando a ideia de paginar os segmentos só deixando na memória as páginas realmente necessárias a cada segmento. Um exemplo de SO que usa esse conceito é o MULTICS que foi o primeiro sistema com suporte a segmentos paginados. E como funciona? Simples, cada segmento é dividido fisicamente em páginas e o endereço é formado pelo número do segmento, número da página dentro desse segmento e o deslocamento dentro dessa página. Abaixo um exemplo de funcionamento de Paginação com Segmentação no MULTICS:

Modelo de Paginação com Segmentação
Modelo de Paginação com Segmentação

Bom pessoal, por hoje é só.
Abraços e até a próxima.

About Dan_Atilio

Analista e desenvolvedor de sistemas. Técnico em Informática pelo CTI da Unesp. Graduado em Banco de Dados pela Fatec Bauru. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor do projeto Terminal de Informação, onde são postados tutoriais e notícias envolvendo o mundo da tecnologia.

11 thoughts on “Tudo sobre Paginação e Segmentação

    1. Boa noite Kiko, tudo bem?
      O que dificultou sua compreensão? Por favor, me diga o que mais sentiu dificuldade, para que eu possa melhorar nas postagens, e para que eu possa exemplificar de uma forma clara para você.
      Muito obrigado.
      Um grande abraço.

    2. Pelo contrário, o assunto foi abordado até de forma didática. a questão é que vc precisa de bagagem para entender este assunto 😉

  1. Muito obrigado por compartilhar parte do conhecimento.
    Sugiro apenas que, se possível, deixe referência da fonte.

    Mais uma vez, muito obrigado.

  2. Opa, tudo certo?
    Muito bom seu post, deu para entender as diferenças bem facilmente. Estava tentando achar material sobre a gerência de memória, porém não achei nada, é uma ideia para post.
    Eu gostaria muito de saber os sobre os principais objetivos da gerência de memória,

Deixe uma resposta

%d blogueiros gostam disto: