SlideShare uma empresa Scribd logo
1 de 24
Memória Virtual
ARQUITETURAS DE COMPUTADORES II
Prof. César Augusto M. Marcon
2 / 18
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)
3 / 18
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)
4 / 18
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)
5 / 18
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)
6 / 18
Memória Virtual - Trashing
• A taxa de utilização do processador cai exponencialmente, quando o
mesmo está em trashing, assim como ilustrado abaixo
7 / 18
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
HIT
MISS
8 / 18
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
9 / 18
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)
10 / 18
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
11 / 18
Memória Virtual – OS2
12 / 18
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
13 / 18
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
14 / 18
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
15 / 18
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
16 / 18
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
Resposta de Exercícios
17 / 18
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
18 / 18
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
19 / 18
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
20 / 18
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
21 / 18
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
22 / 18
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
23 / 18
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
Exercícios
24 / 18
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

Mais conteúdo relacionado

Mais procurados

Sistemas operacionais memória no linux
Sistemas operacionais   memória no linuxSistemas operacionais   memória no linux
Sistemas operacionais memória no linuxCarlos Melo
 
Gerenciamento de Memoria
Gerenciamento de MemoriaGerenciamento de Memoria
Gerenciamento de Memoriaaudineisilva1
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema OperacionalCláudia Costa
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linuxPeslPinguim
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Pepe Rocker
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processosComputação Depressão
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidorSandu Postolachi
 
Hardware
HardwareHardware
Hardwareleiladb
 
Aula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivosAula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivoscamila_seixas
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoHus Juky
 
Ppt conhecendo o windows 7
Ppt conhecendo o windows 7Ppt conhecendo o windows 7
Ppt conhecendo o windows 7Eduardo Sena
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidoresMarco Guimarães
 

Mais procurados (20)

Sistemas operacionais memória no linux
Sistemas operacionais   memória no linuxSistemas operacionais   memória no linux
Sistemas operacionais memória no linux
 
Sistemas de Arquivos do Windows
Sistemas de Arquivos do WindowsSistemas de Arquivos do Windows
Sistemas de Arquivos do Windows
 
Gerenciamento de Memoria
Gerenciamento de MemoriaGerenciamento de Memoria
Gerenciamento de Memoria
 
Trabalho linux
Trabalho linuxTrabalho linux
Trabalho linux
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema Operacional
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
 
Linux
LinuxLinux
Linux
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
Aula gerenciamento de arquivos e pastas
Aula   gerenciamento de arquivos e pastasAula   gerenciamento de arquivos e pastas
Aula gerenciamento de arquivos e pastas
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidor
 
Hardware
HardwareHardware
Hardware
 
Slide disco rigido
Slide disco rigidoSlide disco rigido
Slide disco rigido
 
Aula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivosAula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivos
 
Dispositivos móveis
Dispositivos móveisDispositivos móveis
Dispositivos móveis
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºano
 
Ppt conhecendo o windows 7
Ppt conhecendo o windows 7Ppt conhecendo o windows 7
Ppt conhecendo o windows 7
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores
 

Destaque

Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtualandreapab
 
Mapa mental de memoria virtual
Mapa mental de memoria virtualMapa mental de memoria virtual
Mapa mental de memoria virtualjorge77712
 
Memoria virtual
Memoria  virtualMemoria  virtual
Memoria virtualnatali45
 
Memoria virtual ferney linares
Memoria  virtual  ferney linaresMemoria  virtual  ferney linares
Memoria virtual ferney linaresdjferney
 
Fernando rincon s.o memoria virtual
Fernando rincon s.o memoria virtualFernando rincon s.o memoria virtual
Fernando rincon s.o memoria virtualfernandorincon125
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria VirtualUCC
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtualyurihils
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosPablo Macon
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUALandresinf
 
Capítulo 3 - Libro Azúl (Profesor)
Capítulo 3 - Libro Azúl (Profesor)Capítulo 3 - Libro Azúl (Profesor)
Capítulo 3 - Libro Azúl (Profesor)fredur
 

Destaque (20)

Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memória virtual
Memória virtualMemória virtual
Memória virtual
 
Mapa mental de memoria virtual
Mapa mental de memoria virtualMapa mental de memoria virtual
Mapa mental de memoria virtual
 
Memória virtual
Memória virtualMemória virtual
Memória virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria  virtualMemoria  virtual
Memoria virtual
 
Memoria virtual ferney linares
Memoria  virtual  ferney linaresMemoria  virtual  ferney linares
Memoria virtual ferney linares
 
Fernando rincon s.o memoria virtual
Fernando rincon s.o memoria virtualFernando rincon s.o memoria virtual
Fernando rincon s.o memoria virtual
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Administracion de Memoria
Administracion de MemoriaAdministracion de Memoria
Administracion de Memoria
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas Operativos
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUAL
 
Memoria virtual2
Memoria virtual2Memoria virtual2
Memoria virtual2
 
Capítulo 3 - Libro Azúl (Profesor)
Capítulo 3 - Libro Azúl (Profesor)Capítulo 3 - Libro Azúl (Profesor)
Capítulo 3 - Libro Azúl (Profesor)
 
Exp so politicas
Exp so politicasExp so politicas
Exp so politicas
 

Semelhante a Memória Virtual: conceitos e aplicações

Memoria Virtual - Gerenciamento
Memoria Virtual - GerenciamentoMemoria Virtual - Gerenciamento
Memoria Virtual - GerenciamentoErichBraganca
 
Memória Virtual - Aspectos Básicos
Memória Virtual - Aspectos BásicosMemória Virtual - Aspectos Básicos
Memória Virtual - Aspectos Básicosblumenschein
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Faculdade Mater Christi
 
