Você está na página 1de 4

07/08/2012

Gerenciador de memória (antigos)


 Sistema contíguo de usuário único:
SISTEMA  Somente um usuário de cada vez podia ativar o sistema
desejado, tendo a capacidade de memória pequena,
OPERACIONAL I necessitando muitas vezes reprogramar as tarefas ou
dividi-las em partes, para execução seqüencial.
 Partições fixas:
 Dividia-se a memória em várias partições (pedaços)
pré-estabelecidos, sendo que em cada partição se
FATEC – BRAGANÇA PAULISTA alocava uma determinada tarefa que eram executadas
conforme a ordem do programador;
 Mesmo que uma tarefa de partição pequena estivesse
sendo executada, tendo memória disponível, outra
tarefa tinha de esperar o termino para poder ser
iniciada.
 Uso da fragmentação interna, ou seja, o uso parcial das
Prof. Ms. Patricia Klinkerfus de Campos
partições fixas em concomitância com a criação de
espaços ociosos dentro delas.

Gerenciador de memória (antigos) Gerenciador de memória (antigos)

 Partições Dinâmicas  Primeira Partição livre X Melhor Partição livre


 As tarefas recebem apenas o volume de memória  Primeira partição livre – ocorre quando o sistema
que requisitam quando são carregadas para aloca os dados desejados na primeira partição
processamento; livre que houver, sem necessariamente verificar
seu tamanho.
 Ainda não é possível subutilizar a memória, ou
 Método onde se ganha rapidez
seja, mesmo tendo memória livre o sistema não
executa a tarefa seguinte;  Melhor partição livre – ocorre quando o sistema
verifica dentre as várias partições livres qual é
 O esquema utilizado aqui é o de o primeiro a mais adequada para os dados que se deseja
chegar é o primeiro a ser atendido. alocar.
 Faz-se uso da fragmentação externa, ou seja, a  Método onde se ganha espaço, melhor

alocação de memória subseqüente cria utilização da memória


fragmentos de memória livre entre blocos de
memória alocados.

Gerenciador de memória (antigos) Gerenciador de memória (antigos)

 Desalocação  Conclusão
 Ocorre quando a memória é liberada para uso  As técnicas de armazenamento demonstradas,
de outra tarefa. caracterizam três coisas em comum:
 Requerem que o programa inteiro seja carregado
 Partições dinâmicas realocáveis na memória;
 Processo de agrupamento e compactação de  Requerem que seja armazenado contiguamente;
todos os blocos de memória vazios, formando  Requerem que o programa permaneça
um único bloco de memória, suficientemente armazenado na memória até que a tarefa tenha
terminado.
grande para armazenar algumas ou todas as
tarefas à espera de processamento.  Estes Sistemas foram usados nas décadas de
40, 50 e 60. No final da década de 60
mudaram-se os padrões.

1
07/08/2012

Questões Gerenciador de memória (recentes)

 Esquemas de alocação mais sofisticados,


Explique: pois:
Multiprogramação. Porque é utilizada.
Fragmentação Interna. Como ocorre?  Eliminam a necessidade de armazenamento
Fragmentação externa. Como ocorre? contíguo dos programas;
Realocação. Com que freqüência deve ser feita?  Eliminam a necessidade de armazenagem

Descreva as vantagens e desvantagens dos esquemas de


total do programa durante o processamento.
alocação de memória citados.

Gerenciador de memória (recentes) Gerenciador de memória - Paginação

 Alocação de Memória com Paginação:


 Tais esquemas se dividem em:  Considera-se a idéia de que um programa é dividido em páginas de
tamanhos iguais entre si ou páginas de tamanhos iguais ao tamanho
 Paginação dos blocos de memória e/ou seções de discos existentes.
 Os blocos de memória são chamados de “quadros de página” e as
 Paginação sob demanda seções de discos são chamados de “setores”.
 Antes de executar um programa a memória trabalha da seguinte
 Segmentação forma:
 1º - Determina o numero de páginas;
 Segmentação/Paginação sob demanda  2º - Localiza quadros de página suficientes na memória principal;
 3º - Carrega todas as páginas de programas nesses quadros (não
sendo necessário serem contíguos).
 A memória carrega o programa em uma seqüência lógica, não
necessitando ser necessariamente um embaixo ou ao lado do outro,
ou seja, as páginas podem ser alocadas em blocos esporádicos, o que
implica daí, na necessidade de mecanismos de monitoramento,
aumentando, portanto a complexidade e o tamanho do S.O.,
sobrecarregando o sistema.
 Veja o exemplo a seguir:

Gerenciador de memória - Paginação Gerenciador de memória - Paginação

