Sie sind auf Seite 1von 24

MEMRIA VIRTUAL

MEMRIA VIRTUAL
Na gerncia de memria convencional pginas ou
segmentos (unidades) de um programa so todos
carregados para MP antes de sua execuo
Devido a localidade, um programa s precisa de algumas
dessas unidades em um dado momento

possvel gerenciar a memria de forma que s unidades


necessrias em um dado momento estejam na MP

Memria fsica pode ser melhor aproveitada, sendo


possvel:
Executar um programa maior que a MP
Executar vrios programas ao mesmo tempo que somados so
maiores que a MP

UCP gera endereos para espao de endereamento lgico


maior que tamanho da MP fsica (da o nome virtual)

MEMRIA VIRTUAL

SO aplica regras
Quando processo inicia no so carregadas todas suas unidades
para MP
Tabelas de converso de endereos indicam unidades que esto
na MP (bit de validade)

MEMRIA VIRTUAL

SO aplica regras (continuao)

Quando necessrio, sistema gera um page-fault e manda buscar


pgina do disco

Carregadas por demanda

O processo perde o processador


Processo s retorna para fila de pronto quando unidade estiver
disponvel na MP

Se MP ficar cheia, novas unidades so colocadas no lugar das menos


recentemente usadas (LRU)

Essa tcnica tem os seguintes custos associados


Miss-penalty alto pois unidades tm que ser buscadas do disco
Aumenta nmero de trocas de contexto por causa de page-faults e de
eventos a serem tratados (evento gerado quando a unidade foi trazida)

MEMRIA VIRTUAL - TRASHING

Problema que pode ocorrer na gerncia de memria virtual o


Trashing
Trashing vem de trash (lixo) e indica que nada de produtivo est sendo
feito
Ocorre quando sistema fica maior parte do tempo trocando pginas e
processador no consegue executar nenhum processo
Ocorre quando muitos processos esto ativos e MP proporcionalmente
pequena para acomodar as unidades

Assim, quando processo ganha CPU ele manda trazer suas unidades e volta a
dormir, quando essas unidades so trazidas. A gerncia de memria apaga
unidades de outro processo por causa da falta de espao na memria.
Quando for a vez desse outro, suas pginas j no esto mais na memria, e
assim por diante ...

Acima de um certo nmero de processos ativos o desempenho da


mquina comea a diminuir
Este nmero bastante dinmico e depende:

Da arquitetura da mquina
Do tamanho da MP
Do nmero de processos ativos
Do tipo de processos que esto ativos (io-bound, cpu-bound)

MEMRIA VIRTUAL - TRASHING

A taxa de utilizao do processador cai exponencialmente, quando o mesmo est


em trashing, assim como ilustrado abaixo

ACESSO COMPLETO A ENDEREOS


ENDEREO LGICO

TABELA
DE
PGINAS

PAGE
FAULT

Disco

TLB MISS

PAGE
HIT

MISS

Envia dado
para a CPU

TLB

TLB HIT
MEMRIA CACHE HIT
CACHE

CACHE MISS

MEMRIA
PRINCIPAL

HIT

CPU

MEMRIA VIRTUAL - ESTUDO DE CASOS

Maioria dos SOs aplica tcnicas de memria virtual na gerncia de memria

No caso de sistemas que executam em mltiplas plataformas a gerncia de


memria pode variar, dependendo do hardware disponvel (MMU Memory
Management Unity)

UNIX
Verses antigas do UNIX aplicavam um particionamento varivel da memria
sem memria virtual
Verses mais modernas (SVR4 e Solaris2.x) implementam memria virtual
paginada
Substituio de pginas feita com variaes do algoritmo do relgio

Para o kernel (pequenos blocos) utilizado uma variao do algoritmo de buddy

MEMRIA VIRTUAL - LINUX

Linux

Tem vrias caractersticas em comum com UNIX, mas tem


suas peculiaridades

Implementa memria virtual paginada com tabela de pgina de 3