Senai sistemas operacionais gerenciamento memoria
Senai   sistemas operacionais gerenciamento memoriaSenai   sistemas operacionais gerenciamento memoria
Senai sistemas operacionais gerenciamento memoriaCarlos Melo
 
Memória virtual 2
Memória virtual 2Memória virtual 2
Memória virtual 2jackeline456
 
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
Amostra   Resolucao da Prova Sefaz 2007   Prof JaimeAmostra   Resolucao da Prova Sefaz 2007   Prof Jaime
Amostra Resolucao da Prova Sefaz 2007 Prof JaimeWalter Cunha
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria37193694
 
Gerência de Memória: Memória Virtual
Gerência de Memória: Memória VirtualGerência de Memória: Memória Virtual
Gerência de Memória: Memória VirtualAlexandre Duarte
 
Gerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalGerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalAlexandre Duarte
 
Gerencia de Memoria Virtual
Gerencia de Memoria VirtualGerencia de Memoria Virtual
Gerencia de Memoria VirtualGabriela Almeida
 
Arquitetura 8 1 - 2012.2
Arquitetura 8   1 - 2012.2Arquitetura 8   1 - 2012.2
Arquitetura 8 1 - 2012.2Paulo Fonseca
 
Arquitetura 8 1 - 2012.2
Arquitetura 8   1 - 2012.2Arquitetura 8   1 - 2012.2
Arquitetura 8 1 - 2012.2Paulo Fonseca
 
Resolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisResolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisRonildo Oliveira
 
Sistemas Operacionais 13 gerenciamento de memória
Sistemas Operacionais  13   gerenciamento de memóriaSistemas Operacionais  13   gerenciamento de memória
Sistemas Operacionais 13 gerenciamento de memóriaMauro Duarte
 
Aumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinadaAumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinadaHenrique Lima
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisBia Vieira
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoriaJailson Silva
 

Semelhante a Memória Virtual: conceitos e aplicações (20)

Memoria Virtual - Gerenciamento
Memoria Virtual - GerenciamentoMemoria Virtual - Gerenciamento
Memoria Virtual - Gerenciamento
 
Memória Virtual - Aspectos Básicos
Memória Virtual - Aspectos BásicosMemória Virtual - Aspectos Básicos
Memória Virtual - Aspectos Básicos
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)
 
Senai sistemas operacionais gerenciamento memoria
Senai   sistemas operacionais gerenciamento memoriaSenai   sistemas operacionais gerenciamento memoria
Senai sistemas operacionais gerenciamento memoria
 
Gestao de Memoria_SLIDE.pptx
Gestao de Memoria_SLIDE.pptxGestao de Memoria_SLIDE.pptx
Gestao de Memoria_SLIDE.pptx
 
355862 slide12-mem virt
355862 slide12-mem virt355862 slide12-mem virt
355862 slide12-mem virt
 
Memória virtual 2
Memória virtual 2Memória virtual 2
Memória virtual 2
 
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
Amostra   Resolucao da Prova Sefaz 2007   Prof JaimeAmostra   Resolucao da Prova Sefaz 2007   Prof Jaime
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria
 
Gerência de Memória: Memória Virtual
Gerência de Memória: Memória VirtualGerência de Memória: Memória Virtual
Gerência de Memória: Memória Virtual
 
Gerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalGerência de Memória: Memória Principal
Gerência de Memória: Memória Principal
 
Gerencia de Memoria Virtual
Gerencia de Memoria VirtualGerencia de Memoria Virtual
Gerencia de Memoria Virtual
 
Gerenciamento memoria
Gerenciamento memoriaGerenciamento memoria
Gerenciamento memoria
 
Arquitetura 8 1 - 2012.2
Arquitetura 8   1 - 2012.2Arquitetura 8   1 - 2012.2
Arquitetura 8 1 - 2012.2
 
Arquitetura 8 1 - 2012.2
Arquitetura 8   1 - 2012.2Arquitetura 8   1 - 2012.2
Arquitetura 8 1 - 2012.2
 
Resolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisResolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas Operacionais
 
Sistemas Operacionais 13 gerenciamento de memória
Sistemas Operacionais  13   gerenciamento de memóriaSistemas Operacionais  13   gerenciamento de memória
Sistemas Operacionais 13 gerenciamento de memória
 
Aumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinadaAumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinada
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoria
 

Memória Virtual: conceitos e aplicações

  • 1. Memória Virtual ARQUITETURAS DE COMPUTADORES II Prof. César Augusto M. Marcon
  • 2. 2 / 18 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)
  • 3. 3 / 18 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)
  • 4. 4 / 18 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)
  • 5. 5 / 18 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)
  • 6. 6 / 18 Memória Virtual - Trashing • A taxa de utilização do processador cai exponencialmente, quando o mesmo está em trashing, assim como ilustrado abaixo
  • 7. 7 / 18 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 HIT MISS
  • 8. 8 / 18 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
  • 9. 9 / 18 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)
  • 10. 10 / 18 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
  • 11. 11 / 18 Memória Virtual – OS2
  • 12. 12 / 18 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
  • 13. 13 / 18 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
  • 14. 14 / 18 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
  • 15. 15 / 18 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
  • 16. 16 / 18 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 Resposta de Exercícios
  • 17. 17 / 18 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
  • 18. 18 / 18 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
  • 19. 19 / 18 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
  • 20. 20 / 18 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
  • 21. 21 / 18 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
  • 22. 22 / 18 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
  • 23. 23 / 18 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 Exercícios
  • 24. 24 / 18 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