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:
$> 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:
$> 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:
Bom pessoal, por hoje é só.
Abraços e até a próxima.
muito dificil sua explicação
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.
Gostei muito bom, valew.
Eu que agradeço Herisson.
Um grande abraço.
Pelo contrário, o assunto foi abordado até de forma didática. a questão é que vc precisa de bagagem para entender este assunto 😉
Muito obrigado por compartilhar parte do conhecimento.
Sugiro apenas que, se possível, deixe referência da fonte.
Mais uma vez, muito obrigado.
Bom dia Augusto, tudo bem?
Muito obrigado XD.
Nos próximos artigos, irei colocar mais e mais referências.
Abração.
Porque é que o meu telefone fixo toca frequentemente e aparece PAGING
Boa tarde Carlos, tudo bem?
Não sei o que o pode ser, mas achei essa página que pode te ajudar:
http://www.telecomsource.net/showthread.php?1920-Paging-procedure-Explanation
Abraços.
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,
Opa, vou anotar aqui Marcelo.
Um grande abraço jovem.
Opa, tudo joia?
Estou fazendo um trabalho de SO, e gostaria de saber se o Windows 7 utiliza o método de Paginação.
Boa noite Wellington, tudo bem?
Eu acho que sim, tanto que se você pesquisar na página da Microsoft, existem referências a arquivos de paginação:
https://support.microsoft.com/pt-br/help/2860880/how-to-determine-the-appropriate-page-file-size-for-64-bit-versions-of
Abraços.
Essa explicação
é sobre paginação Linux ????
Boa noite Rômulo.
Essa explicação é sobre o conceito em geral. Geralmente os sistemas operacionais utilizam esses conceitos em sua programação, podendo variar algumas coisas.
Um grande abraço.