nveis (diretrio, diretrio intermedirio, pgina)

MEMRIA VIRTUAL - LINUX

Conceito de diretrio reduz tamanho das tabelas

Aumenta complexidade de acesso (vrias consultas para converter endereo)

Tabelas usadas em converso mas estrutura das tabelas no linear e sim uma
rvore
Vrias tabelas de diretrios intermedirios para cada entrada da tabela de
diretrios
Vrias tabelas de pginas para cada entrada de cada tabela de diretrios
intermedirios!!!

Pginas de 4Kbytes na famlia X86 e 8Kbytes na famlia Alpha

Para facilitar portabilidade tem um nvel intermedirio de gerncia de memria


Architecture Independent Memory Model

Substituio de pginas feita com variao do algoritmo do relgio

Alocao dinmica feita na pilha do sistema (stack)

Para o kernel utilizado uma variao do algoritmo de buddy

Linux implementa o Buddy sobre pginas mas subdivide-as em menores unidades


para melhor atender as necessidades do kernel

MEMRIA VIRTUAL OS2

MEMRIA VIRTUAL

Windows 2000
Utiliza memria virtual paginada
Divide espao de memria virtual de 4 Gbytes (registrador de 32
bits) em 2 GB para processos de usurio e 2 GB para SO
Quando processo de usurio disparado recebe um nmero de
frames de memria (Working Set - WS)

Substituies de pginas efetuadas apenas dentro deste WS, ou seja, s


pginas do mesmo processo so candidatas para a substituio
Se nmero de substituies de um processo for grande e bastante
memria estiver disponvel, o WS pode ser aumentado
Se memria livre ficar escassa, o SO diminui o WS dos processos de
usurio retirando suas pginas menos recentemente utilizadas

EXERCCIOS
1.

(POSCOMP 2004 - 32) Considere as seguintes afirmativas:


I.

II.
III.

IV.
V.

Uma modificao em uma CPU fez o cycle time e o CPI aumentarem de 10%
enquanto o nmero de instrues executadas para uma dada aplicao
decresceu de 20%. Podemos concluir que o tempo de execuo desta aplicao
ser mantido.
Um page fault ocorre quando a entrada correspondente pgina requerida no
encontrada no translation lookside buffer.
Para armazenar uma mesma quantidade de dados, uma cache direct mapped
tipicamente menor que uma cache set associative, assumindo blocos de mesmo
tamanho.
Aumentandose o tamanho do bloco de uma cache aumentamse as vantagens
obtidas com a localidade espacial.
Memria virtual tipicamente usa a estratgia writethrough ao invs de estratgia
writeback.

Quais so as alternativas verdadeiras?


a)
b)
c)
d)

e)

Somente as afirmativas I, II, III e IV so verdadeiras.


Somente as afirmativas I, III e IV so verdadeiras.
Somente as afirmativas II, III e IV so verdadeiras.
Somente as afirmativas III e IV so verdadeiras.
Todas as afirmativas so verdadeiras.

RESPOSTA DE EXERCCIOS
1.

(POSCOMP 2004 - 32) Considere as seguintes afirmativas:


I.

II.
III.

IV.
V.

Uma modificao em uma CPU fez o cycle time e o CPI aumentarem de 10%
enquanto o nmero de instrues executadas para uma dada aplicao
decresceu de 20%. Podemos concluir que o tempo de execuo desta aplicao
ser mantido.
Um page fault ocorre quando a entrada correspondente pgina requerida no
encontrada no translation lookside buffer.
Para armazenar uma mesma quantidade de dados, uma cache direct mapped
tipicamente menor que uma cache set associative, assumindo blocos de mesmo
tamanho.
Aumentandose o tamanho do bloco de uma cache aumentamse as vantagens
obtidas com a localidade espacial.
Memria virtual tipicamente usa a estratgia writethrough ao invs de
estratgia writeback.

Quais so as alternativas verdadeiras?