Aqui nós temos um programa de 350 linhas, que foi dividido em blocos de 100, sobrando
portanto, ao final somente 50 linhas. Note que o ultimo bloco ficou com metade do espaço livre,  Na figura anterior utilizamos setas que indicam para
estando este inutilizável até o termino da execução deste programa, ocasionando um
desperdício. Note ainda que temos 7 blocos de 100 para serem usados de memória, o que onde cada pagina do programa foi conduzida, mas na
permite uma alocação de igual tamanho ou inferior. Caso o próximo programa seja superior a
700 (no exemplo) será necessário esperar o termino do referido programa, para execução do verdade o Gerenciador de Memória trabalha com
próximo.
tabelas para monitorar tal utilização. São elas:
Tabela de Programas (TP) - (quadro programa 1);
Tabela de Mapa de Páginas (TMP) - (Pagina 0, 1,
etc, até o termino);
Tabela de Mapa de Memória (TMM) – (quadro da
Memória Principal).
Todas estas tabelas residem na parte da memória
principal reservada ao S.O.

2
07/08/2012

Gerenciador de memória - Paginação Gerenciador de memória - Paginação

 Se quisermos usar o exemplo anterior, e desejarmos encontrar


 No exemplo citado podemos dizer que a:
a posição dentro da pagina da linha 214, basta
Página 0 contém as 100 primeiras linhas do programa;
Página 1 contém o segundo bloco de 100 linhas;
Página 2 contém o terceiro bloco de 100 linhas;
Página 3 contém as ultimas 50 linhas.
Portanto o programa possui 350 linhas. O curioso é que quando o sistema
armazena tais linhas inicia o processo do 0, portanto, vai da linha 0 até a
349. Temos aqui, então, cada página indo de 0 a 99, de 100 a 199, e assim  Então temos, a página a ser encontrada, dividida pelo tamanho
por diante. de cada página, resultando no número da página, deixando um
resto que me mostra a linha em que se encontra.
 Caso o operador deseje descobrir o deslocamento ou a localização de uma
determinada linha do programa, basta verificar em que pagina está e pensar na  Portanto, a linha 214 se encontra na página 2, linha 14 (ou a 15
disposição de 0 a 99, ou poderá também,realizar uma operação simples, onde: linha do topo da página).

Gerenciador de memória - Paginação Gerenciador de memória - Paginação

 Questões  Caso o operador deseje localizar a linha 214 na


memória, precisará que a memória execute outras
 Se estiver procurando pela linha 214, o S.O.
operações, que são:
poderia localizar um número de página maior
 1º- Verificar o número do quadro de página em que está
que 3? Porque? localizado cada página. No exemplo:
 Em caso negativo, o que o S.O. deveria
fazer?
 O S.O. poderia obter um resto maior que 99?
Porque?
 Qual o menor resto possível?
 2º - Fazer o cálculo de deslocamento da linha, que no
caso foi página 2, linha 14.

Gerenciador de memória - Paginação Gerenciador de memória - Paginação

 3º - Consultar o TMP e descobrir qual é o quadro de  Questão:


página que contém a página 2. Observamos no ultimo  Imagine que temos um programa com o tamanho dos
quadro que está localizado no quadro de página 5; quadros de página em memória estabelecido em 512
 4º- Devemos obter o endereço de início para o quadro bytes, e portanto, para este sistema, também foi
estabelecido o tamanho da página em 512. Temos um
de página, multiplicando o número do quadro de
programa que ocupa 1000 bytes.
página pelo tamanho do quadro de página. No
 Perguntas:
exemplo: 5 * 100 = 500.
 Em quantas partes o programa foi dividido?
 5º - Para calcular a posição exata da linha na memória
 Qual a localização (deslocamento) da linha 518?
precisamos, somar o deslocamento ao endereço.
 Supondo que a página 0 está no quadro de página 5 e
Então, no exemplo: 500 + 14 = 514. a pagina 1 esta no quadro de pagina 3, qual é o
endereço de inicio do quadro de página?
 Qual a localização exata na linha de memória, da
linha 518?

3
07/08/2012

Gerenciador de memória - Paginação Pesquisa

 Conclusões  QUESTÕES GERAIS


 Vantagens:
 Permite a alocação de programas a posições não
contíguas de memória, resultando melhor  Explique o Sistema de Paginação.
aproveitamento da memória, permitindo que mais  Relacione as vantagens e desvantagens deste
programas se alojem na memória principal. sistema.
 Devantagens:
 É o sistema de memória utilizado hoje? Porque?
 Sobrecarga grande;

 Persistência da fragmentação interna (mesmo que


 Descreva um exemplo completo de execução de
somente na ultima parte de cada programa) um programa, verificando seu deslocamento,
endereço e localização exata na memória. Crie as
 A chave do sucesso deste tipo de esquema está no tamanho tabelas para exemplificar sua situação problema.
das páginas, ou seja, quanto mais semelhantes em relação aos
blocos de memória mais eficientes.
 Páginas muito grandes, sofrem muita fragmentação, porém,
maior rapidez no processamento;
 Já as páginas pequenas sofrem pouco ou nenhuma
fragmentação, porém exigem mais tempo de processamento,
tornando todo o processo mais lento.

Você também pode gostar