Sie sind auf Seite 1von 43

Gerncia de Memria

Sistemas Operacionais

Memria
Dcada de 30 John Von Neumann

Computador composto por trs partes: Processador, Dispositivos I/O e a Memria Programa deveria ser armazenado na memria junto com os dados. Capaz de lembrar seqncias de comandos previamente fornecidos executando-as fielmente.

Memria
Dcada de 30 John Von Neumann

Arquitetura Princeton e Arquitetura Harward

Princeton
nico barramento para transferncia de dados e instrues entre memria e processador Predominou pela simplicidade

Harward
Dispositivos de memria distintos para armazenamento de dados e programas; Dois barramentos ligando o processador aos dispositivos de memria de dados e programas; Mais eficiente

Ambos so conceitos revolucionrios ; No existia tecnologia suficiente para construo de dispositivos que funcionassem como memria; Processadores evoluram primeiro.

1 Memria primria foi construda com pequenos ncleos magnetizveis de ferrite interligados matricialmente por uma delicada fiao de cobre, onde cada ncleo armazenava um nico bit. processadores so capazes de ler e escrever mais rpido do que os circuitos de memria do mesmo nvel tecnolgico. Wait States: o tempo de espera por parte do processador at que a memria esteja preparada para ler ou gravar os dados.

Quando se fala em memria, estamos nos referindo aos circuitos que trocam dados diretamente com o processador durante o ciclo de execuo de seus comandos mais bsicos, ou seja, a memria primria ou armazenamento primrio. (RAM, ROM,
REGISTRADORES E CACHE)

Os

dispositivos de armazenamento secundrio, isto , dispositivos de memria de massa que no devem ser confundidos com a memria bsica do computador. (Discos rgidos, CDs, DVds, PenDrive)

Memria

Memria

um termo genrico usado para designar as partes do computador ou dos dispositivos perifricos onde os dados e programas so armazenados. Sem uma memria de onde os processadores podem ler e escrever informaes, no haveria nenhum computador digital de programa armazenado.

Memria
A memria pode ser vista como um array (vetor) de clulas de armazenamento (palavras ou bytes), cada clula com seu endereo
0 1 2 3 4 5 6 7 8 2 31 4 35 26 124 42 12 42

Memria
A CPU e os controladores dos dispositivos perifricos podem ler e escrever em posies de memria.

CPU

Memria

Sistema de I/O

Memria
Consideraes:
Recurso caro e escasso; era ou ? Preocupao do projetista: SO que no ocupassem muito espao de memria; Programas s executam se estiverem na memria principal; Necessidade de uso otimizado; um dos fatores mais importantes em um projeto de S.O..

Memria
O objetivo principal de um Sistema Computacional executar programas; Estes programas devem estar localizados na memria principal; Memria principal no possui tamanho suficiente; SO modernos utilizam principalmente dos discos rgidos como dispositivos secundrios de apoio memria. Por isso existe a necessidade do Gerente de Memria.

Gerncia de Memria
Algumas funes do Gerente de Memria
Controlar quais as unidades de memria esto ou no esto em uso, para que sejam alocadas quando necessrio; Liberar as unidades de memria que foram desocupadas por um processo que finalizou; alocao da memria de acordo com as necessidades dos processos Tratar do Swapping entre memria principal e memria secundria. Transferncia temporria de processos residentes na memria principal para memria secundria

Mecanismos para Gerncia de Memria

mquina pura monitor residente swapping parties mltiplas paginao segmentao sistemas combinados

Mquina Pura
o esquema mais simples, pois no existe gerncia de memria; O usurio lida diretamente com o hardware e possui total controle sobre toda a memria; No exige nenhum software ou hardware especiais; Vivel apenas em sistemas dedicados, onde o computador controla um equipamento especfico.

Mquina Pura
Problemas: no existe a infra-estrutura do SO (rotinas de E/S, por exemplo) no h monitor residente para controlar chamadas de sistema ou erros

Sistemas Monoprogramados
Alocao Contgua Simples
Com monoprogramao a gerncia de memria fica simples; O espao dividido entre o SO e o processo do usurio que est sendo executado;

Monoprogramao
Vantagens: simplicidade custo baixo de implementao e uso flexibilidade

Monitor Residente
Normalmente, este esquema usado em sistemas monoprogramados; Memria dividida em duas partes: rea do SO rea do usurio Registrador limite: contm o primeiro endereo do programa usurio

Monitor Residente

Sistema Operacional Registrador Limite

rea para o programa usurio

rea livre

E se o tamanho do programa for maior do que a memria disponvel?


Neste caso utiliza-se a tcnica conhecida como overlay, o programa dividido em mdulos que so executados independentemente na mesma rea de memria