a)
b)
c)
d)

e)

Somente as afirmativas I, II, III e IV so verdadeiras.


Somente as afirmativas I, III e IV so verdadeiras.
Somente as afirmativas II, III e IV so verdadeiras.
Somente as afirmativas III e IV so verdadeiras.
Todas as afirmativas so verdadeiras.

EXERCCIOS
2.

(ENADE 2005 - questo 22) Com relao ao


gerenciamento de memria com paginao em sistemas
operacionais, assinale a opo correta.
A.

B.
C.

D.
E.

As pginas utilizadas por um processo, sejam de cdigo ou de dados, devem ser


obrigatoriamente armazenadas na partio de swap do disco, quando o processo
no estiver sendo executado
Todas as pginas de um processo em execuo devem ser mantidas na memria
fsica enquanto o processo no tiver terminado
Um processo somente pode ser iniciado se o sistema operacional conseguir alocar
um bloco contguo de pginas do tamanho da memria necessria para execuo do
processo
O espao de endereamento virtual disponvel para os processos pode ser maior
que a memria fsica disponvel
Um processo somente pode ser iniciado se o sistema operacional conseguir alocar
todas as pginas de cdigo desse processo

RESPOSTA DE EXERCCIOS
2.

(ENADE 2005 - questo 22) Com relao ao


gerenciamento de memria com paginao em sistemas
operacionais, assinale a opo correta.
A.

B.
C.

D.
E.

As pginas utilizadas por um processo, sejam de cdigo ou de dados, devem ser


obrigatoriamente armazenadas na partio de swap do disco, quando o processo
no estiver sendo executado
Todas as pginas de um processo em execuo devem ser mantidas na memria
fsica enquanto o processo no tiver terminado
Um processo somente pode ser iniciado se o sistema operacional conseguir alocar
um bloco contguo de pginas do tamanho da memria necessria para execuo
do processo
O espao de endereamento virtual disponvel para os processos pode ser maior
que a memria fsica disponvel
Um processo somente pode ser iniciado se o sistema operacional conseguir alocar
todas as pginas de cdigo desse processo

EXERCCIOS
3.
4.
5.

6.

7.

Porque utilizar sistemas de memria virtual?


Diga quando pode ocorrer page-fault
Quais so as tcnicas de escrita em memria virtual? Compare vantagens e
desvantagens de cada uma
O mapeamento em sistemas de memria virtual indexado ou associativo? Por
qu?
(ENADE 2010 - questo 36) Tcnicas eficientes para o uso de memria, como
memria virtual e caching, podem ser utilizadas, por qu?

a) aumentou o espao de armazenamento em RAM


b) memrias dinmicas so mais rpidas que memrias estticas
c) aumentou a velocidade de acesso para a memria RAM
d) o princpio da localidade pode ser aplicado
e) o thrashing no pode ocorrer em memrias modernas

RESPOSTA DE EXERCCIOS
3.
4.
5.

6.

7.

Porque utilizar sistemas de memria virtual?


Diga quando pode ocorrer page-fault
Quais so as tcnicas de escrita em memria virtual? Compare vantagens e
desvantagens de cada uma
O mapeamento em sistemas de memria virtual indexado ou associativo?
Por qu?
(ENADE 2010 - questo 36) Tcnicas eficientes para o uso de memria,
como memria virtual e caching, podem ser utilizadas, por qu?

a) aumentou o espao de armazenamento em RAM


b) memrias dinmicas so mais rpidas que memrias estticas
c) aumentou a velocidade de acesso para a memria RAM
d) o princpio da localidade pode ser aplicado
e) o thrashing no pode ocorrer em memrias modernas

EXERCCIOS
8.

(POSCOMP 2009 questo 26) Considere uma arquitetura de


memria com as seguintes caractersticas:
Memria logicamente particionada em segmentos paginados.
Endereos virtuais de 32 bits:

