Buscar

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MEMÓRIA VIRTUAL
 
MEMÓRIA VIRTUAL
Na gerência de memória convencional páginas ou 
segmentos (unidades) de um programa são todos 
carregados para MP antes de sua execução
Devido a localidade, um programa só precisa de algumas 
dessas unidades em um dado momento
⚫ É possível gerenciar a memória de forma que só unidades 
necessárias em um dado momento estejam na MP
Memória física pode ser melhor aproveitada, sendo 
possível:
⚫ Executar um programa maior que a MP
⚫ Executar vários programas “ao mesmo tempo” que somados 
são maiores que a MP
UCP gera endereços para espaço de endereçamento lógico 
maior que tamanho da MP física (daí o nome virtual)
MEMÓRIA VIRTUAL
SO aplica regras
⚫ Quando processo inicia não são carregadas todas suas 
unidades para MP
⚫ Tabelas de conversão de endereços indicam unidades que estão 
na MP (bit de validade)
MEMÓRIA VIRTUAL
SO aplica regras (continuação)
⚫ Quando necessário, sistema gera um page-fault e manda 
buscar página do disco
Carregadas por demanda
⚫ O processo perde o processador
⚫ Processo só retorna para fila de pronto quando unidade estiver 
disponível na MP
Se MP ficar cheia, novas unidades são colocadas no lugar das menos 
recentemente usadas (LRU)
⚫ Essa técnica tem os seguintes custos associados
Miss-penalty alto pois unidades têm que ser buscadas do disco
Aumenta número de trocas de contexto por causa de page-faults e de 
eventos a serem tratados (evento gerado quando a unidade foi trazida)
MEMÓRIA VIRTUAL - TRASHING
Problema que pode ocorrer na gerência de memória 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 páginas e 
processador não consegue executar nenhum processo
⚫ Ocorre quando muitos processos estão 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 são trazidas. A gerência de memória 
apaga unidades de outro processo por causa da falta de espaço na memória. 
Quando for a vez desse outro, suas páginas já não estão mais na memória, e 
assim por diante ...
⚫ Acima de um certo número de processos ativos o desempenho da 
máquina começa a diminuir
⚫ Este número é bastante dinâmico e depende:
Da arquitetura da máquina
Do tamanho da MP
Do número de processos ativos
Do tipo de processos que estão ativos (io-bound, cpu-bound)
MEMÓRIA VIRTUAL - TRASHING
A taxa de utilização do processador cai exponencialmente, quando o mesmo 
está em trashing, assim como ilustrado abaixo
ACESSO COMPLETO A ENDEREÇOS
MEMÓRIA
 CACHE
TLB HIT
TLB MISS
CACHE HIT
Envia dado 
para a CPU
CACHE MISS
MEMÓRIA
 PRINCIPAL
