Académique Documents
Professionnel Documents
Culture Documents
Goinia 27/05/2010
Participantes:
Achiles Camilo Soares Neto
Bruno Blumenschein
Czar Augusto Ferreira
Maxwel Satoshi Duarte Otsuka
Tiago Borges Pereira
ndice
Aspectos bsicos
Paginao por demanda
Cpia na escrita
Substituio de pgina
Perguntas / Respostas
Aspectos Bsicos
A memria virtual uma tcnica que permite
a execuo de processos que no esto
completamente na memria. Uma vantagem
desse esquema que os programas podem
ser maiores do que a memria fsica.
A memria virtual tambm extrai a memria
principal
para
um
conjunto
de
armazenamento extremamente grande e
uniforme, separando a memria lgica, vista
pelo usurio, da memria fsica. Essa tcnica
livra os programadores dos problemas de
limitao do armazenamento de memria.
Aspectos Bsicos
A memria virtual permite que processos
compartilhem arquivos com facilidade e
implementem a memria compartilhada.
Ela ainda prov um mecanismo eficientes
para a criao de processos.
Contudo a memria virtual no fcil de
implementar e pode diminuir bastante o
desempenho, se usada de forma descuidada.
Aspectos Bsicos
Os algoritmos de gerncia de memria que
sero aqui esboados so necessrios por
causa de um requisito bsico: as instrues
executadas precisam estar na memria fsica.
A primeira tcnica para atender a esse
requisito colocar o espao de endereos
lgicos inteiro na memria fsica.
O carregamento dinmico pode ajudar a
aliviar essa restrio, mas exige precaues
especiais e trabalho extra pelo programador.
Aspectos Bsicos
O requisito de que as instrues precisam
estar na memria fsica para serem
executadas necessrio e razovel, mas
tambm lamentvel, porque limita o
tamanho de um programa ao tamanho da
memria fsica.
Como certas opes e recursos de um
programa podem ser usados raramente, na
verdade, o programa inteiro no precisa ser
necessariamente carregado.
E nos casos onde o programa inteiro
necessrio, ele pode no ser necessrio ao
Aspectos Bsicos
A capacidade de executar um programa que
esteja apenas parcialmente na memria teria
muitos benefcios:
O programa no seria mais restrito pela
quantidade de memria fsica disponvel. Os
usurios poderiam escrever programas para
um
espao
de
endereos
virtuais
extremamente grande, simplificado a tarefa
de programao.
Como cada programa do usurio poderia
exigir menos memria fsica, mais programas
poderiam ser executados ao mesmo tempo.
Aspectos Bsicos
Menos E/S seria necessria para carregar ou
trocar cada programa do usurio para a
memria, de modo que cada programa do
usurio seria executado mais rapidamente.
Assim, a execuo de um programa que no
esteja inteiramente na memria beneficiaria
tanto o sistema quanto o usurio.
Aspectos Bsicos
A memria virtual envolve a separao entre
a memria lgica e a memria fsica. Essa
separao permite que uma memria virtual
extremamente grande seja oferecida para os
programadores
quando
somente
uma
memria fsica menor estiver disponvel.
A memria virtual torna a tarefa de
programao muito mais fcil, pois o
programador no precisa mais se preocupar
com a quantidade de memria fsica
disponvel.
Aspectos Bsicos
Analisando a figura a seguir percebemos
que : permitimos que a heap cresa pra baixo
da memria por meio de chamadas de funo
sucessivas. O grande espao vazio entre a
heap e a fila faz parte do espao de endereos
virtuais, mas s exigir pginas fsicas reais se
a heap ou a pilha crescer. Os espaos de
endereo virtual que incluem os espaos
vazios so conhecidos como espaos de
endereos esparsos.
Aspectos Bsicos
O uso de um espao de endereo esparso
benfico porque os buracos pode ser
preenchidos enquanto os segmentos de pilha
ou heap crescem, ou se quisermos vincular
bibliotecas (ou possivelmente outros objetos
compartilhados) de forma dinmica durante a
execuo do programa.
Aspectos Bsicos
Alm de separar a memria lgica da
memria fsica, a memria virtual tambm
permite que arquivos e memria sejam
compartilhados por dois ou mais processos
diferentes, o que ocasiona os seguintes
benefcios:
As bibliotecas do sistema podem ser
compartilhadas
por
vrios
processos
diferentes, por meio do mapeamento do
objeto compartilhado para um espao de
endereos virtuais.
Aspectos Bsicos
De modo semelhante, a memria virtual
permite
aos
processos
compartilharem
memria. A memria virtual permite a um
processo criar uma regio da memria que
pode compartilhar com outro processo. Os
processos que compartilham essa regio a
consideram parte do seu espao de endereos
virtuais, embora as pginas fsicas da
memria sejam compartilhadas.
Aspectos Bsicos
A memria virtual pode permitir que as
pginas sejam compartilhadas durante a
criao do processo, por meio da chamada do
sistema fork(), agilizando assim a criao do
processo.
marcar
como
Memria secundria:
Mantm as pginas
que no esto na memria principal. Ex:
swap space
CPIA NA ESCRITA
CPIA NA ESCRITA
CPIA NA ESCRITA
O processo de cpia na escrita acontece da
seguinte forma:
CPIA NA ESCRITA
CPIA NA ESCRITA
CPIA NA ESCRITA
CPIA NA ESCRITA
CPIA NA ESCRITA
CPIA NA ESCRITA
Substituio de pginas
Considere a seguinte situao:
Enquanto um processo do usurio est sendo
executado, ocorre uma falha de pgina.
O sistema operacional determina onde a pgina
desejada est residindo no disco, mas descobre
que no existe quadros livres na lista de quadros
livres: TODA A MEMRIA EST SENDO
UTILIZADA.
Mediante a esta situao a soluo mais
Substituio de pginas
A substituio de pginas consistem em encontrar um
Substituio de pginas
Ler a pgina desejada para o quadro recmliberado; mudar as tabelas de pgina e quadro;
Reiniciar o processo do usurio.
Substituio de pginas
Substituio de pginas
Observe que, se nenhum quadro estiver livre,
Substituio de pginas
A substituio de pgina algo bsico na
Substituio de pginas
Substituio de pginas
Substituio de pginas
Substituio de pginas FIFO
Para ilustrar os problemas que so possveis com
ASFIFO considere o grfico do prximo slide.
Observe que a quantidade de falhas para quatro
quadros (dez) maior do que a quantidade de
falhas para trs quadros (nove).
Este resultado inesperado conhecido como
anomalia de Belady: para alguns algoritmos de
substituio de pgina, a taxa de falha de
pgina pode aumentar enquanto a quantidade
de quadros alocados aumenta. Poderamos
esperar que, dado mais memria a um processo,
seu desempenho melhorasse.
Substituio de pginas
Substituio de pginas
Substituio de pgina tima
Um resultado da descoberta da anomalia de
Belady foi a busca de um algoritmo de
substituio de pgina tima.
Um algoritmo de substituio de pgina tima
possui a menor taxa de falhas de pginas de
todos os algoritmos, e nunca sofrer com a
anomalia Belady. Esse algoritmo chamado de
OPT ou MIN. Ele simples:
Substitua a pgina que no ser usada pelo maior
perodo.
Substituio de pginas
Substituio de pginas
Substituio de pgina tima
Infelizmente, o algoritmo de substituio de
pgina tima difcil de implementar, pois
exige o conhecimento futuro da string de
referncia. Como resultado, o algoritmo
timo usado para estudos de comparao.
Por exemplo, pode ser til saber que,
embora um novo algoritmo no seja ideal,
est dentro dos 12,3% do ideal, no mximo,
de dentro dos 4,7% da mdia.
Substituio de pginas
Substituio de pgina LRU
Se o algoritmo timo no vivel, talvez uma
aproximao do algoritmo timo seja possvel.
A distino principal entre FIFO e OPT :
FIFO usa a hora em que uma pgina foi trazida da
memria;
OPT usa a hora em que uma pgina dever ser
usada.
Substituio de pginas
Substituio de pgina LRU
Esta tcnica o algoritmo Lest Recently Used
(LRU menos recentemente usado);
A substituio LRU associa a cada pgina a
hora do ltimo uso desta pgina. Quando uma
pgina tiver de ser substituda, a LRU escolhe a
pgina que no foi usada pelo maior perodo;
Substituio de pginas
Substituio de pginas
Substituio de pgina LRU
O maior problema como implementar a
substituio LRU. Um algoritmo de substituio
de pgina LRU pode exigir assistncia substancial
do hardware. O problema determinar a ordem
dos quadros definidos pelo horrio da ltima
utilizao. Duas implementaes so viveis:
Contadores: no caso mais simples associamos a
Substituio de pginas
Substituio de pgina LRU
Pilha: outra tcnica para implementar a
Substituio de pginas
Substituio de pgina por aproximao LRU
Poucos sistemas computadorizados provem
suporte de hardware suficiente para a
verdadeira substituio de pgina LRU e outros
algoritmos de substituio precisam ser
utilizados.
Muitos sistemas provem alguma ajuda na forma
de bits de referncia. O bit de referncia
definido pelo hardware sempre que a pgina
referenciada. Os bits de referncia esto
associados a cada entrada na tabela de pginas.
Substituio de pginas
Substituio de pgina por aproximao LRU
Substituio de pginas
Algoritmo de bits de referncia adicionais
Substituio de pginas
Algoritmo de bits de referncia adicionais
Substituio de pginas
Algoritmo da segunda chance
Substituio de pginas
Algoritmo da segunda chance melhorado
Substituio de pginas
Substituio de pgina baseada em contagem
Substituio de pginas
Algoritmo com buffer de pgina
como antes;
A pgina desejada lida para um quadro livre do
banco antes de a vtima ser retirada;
Substituio de pginas
Algoritmo com buffer de pgina
Perguntas
1- Porque interessante a utilizao de
memria virtual do ponto de vista da
programao?
2- Quais as semelhanas e diferenas entre
Paginao por demanda e SWAP?
3- Qual o principal benefcio do uso da tcnica
da Cpia na escrita ?
4- Qual algoritmo de substituio de pginas
mais simples? Comente-o.
5- Quais fatores afetam o desempenho de uma
paginao por demanda?
Respostas
1- Porque interessante a utilizao de
memria virtual do ponto de vista da
programao?
A memria virtual interessante para o
programador porque o programa no teria
que ser mais restrito pela quantidade de
memria fsica disponvel. O programador
poderia assim escrever programas para um
espao de endereos virtuais extremamente
grande, deixando a programao mais
simples.
Respostas
2- Quais as semelhanas e diferenas entre
Paginao por demanda e SWAP?
Em ambos os processos residem na memria
secundria e quando so executados passam
pra memria virtual; uma troca s realizada
quando necessrio. Na Paginao preocupase com as pginas individuais de cada
processo, no swap trata-se de processos
inteiros
Respostas
3- Quais os benefcios da proteo de pgina
por cpia na escrita?
Respostas
4- Qual algoritmo de substituio de pginas
mais simples? Comente-o.
Respostas
5- Quais fatores afetam o desempenho de uma
paginao por demanda?
Referncias
Sistemas operacionais com JAVA. Abraham Silberchatz