8 para segmentos
11 para pginas
O restante para o endereamento na pgina
Endereos fsicos de 20 bits e pginas de 8KB;

Caso o particionamento lgico fosse o de paginao pura, a


relao entre o nmero de pginas virtuais e o nmero de
frames seria equivalente a:
A)
B)
C)
D)
E)

8192
4096
1024
128
32

RESPOSTA DE EXERCCIOS
8.

(POSCOMP 2009 questo 26) Considere uma arquitetura de


memria com as seguintes caractersticas:
Memria logicamente particionada em segmentos paginados.
Endereos virtuais de 32 bits:

8 para segmentos
11 para pginas
O restante para o endereamento na pgina
Endereos fsicos de 20 bits e pginas de 8KB;

Caso o particionamento lgico fosse o de paginao pura, a


relao entre o nmero de pginas virtuais e o nmero de
frames seria equivalente a:
A)
B)
C)
D)
E)

8192
4096
1024
128
32

EXERCCIOS
9.

(POSCOMP 2012 questo 47) O fenmeno de thrashing


de um sistema caracterizado por:

a) Excesso de processos executando no sistema.


b) Impossibilidade de uso de memria virtual.
c) Execuo excessiva de coleta de lixo (garbage collection)
na memria.
d) Falhas eventuais no atendimento ao princpio da localidade
na memria.
e) Uso de algoritmos de paginao que causem a anomalia de
Belady.

RESPOSTA DE EXERCCIOS
9.

(POSCOMP 2012 questo 47) O fenmeno de thrashing


de um sistema caracterizado por:

a) Excesso de processos executando no sistema.


b) Impossibilidade de uso de memria virtual.
c) Execuo excessiva de coleta de lixo (garbage collection)
na memria.
d) Falhas eventuais no atendimento ao princpio da localidade
na memria.
e) Uso de algoritmos de paginao que causem a anomalia de
Belady.

EXERCCIOS
10.

(POSCOMP 2012 questo 49) O gerenciamento de memria virtual


(MV) pressupe a existncia de tabelas de pginas e mecanismos
para ranqueamento de pginas, alm da existncia do princpio da
localidade. Considerando que o algoritmo de MV, utilizado em um
dado sistema, permite que as pginas envolvidas na operao de
swapping sejam de conjuntos residentes diferentes, assinale a
alternativa que apresenta o impacto disso sobre os processos em
execuo

a) Deve piorar a taxa de faltas de pginas por no respeitar o princpio da localidade


b) Pode criar a ocorrncia de deadlocks entre os processos que usam os conjuntos residentes
envolvidos
c) deve melhorar a taxa de faltas de pginas por ajustar o tamanho dos vrios conjuntos
residentes
d) No altera a taxa de faltas de pginas pois essas no dependem dos conjuntos residentes
e) Fora o bloqueio desnecessrio de um processo que no teve falta de pgina enquanto o
swapping estava sendo realizado

RESPOSTA DE EXERCCIOS
10.

(POSCOMP 2012 questo 49) O gerenciamento de memria


virtual (MV) pressupe a existncia de tabelas de pginas e
mecanismos para ranqueamento de pginas, alm da
existncia do princpio da localidade. Considerando que o
algoritmo de MV, utilizado em um dado sistema, permite que
as pginas envolvidas na operao de swapping sejam de
conjuntos residentes diferentes, assinale a alternativa que
apresenta o impacto disso sobre os processos em execuo

a) Deve piorar a taxa de faltas de pginas por no respeitar o princpio da localidade


b) Pode criar a ocorrncia de deadlocks entre os processos que usam os conjuntos
residentes envolvidos
c) Deve melhorar a taxa de faltas de pginas por ajustar o tamanho dos vrios
conjuntos residentes
d) No altera a taxa de faltas de pginas pois essas no dependem dos conjuntos
residentes
e) Fora o bloqueio desnecessrio de um processo que no teve falta de pgina
enquanto o swapping estava sendo realizado

Das könnte Ihnen auch gefallen