TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Paginação de Memória e os Tipos de Paginação

Relatório de pesquisa: Paginação de Memória e os Tipos de Paginação. Pesquise 859.000+ trabalhos acadêmicos

Por:   •  22/7/2014  •  Relatório de pesquisa  •  2.685 Palavras (11 Páginas)  •  239 Visualizações

Página 1 de 11

Aluno: Edileno Brito

Professor: Carlos Eduardo

Disciplina: Sistema Operacional

Curso: Técnico em Informática

Turma: 1920141A

Paginação de Memória e os Tipos de Paginação

A técnica de partições fixas gera muita perda de memória e não é mais utilizada na prática. Embora partições variáveis seja um mecanismo mais flexível, o desperdício de memória em função da fragmentação externa é um grande problema. A origem da fragmentação externa está no fato de cada programa necessitar ocupar uma única área contígua de memória. Se essa necessidade for eliminada, ou seja, se cada programa puder ser espalhado por áreas não contíguas de memória, a fragmentação externa é eliminada. Esse efeito é obtido com a paginação.

A Figura 6.6 ilustra o funcionamento da técnica de paginação. O exemplo da figura utiliza um tamanho de memória exageradamente pequeno para tornar a figura mais clara e menor. O espaço de endereçamento lógico de um processo é dividido em páginas lógicas de tamanho fixo. No exemplo, todos os números mostrados são valores binários. A memória lógica é composta por 12 bytes. Ela foi dividida em 3 páginas lógicas de 4 bytes cada uma. O endereço lógico também é dividido em duas partes: um número de página lógica e um deslocamento dentro dessa página. No exemplo, endereços lógicos possuem 5 bits. Considere o byte Y2. Ele possui o endereço lógico 00101. Podemos ver esse endereço composto por duas partes. Os primeiros 3 bits indicam o número da página, isto é, 001. Os últimos 2 bits indicam a posição de Y2 dentro da página, isto é, 01. Observe que todos os bytes pertencentes a uma mesma página lógica apresentam o mesmo número de página. De forma semelhante, todas as páginas possuem bytes com deslocamento entre 00 e 11.

A memória física também é dividida em páginas físicas com tamanho fixo, idêntico ao tamanho da página lógica. No exemplo, a memória física é composta por 20 bytes. A página física tem o mesmo tamanho que a página lógica, ou seja, 4 bytes. A memória física foi dividida em 5 páginas físicas de 4 bytes cada uma. Os endereços de memória física também podem ser vistos como compostos por duas partes. Os 3 primeiros bits indicam um número de página física. Os 2 últimos bits indicam um deslocamento dentro dessa página física.

Um programa é carregado página a página. Cada página lógica do processo ocupa exatamente uma página física da memória física. Entretanto, a área ocupada pelo processo na memória física não precisa ser contígua. Mais do que isso, a ordem em que as páginas lógicas aparecem na memória física pode ser qualquer, não precisa ser a mesma da memória lógica. Observe que, no exemplo, o conteúdo das páginas lógicas foi espalhado pela memória física, mantendo o critério de que cada página lógica é carregada em exatamente uma página física. A página lógica 000 (X1, X2, X3 e X4) foi carregada na página física 010. A página lógica 001 (Y1, Y2, Y3 e Y4) foi carregada na página física 101. A página lógica 010 (Z1, Z2, Z3 e Z4) foi carregada na página física 000.

Durante a carga é montada uma tabela de páginas para o processo. Essa tabela informa, para cada página lógica, qual a página física correspondente. No exemplo, a tabela é formada por 3 entradas, uma vez que o processo possui 3 páginas lógicas.

Quando um processo executa, ele manipula endereços lógicos. O programa é escrito com a suposição que ele vai ocupar uma área contígua de memória, que inicia no endereço zero, ou seja, vai ocupar a memória lógica do processo. Para que o programa execute corretamente, é necessário transformar o endereço lógico especificado em cada instrução executada, no endereço físico correspondente. Isso é feito com o auxílio da tabela de páginas.

Figura 6.6 - Mecanismo básico de paginação.

O endereço lógico gerado é inicialmente dividido em duas partes: um número de página lógica e um deslocamento dentro da página. O número da página lógica é usado como índice no acesso à tabela de páginas. Cada entrada da tabela de páginas possui o mapeamento de página lógica para página física. Dessa forma, é obtido o número da página física correspondente. Já o deslocamento do byte dentro da página física será o mesmo deslocamento desse byte dentro da página lógica, pois cada página lógica é carregada exatamente em uma página física. Basta juntar o número de página física obtido na tabela de páginas com o deslocamento já presente no endereço lógico para obter-se o endereço físico do byte em questão. A Figura 6.6 mostra como o endereço lógico do byte Y2 é transformado no endereço físico correspondente. O endereço lógico 00101 é dividido em número de página lógica 001 e deslocamento 01. A entrada 001 da tabela de páginas indica que essa página lógica foi carregada na página física 101. Finalmente, as duas partes são unidas, formando o endereço físico 10101.

Na prática, os tamanhos de página variam entre 1 Kbytes e 8 Kbytes. Espaços de endereçamento lógico variam de 64 Kbytes para sistemas antigos até muitos Gbytes para máquinas atuais. Espaços de endereçamento físico também ficam, em geral, na ordem de Gbytes. Note que o espaço de endereçamento físico denota a capacidade de endereçamento do processador, e não a quantidade de memória realmente instalada na máquina. Embora o processador de um computador doméstico atual possa endereçar 32 Gbytes, tipicamente a memória física realmente instalada é menor que 1 Gbyte.

Na paginação, uma página lógica pode ser carregada em qualquer página física que esteja livre. Dessa forma, não existe fragmentação externa. Como a unidade de alocação é a página, um processo sempre ocupa um número inteiro de páginas físicas, introduzindo assim uma fragmentação interna. Suponha que um sistema no qual as páginas são de 4 Kbytes, e um programa necessita 201 Kbytes para executar. Serão alocadas para ele 51 páginas, totalizando 204 Kbytes. Isso resultará em uma fragmentação interna de 3 Kbytes. Em média, podemos esperar uma fragmentação interna de meia página por processo.

Existem vantagens e desvantagens em utilizar páginas maiores. Páginas maiores significam que um processo terá menos páginas, a tabela de páginas será menor, a leitura do disco será mais eficiente. Em geral, páginas maiores

...

Baixar como (para membros premium)  txt (16.9 Kb)  
Continuar por mais 10 páginas »
Disponível apenas no TrabalhosGratuitos.com