Buscar

Memória Virtual(Lista Resolvida)

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 8 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 8 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

Prévia do material em texto

Disciplina: Sistemas Operacionais
Professor(a): Erasmo Evangelista
Aluno(a): Rodolfo Lima, Eduardo Sales
Matrícula: 009360, 101275
Memória Virtual
1. Quais os benefícios oferecidos pela técnica de memória virtual? Como este conceito permite
que um programa e seus dados ultrapassem os limites da memória principal?
Os principais benefícios da técnica de memória virtual são possibilitar que programas e dados sejam
armazenados independentemente do tamanho da memória principal, permitir um número maior de
processos compartilhando a memória principal e minimizar o problema da fragmentação. O que
possibilita que um programa e seus dados ultrapassem os limites da memória principal é a técnica de
gerência de memória virtual que combina as memórias principal e secundária, estendendo o espaço
de endereçamento dos processos.
2. Qual a principal diferença entre os sistemas que implementam paginação e segmentação?
A principal diferença entre os dois sistemas está relacionada a forma como o espaço de
endereçamento virtual está dividido logicamente. Na paginação, o espaço de endereçamento está
dividido em blocos com o mesmo número de endereços virtuais (páginas), enquanto que na
segmentação o tamanho dos blocos pode variar (segmentos).
3. Determinado computador fornece a seus usuários um espaço de memória virtual de 232
Kbytes. O computador tem 218 Kbytes de memória física. A memória virtual é implementada
por paginação e o tamanho de página é 4096 bytes. Um processo de usuário gera o endereço
virtual 123456. Explique como o sistema estabelece a posição física correspondente.
Em um sistema de memória virtual baseada em paginação, o endereço virtual apresenta o formato (p,
d), onde p = número da página e d = deslocamento dentro da página. A MMU (Memory
Management Unit) deve, portanto, transformar primeiramente o endereço virtual “linear” 123456
para este formato (no exemplo da questão, o sistema possui 58 páginas virtuais (232K/4k = 58) e
cada endereço virtual possui 18 bits, assim divididos: 6 bits para armazenar o número p da página e
12 bits para armazenar o deslocamento d). Para se determinar os valores de página e deslocamento, o
endereço virtual 123456 é dividido pelo tamanho da página, que é de 4096 bytes. O resultado desta
divisão implica em: página = 30, deslocamento = 576. De posse do número da página, a tabela de
páginas do processo é então acessada para se descobrir se esta página está mapeada na memória. Se
estiver, o número da moldura correspondente é usado para, juntamente com o deslocamento, calcular
o endereço físico a ser acessado (endereço físico = número da moldura * tamanho da moldura +
deslocamento). O tamanho da moldura é, obviamente, igual ao tamanho da página. Caso a página
acessada não esteja na memória (o que pode ser deduzido observando-se o valor do bit de
validade/presença da entrada na tabela de páginas), é gerada uma exceção (page fault – falta de
página) e um algoritmo de substituição de páginas é executado para se determinar qual das páginas
mapeadas na memória deve ser substituída para que a página recém-acessada seja carregada na
moldura em que se encontra a página selecionada para expulsão. A tabela de páginas é atualizada.
Por exemplo, supondo que a página 30 esteja mapeada na moldura 10 da memória real, a posição
física correspondente seria assim calculada: 10 x 4096 + 576 (moldura x tamanho da moldura +
deslocamento), resultando em acesso ao endereço físico 41.536. Caso o hardware possua um sistema
de cache de páginas implementado via TLB - Translation Look Aside Buffer, a página a ser acessada
é verificada antes se está na TLB Caso não esteja mapeada, somente depois é examinada a tabela de
páginas do processo na memória. O endereço da tabela de páginas na memória faz parte do contexto
do processo. 
MMU, formato do endereço virtual (página, deslocamento), tabela de páginas, moldura, bit de
validade/presença, cálculo do endereço físico (moldura * tamanho da moldura + deslocamento),
1
Disciplina: Sistemas Operacionais
Professor(a): Erasmo Evangelista
Aluno(a): Rodolfo Lima, Eduardo Sales
Matrícula: 009360, 101275
falta de página (page fault), algoritmo de substituição de página, atualização da tabela de páginas,
TLB.
4. O que são tabelas de páginas e tabelas de segmentos? Para que serve o bit de validade nas
tabelas de páginas e segmentos?
São tabelas de mapeamento, utilizadas no mecanismo de memória virtual, que possibilitam que
endereços virtuais sejam traduzidos em endereços reais; O bit de validade serve para indicar se a
página ou segmento em questão encontra-se na memória principal.
5. Explique o conceito de falta de página (page fault). Quando ocorre e quem controla a sua
ocorrência? Como uma elevada taxa de page fault pode comprometer o desempenho do
sistema operacional?
O page fault ocorre todas as vezes que um processo faz referência a um endereço virtual pertencente
a uma página virtual que não se encontra mapeada em uma página real, ou seja, não está, no
momento, na memória principal. A ocorrência de um page fault é verificada através do bit de
validade presente na ETP da tabela de páginas referente à página virtual. Uma elevada taxa de page
fault pode comprometer o desempenho do sistema devido ao excessivo overhead de operações de
E/S gerados pela paginação.
6. Cite dois algoritmos de substituição de página. Faça um paralelo entre eles.
FIFO – First In First Out 
• O SO mantém uma lista por tempo de permanência na TP
• No page fault, a página mais antiga é removida
• Mas a página mais antiga nem sempre é a menos usada
Algoritmo Segunda Chance
• Semelhante ao FIFO, mas com inspeção do bit R quando ocorre page fault
• Se R = 0, substitui, caso contrário, manda a página para o fim da lista, zerando o bit R
• Procura por uma página antiga que não foi referenciada recentemente
• Se todas as páginas tenham sido referenciadas recentemente, usa FIFO
São soluções de baixa performance, pois realiza movimentos de página na TP.
7. Descreva como ocorre a fragmentação interna em um sistema que implementa paginação.
A fragmentação interna em um sistema que implementa paginação só é encontrada, realmente, na
última página, quando o código não o culpa o frame por completo.
8. Explique como um endereço virtual de um processo é traduzido para um endereço real na
memória principal?
Um programa no ambiente de memória virtual não faz referência a endereços físicos de memória
(endereços reais), mas apenas a endereços virtuais. No momento da execução de uma instrução, o
endereço virtual referenciado é traduzido para um endereço físico, pois o processador manipula
apenas posições da memória principal. O mecanismo de tradução do endereço virtual para endereço
físico é denominado mapeamento. O dispositivo de hardware responsável por esta tradução é
conhecido como unidade de gerência de memória (Memory Management Unit – MMU), sendo
acionado sempre que se faz referência a um endereço virtual. Depois de traduzido, o endereço real
pode ser utilizado pelo processador para o acesso à memória principal.
2
Disciplina: Sistemas Operacionais
Professor(a): Erasmo Evangelista
Aluno(a): Rodolfo Lima, Eduardo Sales
Matrícula: 009360, 101275
9. Um sistema com gerência de memória virtual por paginação possui tamanho de página igual a
512, espaço de endereçamento virtual com 512 páginas endereçadas de 0 a 511 e memória real
com 10 páginas numeradas de 0 a 9. O conteúdo atual da memória real contém apenas
informações de um único processo e é descrito resumidamente na tabela abaixo:
Endereço Físico Conteúdo
1536 Página Virtual 34
2048 Página Virtual 9
3072 Tabela de páginas
3584 Página Virtual 65
• Considere que a entrada da tabela de páginas contém, além do endereço do frame,
também o número da página virtual. Mostre o conteúdo da tabela de páginas deste
processo.
NPV Frame
9 4
10 9
34 3
65 7
• Mostre o conteúdoda tabela de páginas após a página virtual 49 ser carregada na
memória a partir do endereço real 0 e a página virtual 34 ser substituída pela página
virtual 12.
NPV Frame
9 4
10 9
12 3
49 0
65 7
• Como é o formato do endereço virtual deste sistema? 
O endereço virtual possui 9 bits para endereçar a tabela de páginas e 9 bits para o
deslocamento dentro da página. 
• Qual endereço físico está associado ao endereço virtual 4613?
O endereço virtual 4613 encontra-se na página virtual 9 (4613/512), que inicia no endereço
virtual 4608. Como o deslocamento dentro do endereço virtual é 5, o endereço físico é a
soma deste mesmo deslocamento ao endereço inicial do frame 2048, ou seja, 2053. 
10. Um sistema operacional implementa gerência de memória virtual por paginação. Considere
endereços virtuais com 16 bits, referenciados por um mesmo processo durante sua execução e
sua tabela de páginas abaixo com no máximo 256 entradas, sendo que estão representadas
apenas as páginas presentes na memória real. Indique para cada endereço virtual a seguir a
3
Disciplina: Sistemas Operacionais
Professor(a): Erasmo Evangelista
Aluno(a): Rodolfo Lima, Eduardo Sales
Matrícula: 009360, 101275
página virtual em que o endereço se encontra, o respectivo deslocamento e se a página se
encontra na memória principal neste momento.
• 30710 
Página virtual 1, deslocamento 51 e está na memória.
• 204910 
Página virtual 8, deslocamento 1 e não está na memória.
• 230410 
Página virtual 9, deslocamento 0 e está na memória.
• 102710 
Página virtual 5, deslocamento 3 e está na memória.
Página Endereço Físico
0 8 Kb
1 4 Kb
2 24 Kb
3 0 Kb
4 16 Kb
5 12 Kb
9 20 Kb
11 28 Kb
11. Um sistema operacional implementa gerência de memória virtual por paginação, com
molduras de 2Kb. A partir da tabela abaixo, que representa o mapeamento de páginas de um
processo em um determinado instante de tempo, responda:
Página Bit de Presença Moldura
0 Sim 20
1 Sim 40
2 Sim 100
3 Sim 10
4 Não 50
5 Não 70
6 Sim 1000
• Qual o endereço físico de uma variável que ocupa o último byte da página 3?
Página 3 está mapeada no frame 10 que é o 11° frame da memória principal. Endereço
físico: (11 x 2K) -1= 22.527 
• Qual o endereço físico de uma variável que ocupe o primeiro byte da página 2?
Página 2 está mapeada no frame 100 que é o 101° frame da memória principal. Endereço
físico: (100 x 2K) = 204.800 
4
Disciplina: Sistemas Operacionais
Professor(a): Erasmo Evangelista
Aluno(a): Rodolfo Lima, Eduardo Sales
Matrícula: 009360, 101275
• Qual o endereço físico de uma variável que tenha deslocamento 10 na página 3?
Página 3 está mapeada no frame 10 que é o 11° frame da memória principal. O primeiro
endereço da página 3 é (10x2K) = 20.480 somando ao deslocamento 10 = 20.490 
• Quais páginas do processo estarão na memória?
0, 1, 2, 3 e 6
12. Uma memória virtual possui páginas de 1024 endereços, existem 8 páginas virtuais e 4096
bytes de memória real. A tabela de páginas de um processo está descrita abaixo, sendo que o
asterisco indica que a página não está na memória principal: 
• Faça a lista/faixa de todos os endereços virtuais que irão causar page fault.
Pag. 2 (2048 / 3071), pag. 3 (3072 / 4095) e pag. 5 (5120 / 6143)
• Indique o endereço real correspondente aos seguintes endereços virtuais: 0, 1023, 1024,
6500 e 3728.
End. Virtual 0 (PV 0 / Deslocamento 0) - End. Real = 3072 + 0 = 3072 
End. Virtual 1023 (PV 0 / Deslocamento 1023) - End. Real = 3072 + 1023 = 4095 
End. Virtual 1024 (PV 1 / Deslocamento 0) - End. Real = 1024 + 0 = 1024 
End. Virtual 6500 (PV 6 / Deslocamento 356) - End. Real = 0 + 356 = 356 
End. Virtual 3728 (PV 3 / Deslocamento 656) - Page Fault
Página Virtual Página Real
0 3
1 1
2 *
3 *
4 2
5 *
13. Por que existe a necessidade de uma política de substituição de páginas?
Em algumas situações, quando um processo atinge o seu limite de alocação de frames de necessita
alocar novas páginas na memória principal , o sistema operacional deve selecionar, dentre as
diversas páginas alocadas, qual deverá ser liberada. Este mecanismo é chamado de politica de
substituição de páginas. Uma página real, quando liberada por um processo, está livre para ser
utilizada por qualquer outro processo. A partir dessa situação, qualquer estrategia de substituição de
página deve considerar se uma página foi ou não modificada antes de liberá la; caso contrário, os
dados armazenados na página podem ser perdidos. No caso de páginas contendo código executável.
Que não sofrem alterações, não existe essa preocupação, pois exite uma cópia do código no arquivo
executável em disco. As páginas modificáveis, que armazenam variáveis e estruturas de dados,
podem sofrer alterações. Neste caso, o sistema deverá gravá-la na memória secundária antes do
descarte, preservando seu conteúdo para uso em futuras referências. Este mecanismo é conhecido
como page out. Com este propósito, o sistema mantém um arquivo de paginação (page file) onde
todas as páginas modificadas e descartadas são armazenadas. Sempre que uma página modificada for
novamente referenciada, ocorrerá uma page in, carregando-a para a memória principal a partir do
arquivo de paginação.
5
Disciplina: Sistemas Operacionais
Professor(a): Erasmo Evangelista
Aluno(a): Rodolfo Lima, Eduardo Sales
Matrícula: 009360, 101275
O sistema operacional consegue identificar as páginas modificadas através de um bit que existe em
cada entrada da tabela de página, chamado bit de modificação (dirty bit ou modify bit).
Sempre que uma página sofre uma alteração, o valor do bit de modificação é alterado, indicando
que a página foi modificada. Na política de substituição de páginas pode ser classificada conforme
seu escopo, ou seja, dentre os processos residentes na memória principal quais são candidatos a ter
páginas realocadas. Em função desse escopo, a política de substituição pode ser pode ser definida
como local ou global.
14. Para que serve o bit de modificação nas tabelas de páginas e segmentos? 
Para indicar se a página ou segmento foi modificado desde o momento em que foi carregado pela
última vez na memória principal. 
15. Como o princípio da localidade viabiliza a implementação da gerência de memória virtual por
paginação?
O princípio da localidade é fundamental para qualquer sistema que implemente a gerência de 
memória virtual, pois reduz a ocorrência de page/segments faults e, consequentemente, operações de
E/S. 
16. Descreva os algoritmos de substituição de páginas FIFO e LRU, apresentando vantagens e
desvantagens.
No algoritmo FIFO, a página que primeiro foi utilizada será a primeira a ser escolhida, ou seja, o
algoritmo seleciona a página que está há mais tempo na memória principal. O algoritmo pode ser
implementado associando-se a cada página o momento em que foi carregada para a memória ou
utilizando-se uma estrutura de fila, onde as páginas mais antigas estão no início e as mais recentes no
final.
Parece razoável pensar que uma página que estejam há mais tempo na memória seja justamente
aquela que deva ser selecionada, porém isto nem sempre é verdadeiro. No caso de uma página que
contém dados, o fator tempo torna-se irrelevante e o sistema tem que referenciar a mesma página
diversas vezes ao longo do processamento.
O algoritmo FIFO é raramente implementado sem algum outro mecanismo que minimize o problema
da seleção de páginas antigas que são constantemente referenciadas.
O algoritmo LRU seleciona a página na memória principal que está há mais tempo sem ser
referenciada. Se considerarmos o princípio da localidade, uma página que não foi utilizada
recentemente provavelmente não será referenciada novamente em um futuro próximo.
Para implementar esse algoritmo, é necessário que cada página tenha associada o momento do
último acesso, que deve ser atualizado a cada referência aum frame. Quando for necessário
substituir uma página, o sistema fará uma busca por um frame que esteja há mais tempo sem ser
referenciado. Outra maneira de implementar o LRU seria através de uma lista encadeada, onde todas
as páginas estariam ordenadas pelo momento da última referência. Neste caso, cada acesso à
memória exigiria um acesso à lista.
17. Considere um sistema com memória virtual por paginação com endereço virtual com 24 bits e
página com 2048 endereços. Na tabela de páginas abaixo, de um processo em determinado
6
Disciplina: Sistemas Operacionais
Professor(a): Erasmo Evangelista
Aluno(a): Rodolfo Lima, Eduardo Sales
Matrícula: 009360, 101275
instante de tempo, o bit de validade 1 indica página na memória principal e bit de modificação
1 indica que a página sofreu alteração.
Página BV BM End. do Frame
0 1 1 30720
1 1 0 0
2 1 1 10240
3 0 1 ********
4 0 0 ********
5 1 0 6144
• Quantos bits possui o campo deslocamento do endereço virtual? 
11 bits.
• Qual o número máximo de entradas que a tabela de páginas pode ter?
224 / 211 = 213
• Qual o endereço físico que ocupa o último endereço da página 2?
10.240 + 2.047 = 12.287
• Qual o endereço físico traduzido do endereço virtual 00080 A16 ?
00080 A16 = 2058, página virtual 1, deslocamento 100 e endereço físico igual a 100.
• Caso ocorra um page fault e uma das páginas do processo deva ser descartada, quais
páginas poderiam sofrer page out?
Páginas 0 e 2 pois estão na memória principal e possuem BM=1.
18. Considere um sistema de memória virtual que implemente paginação, onde o limite de frames
por processo é igual a três. Descreva para os itens abaixo, onde é apresentada uma sequência
de referências a páginas pelo processo, o número total de page fault para as estratégias de
realocação de páginas FIFO e LRU. Indique qual a mais eficaz para cada item.
• 1 / 2 / 3 / 1 / 4 / 2 / 5 / 3 / 4 / 3
 FIFO = TOTAL = 5
1 2 3 1 4 2 5 3 4 3
PF PF PF - PF (Sai 1) - PF (Sai 2) - - -
(MELHOR POLÍTICA) 
 LRU = TOTAL PF = 8
1 2 3 1 4 2 5 3 4 3
PF PF PF - PF(Sai 2) PF(Sai 3) PF (Sai 1) PF PF -
• 1 / 2 / 3 / 1 / 4 / 1 / 3 / 2 / 3 / 3
7
Disciplina: Sistemas Operacionais
Professor(a): Erasmo Evangelista
Aluno(a): Rodolfo Lima, Eduardo Sales
Matrícula: 009360, 101275
 FIFO = TOTAL = 7
1 2 3 1 4 1 3 2 3 3
PF PF PF - PF (Sai 1) PF (Sai 1) - PF (Sai 3) PF (Sai 4) -
 LRU = TOTAL PF = 5
1 2 3 1 4 1 3 2 3 3
PF PF PF - PF (Sai 2) - - PF (Sai 4) - -
 (MELHOR POLÍTICA) 
8

Outros materiais