PAGE 
HIT
Disco
PAGE
FAULT
TABELA
DE
PÁGINAS TLB
ENDEREÇO LÓGICO
CPU
HITMISS
MEMÓRIA VIRTUAL - ESTUDO DE CASOS
Maioria dos SOs aplica técnicas de memória virtual na gerência de memória
No caso de sistemas que executam em múltiplas plataformas a gerência de 
memória pode variar, dependendo do hardware disponível (MMU – Memory 
Management Unity)
UNIX
⚫ Versões antigas do UNIX aplicavam um particionamento variável da 
memória sem memória virtual
⚫ Versões mais modernas (SVR4 e Solaris2.x) implementam memória virtual 
paginada
⚫ Substituição de páginas feita com variações do algoritmo do relógio
Para o kernel (pequenos blocos) é utilizado uma variação do algoritmo de buddy
MEMÓRIA VIRTUAL - LINUX
Linux
⚫ Tem várias características em comum com UNIX, mas 
tem suas peculiaridades
Implementa memória virtual paginada com tabela de página de 
3 níveis (diretório, diretório intermediário, página)
MEMÓRIA VIRTUAL - LINUX
Conceito de diretório reduz tamanho das tabelas
⚫ Aumenta complexidade de acesso (várias consultas para converter 
endereço)
Tabelas usadas em conversão mas estrutura das tabelas não é linear e sim 
uma árvore 
⚫ Várias tabelas de diretórios intermediários para cada entrada da tabela de 
diretórios
⚫ Várias tabelas de páginas para cada entrada de cada tabela de diretórios 
intermediários!!!
Páginas de 4Kbytes na família X86 e 8Kbytes na família Alpha
Para facilitar portabilidade tem um nível intermediário de gerência de 
memória Architecture Independent Memory Model
Substituição de páginas feita com variação do algoritmo do relógio
Alocação dinâmica feita na pilha do sistema (stack)
Para o kernel é utilizado uma variação do algoritmo de buddy
⚫ Linux implementa o Buddy sobre páginas mas subdivide-as em menores 
unidades para melhor atender as necessidades do kernel
MEMÓRIA VIRTUAL – OS2
MEMÓRIA VIRTUAL
Windows 2000
⚫ Utiliza memória virtual paginada
⚫ Divide espaço de memória virtual de 4 Gbytes (registrador de 
32 bits) em 2 GB para processos de usuário e 2 GB para SO
⚫ Quando processo de usuário é disparado recebe um número de 
frames de memória (Working Set - WS)
Substituições de páginas efetuadas apenas dentro deste WS, ou seja, só 
páginas do mesmo processo são candidatas para a substituição
Se número de substituições de um processo for grande e bastante 
memória estiver disponível, o WS pode ser aumentado
Se memória livre ficar escassa, o SO diminui o WS dos processos de 
usuário retirando suas páginas menos recentemente utilizadas
EXERCÍCIOS
1. (POSCOMP 2004 - 32) Considere as seguintes afirmativas:
I. Uma modificação em uma CPU fez o cycle time e o CPI aumentarem de 10% 
enquanto o número de instruções executadas para uma dada aplicação 
decresceu de 20%. Podemos concluir que o tempo de execução desta aplicação 
será mantido.
II. Um page fault ocorre quando a entrada correspondente à página requerida não 
é encontrada no translation lookside buffer.
III. Para armazenar uma mesma quantidade de dados, uma cache direct mapped é 
tipicamente menor que uma cache set associative, assumindo blocos de mesmo 
tamanho.
IV. Aumentando–se o tamanho do bloco de uma cache aumentam–se as vantagens 
obtidas com a localidade espacial.
V. Memória virtual tipicamente usa a estratégia write–through ao invés de 
estratégia write–back.
Quais são as alternativas verdadeiras?
a) Somente as afirmativas I, II, III e IV são verdadeiras.
b) Somente as afirmativas I, III e IV são verdadeiras.
c) Somente as afirmativas II, III e IV são verdadeiras.
d) Somente as afirmativas III e IV são verdadeiras.
e) Todas as afirmativas são verdadeiras.
RESPOSTA DE EXERCÍCIOS
1. (POSCOMP 2004 - 32) Considere as seguintes afirmativas:
I. Uma modificação em uma CPU fez o cycle time e o CPI aumentarem de 10% 
enquanto o número de instruções executadas para uma dada aplicação 
decresceu de 20%. Podemos concluir que o tempo de execução desta aplicação 
será mantido.
II. Um page fault ocorre quando a entrada correspondente à página requerida 
não é encontrada no translation lookside buffer.
III. Para armazenar uma mesma quantidade de dados, uma cache direct mapped 
é tipicamente menor que uma cache set associative, assumindo blocos de 
mesmo tamanho.
IV. Aumentando–se o tamanho do bloco de uma cache aumentam–se as 
vantagens obtidas com a localidade espacial.
V. Memória virtual tipicamente usa a estratégia write–through ao invés de 
estratégia write–back.
Quais são as alternativas verdadeiras?
a) Somente as afirmativas I, II, III e IV são verdadeiras.
b) Somente as afirmativas I, III e IV são verdadeiras.
c) Somente as afirmativas II, III e IV são verdadeiras.
d) Somente as afirmativas III e IV são verdadeiras.
e) Todas as afirmativas são verdadeiras.
EXERCÍCIOS
2. (ENADE 2005 - questão 22) Com relação ao 
gerenciamento de memória com paginação em sistemas 
operacionais, assinale a opção correta.
A. As páginas utilizadas por um processo, sejam de código ou de dados, devem ser 
obrigatoriamente armazenadas na partição de swap do disco, quando o processo 
não estiver sendo executado
B. Todas as páginas de um processo em execução devem ser mantidas na memória 
física enquanto o processo não tiver terminado
C. Um processo somente pode ser iniciado se o sistemaoperacional conseguir alocar 
um bloco contíguo de páginas do tamanho da memória necessária para execução 
do processo
D. O espaço de endereçamento virtual disponível para os processos pode ser maior 
que a memória física disponível
E. Um processo somente pode ser iniciado se o sistema operacional conseguir alocar 
todas as páginas de código desse processo
RESPOSTA DE EXERCÍCIOS
2. (ENADE 2005 - questão 22) Com relação ao 
gerenciamento de memória com paginação em sistemas 
operacionais, assinale a opção correta.
A. As páginas utilizadas por um processo, sejam de código ou de dados, devem ser 
obrigatoriamente armazenadas na partição de swap do disco, quando o processo 
não estiver sendo executado
B. Todas as páginas de um processo em execução devem ser mantidas na memória 
física enquanto o processo não tiver terminado
C. Um processo somente pode ser iniciado se o sistema operacional conseguir 
alocar um bloco contíguo de páginas do tamanho da memória necessária para 
execução do processo
D. O espaço de endereçamento virtual disponível para os processos pode ser maior 
que a memória física disponível
E. Um processo somente pode ser iniciado se o sistema operacional conseguir 
alocar todas as páginas de código desse processo
EXERCÍCIOS
3. Porque utilizar sistemas de memória virtual?
4. Diga quando pode ocorrer page-fault
5. Quais são as técnicas de escrita em memória virtual? Compare vantagens e 
desvantagens de cada uma
6. O mapeamento em sistemas de memória virtual é indexado ou associativo? 
Por quê?
7. (ENADE 2010 - questão 36) Técnicas eficientes para o uso de memória, como 
memória virtual e caching, podem ser utilizadas, por quê?
a) aumentou o espaço de armazenamento em RAM
b) memórias dinâmicas são mais rápidas que memórias estáticas
c) aumentou a velocidade de acesso para a memória RAM
d) o princípio da localidade pode ser aplicado
e) o thrashing não pode ocorrer em memórias modernas
RESPOSTA DE EXERCÍCIOS
3. Porque utilizar sistemas de memória virtual?
4. Diga quando pode ocorrer page-fault
5. Quais são as técnicas de escrita em memória virtual? Compare vantagens 
e desvantagens de cada uma
6. O mapeamento em sistemas de memória virtual é indexado ou associativo? 
Por quê?
7. (ENADE 2010 - questão 36) Técnicas eficientes para o uso de memória, 
como memória virtual e caching, podem ser utilizadas, por quê?
a) aumentou o espaço de armazenamento em RAM
b) memórias dinâmicas são mais rápidas que memórias 
estáticas
c) aumentou a velocidade de acesso para a memória RAM
d) o princípio da localidade pode ser aplicado
e) o thrashing não pode ocorrer em memórias modernas
EXERCÍCIOS
8. (POSCOMP 2009 questão 26) Considere uma arquitetura de 
memória com as seguintes características:
⚫ Memória logicamente particionada em segmentos paginados.
⚫ Endereços virtuais de 32 bits:
8 para segmentos
11 para páginas
O restante para o endereçamento na página
Endereços físicos de 20 bits e páginas de 8KB;
Caso o particionamento lógico fosse o de paginação pura, a 
relação entre o número de páginas virtuais e o número de 
frames seria equivalente a:
A) 8192
B) 4096
C) 1024
D) 128
E) 32
RESPOSTA DE EXERCÍCIOS
8. (POSCOMP 2009 questão 26) Considere uma arquitetura de 
memória com as seguintes características:
⚫ Memória logicamente particionada em segmentos paginados.
⚫ Endereços virtuais de 32 bits:
8 para segmentos
11 para páginas
O restante para o endereçamento na página
Endereços físicos de 20 bits e páginas de 8KB;
Caso o particionamento lógico fosse o de paginação pura, a 
relação entre o número de páginas virtuais e o número de 
frames seria equivalente a:
A) 8192
B) 4096
C) 1024
D) 128
E) 32
EXERCÍCIOS
9. (POSCOMP 2012 questão 47) O fenômeno de thrashing 
de um sistema é caracterizado por:
a) Excesso de processos executando no sistema.
b) Impossibilidade de uso de memória virtual.
c) Execução excessiva de coleta de lixo (garbage collection) 
na memória.
d) Falhas eventuais no atendimento ao princípio da 
localidade na memória.
e) Uso de algoritmos de paginação que causem a anomalia 
de Belady.
RESPOSTA DE EXERCÍCIOS
9. (POSCOMP 2012 questão 47) O fenômeno de thrashing 
de um sistema é caracterizado por:
a) Excesso de processos executando no sistema.
b) Impossibilidade de uso de memória virtual.
c) Execução excessiva de coleta de lixo (garbage collection) 
na memória.
d) Falhas eventuais no atendimento ao princípio da 
localidade na memória.
e) Uso de algoritmos de paginação que causem a anomalia 
de Belady.
EXERCÍCIOS
10. (POSCOMP 2012 questão 49) O gerenciamento de memória virtual 
(MV) pressupõe a existência de tabelas de páginas e mecanismos 
para ranqueamento de páginas, além da existência do princípio da 
localidade. Considerando que o algoritmo de MV, utilizado em um 
dado sistema, permite que as páginas envolvidas na operação de 
swapping sejam de conjuntos residentes diferentes, assinale a 
alternativa que apresenta o impacto disso sobre os processos em 
execução
a) Deve piorar a taxa de faltas de páginas por não respeitar o princípio da localidade
b) Pode criar a ocorrência de deadlocks entre os processos que usam os conjuntos residentes 
envolvidos
c) deve melhorar a taxa de faltas de páginas por ajustar o tamanho dos vários conjuntos 
residentes
d) Não altera a taxa de faltas de páginas pois essas não dependem dos conjuntos residentes
e) Força o bloqueio desnecessário de um processo que não teve falta de página enquanto o 
swapping estava sendo realizado
RESPOSTA DE EXERCÍCIOS
10. (POSCOMP 2012 questão 49) O gerenciamento de memória 
virtual (MV) pressupõe a existência de tabelas de páginas e 
mecanismos para ranqueamento de páginas, além da 
existência do princípio da localidade. Considerando que o 
algoritmo de MV, utilizado em um dado sistema, permite 
que as páginas envolvidas na operação de swapping sejam 
de conjuntos residentes diferentes, assinale a alternativa 
que apresenta o impacto disso sobre os processos em 
execução
a) Deve piorar a taxa de faltas de páginas por não respeitar o princípio da 
localidade
b) Pode criar a ocorrência de deadlocks entre os processos que usam os conjuntos 
residentes envolvidos
c) Deve melhorar a taxa de faltas de páginas por ajustar o tamanho dos vários 
conjuntos residentes
d) Não altera a taxa de faltas de páginas pois essas não dependem dos conjuntos 
residentes
e) Força o bloqueio desnecessário de um processo que não teve falta de página 
enquanto o swapping estava sendo realizado

Mais conteúdos dessa disciplina