Overlay
Cadastramento Sistema Operacional Mdulo principal 2 kb 4 kb

3 kb Impresso 4 kb 2 kb

rea de Overlay

rea livre

1 kb

rea no utilizada

2 kb

Multiprogramao atravs de Swapping


implementada por um SO do tipo monitor residente O esquema de gerenciamento de memria estendido para implementar swapping O programa que perde a CPU copiado p/ disco, enquanto o programa que ganha a CPU transferido do disco p/ a memria principal

Swapping

reg. limite

Monitor Swap-in Espao do Usurio Swap-out U1

U2

Exerccio
1)O que Memria 2)Cite exemplos de memria primria: 3)Cite exemplos de memria secundria: 4)Para a sua execuo, em qual memria o programa precisa estar? 5)Quais as funes do Gerente de Memria 6)O que Swapping?

Gerncia de Memria

Memria Lgica - aquela que o processo enxerga, o processo capaz de acessar. Memria Fsica - aquela implementada pelos circuitos integrados de memria, pela eletrnica do computador

CPU

Endereo lgico

Gerenciador de Endereo Memria fsico

Memria

Parties Mltiplas
Com multiprogramao, conveniente ter vrios programas na memria ao mesmo tempo para que a CPU seja rapidamente alternada entre eles Soluo: dividir a memria em parties que podem ser: Parties Fixas (regies estticas) Parties variveis (regies dinmicas)

Parties Fixas A memria dividida em parties que no so alteradas durante a execuo do sistema. Quando um processo criado, ele colocado em uma fila espera que uma partio de tamanho suficiente se torne disponvel

Parties Fixas
Para definir a partio onde o programa vai ser colocado, existem duas opes: Montar uma fila individual para cada partio Montar uma fila nica para todas as parties

Parties Fixas

Fragmentao

So perdas (desperdcio) de memria: fragmentao interna: memria perdida dentro da partio alocada ( um desperdcio de espao dentro da partio usada pelo processo) fragmentao externa: ocorre quando existe espao disponvel mas este pequeno demais para os processos que esto espera (perda de espao fora das parties alocadas)

Fragmentao

Parties Fixas

O controle de parties fixas conceitualmente simples. Necessita levar em conta: tamanhos das parties de memria algoritmo para gerenciar a lista de processos em espera

Parties Fixas

Exemplo: memria de 256K espao do SO: 64K espao para processos pequenos: 16K espao para processos mdios: 48K espao para processos grandes: 128K

Parties Fixas

O maior problema das parties fixas determinar a melhor diviso da memria; A soluo permitir que o tamanho das parties varie ao longo do tempo.

Parties Variveis

Parties Variveis

Os tamanhos das parties variam de acordo com a necessidade Tanto o tamanho quanto o nmero de parties variam dinamicamente Elimina a fragmentao interna Mais difcil de implementar

Parties Variveis
O SO mantm uma lista indicando quais partes da memria esto disponveis e quais esto ocupadas. As reas disponveis so denominadas lacunas (holes) Quando um processo chega para ser executado, a lista de lacunas consultada e escolhida uma lacuna de tamanho suficiente

Parties Variveis
JOB
Memria Tempo
0 monitor 40K 40K 0 monitor 40K

1
60K 10
0

2
100K 5
monitor

3
30K 20
0

4
70K 8
monitor 40K

5
50K 15
0 monitor 40K Job 5

Job 1
100K 100K

Job 1
100K

Job 1 job 1 termina


100K

aloca job 5 Job 4


170K

90K 100K

Job 4 aloca job 4 Job 2 job 2 termina


170K

Job 4
170K

200K

200K

200K

200K

200K

Job 3
230K 256K 230K 256K

Job 3
230K 256K

Job 3
230K 256K

Job 3
230K 256K

Job 3

Parties Variveis - Caractersticas


Vai existir um conjunto de reas livres (lacunas) espalhadas pela memria; Para executar um programa, o conjunto pesquisado procura de uma rea maior ou igual necessidade ; Se a rea maior, a parte restante vai continuar livre; Quando um processo termina, a rea liberada. Se a rea adjacente a outra rea livre, as duas reas so aglutinadas em uma nica lacuna;

Parties Variveis Existem algoritmos para a escolha de uma rea livre.

Parties Variveis - Algoritmos de Alocao para parties variveis


Algoritmos para escolha da rea livre (alocao dinmica da memria): first-fit: aloca o primeiro espao livre de tamanho suficiente best-fit: aloca o menor espao livre que seja suficiente. Produz a menor sobra de espao worst-fit: aloca o maior espao livre. Produz a maior sobra de espao livre (a sobra mais til que a gerada por bestfit)

Parties Variveis - Algoritmos de Alocao

Das könnte Ihnen auch gefallen