CENTRO DE CINCIAS COMPUTACIONAIS Sistemas de Computao II
3. Bimestre
Trabalho 03 Gerncia de Memria.
1. Diferencie frames de memria de pginas de memria. Como os termos esto relacionados? Frames de memria so as parties da memria fsica. E o espao de endereamento de um processo divido no que chamamos de pginas de memria, que possuem o mesmo tamanho dos frames. O contedo das pginas transferido de e para frames. 2. Explique as vantagens da utilizao de memria virtual. As vantagens da utilizao de memria virtual so:
O aumento do grau de multiprogramao;
Reduz o nmero de operao de I/O para swap do programa;
Capacidade de executar programas maiores que a capacidade
disponvel disponvel de memria.
3. Considerando as parties de memoria 100K, 500K, 300K, 1000K, 350K
e 800K respectivamente, como cada um dos algoritmos de First-Fit, Next-Fit, Best-Fit, Worst-Fit colocariam os processos de: a. 212K, 417K, 310K, 100K, e 400K (nesta ordem)? First-Fit: 212K => 500K 417K => 1000K 310K => 1000K (utiliza o restante = 583K) 100K => 100K 400K => 800K Next-Fit: 212K => 500K 417K => 1000K 310K => 350K 100K => 800K
150K => 800K 750K => no possui espao disponvel, fica a espera de liberao de espao para continuar. 4. Explique e exemplifique um caso da anomalia de Belady. Em quais condies ela ocorre? A anomalia de Belady ocorre quando a taxa de falta de pgina aumenta mesmo com o aumento do nmero de frames alocados. Esta anomalia pode ocorrer quando utiliza-se o algoritmo de substituio de pgina FIFO, a depender da sequncia de solicitaes de pgina.
Exemplo:
Se observarmos no exemplo, com 4 frames temos mais faltas (10 no
total) de pgina do que com 3 frames (9 no total). 5. Como funciona o algoritmo NRU (not recently used), como so definidas as suas classes e como possvel que o algoritmo NRU selecione pginas de classe 1? Como possvel que o algoritmo NRU selecione pginas de classe 1? O algoritmo NRU remove aleatoriamente uma pgina da classe de ordem mais baixa que no esteja vazia. Suas principais vantagem: fcil de entender e implementar e oferece um desempenho adequado. Utiliza os bits R e M que so utilizados da seguinte forma: quando o processo inicializado os bits recebem 0 pelo Sistema Operacional. De tempos em tempos, o bit R limpo, diferenciando pginas referenciadas de no referenciadas recentemente.
Quando ocorre uma falta de pgina, o Sistema Operacional divide as
pginas em 4 classes: Classe 0 = R:0 e M:0 Classe 1 = R:0 e M:1 Classe 2 = R:1 e M:0 Classe 3 = R:1 e M:1 Seleciona a classe 1 apenas se no houver uma pgina de ordem mais baixa (classe 0) que no esteja vazia. Caso haja, sempre selecionar a classe 0 no vazia. 6. Suponha que tenhamos uma memria paginada por demanda. A tabela de pgina mantida em registradores. So necessrios 8 segundos para atender a uma falha de pgina se um quadro vazio estiver disponvel ou se a pgina substituda no estiver modificada, e 20 milissegundos se a pgina substituda estiver modificada. O tempo de acesso memria de 100 nano segundos. Suponha que a pgina a ser trocada seja modificada 70% do tempo. Qual a taxa de falha de pgina aceitvel para um tempo de acesso eficaz de mais de 200 nano segundos? Pginas modificadas = 0,7 Pginas no modificadas = 0,3 8ms 20ms Tea = 200ns Tmem = 100ns 200 = (0,7P*200ns) + (0,3P* 800ns) + (P*100) P = 200 / ((0,7*20000000)+(0,3*8000000) + 100) P = 1,22x10^(-5) 7. Considere a seguinte tabela de seguimentos:
Seguiment o
Base
Tamanho
200
400
1100
300
300
500
2000
320
500
150
80
120
Quais so os endereos fsicos para os endereos lgicos a seguir?
a.
0, 300
Endereo Fsico = 200 + 300 = 500
b.
1, 100
Endereo Fsico = 1100 + 100 = 1200
c.
2, 400
Endereo Fsico = 300 + 400 = 700
d.
3, 420
Nmero de segmento invlido, 420 > STLR (320)
e.
4, 160
Nmero de segmento invlido, 160 > STLR (150)
f.
5, 30
Endereo Fsico = 80 + 30 = 110
8. Um algoritmo de substituio de pgina deve minimizar o nmero de falhas de pgina. Podemos conseguir essa reduo distribuindo uniformemente as pginas muito usadas por toda a memria, em vez de deixar que elas disputem uma pequena quantidade de frames. Podemos associar com cada frame um contador do nmero de pginas que esto associados a esse frame. Para substituir uma pgina, buscamos o quadro de pgina com o menor contador. a. Defina um algoritmo de substituio de pgina usando esta idia bsica. Trate explicitamente: Algoritmo de substituio baseado em contadores. - Qual o valor inicial dos contadores? O valor inicial zerado. - Quando os contadores so aumentados? Quando a pgina for acessada, o contador incrementar. - Quando os contadores so diminudos? Quando outras pginas forem acessadas, o contador das no acessadas ir decrementar (desloca-se o contador
para a direita em 1 bit para decair a mdia de acesso).
- Como a pgina a ser substitudo selecionada. Escolhe-se a pgina com o contador de menor valor. b. Quantas falhas de pgina ocorrer para o seu algoritmo para a string de referncia "1, 2, 3, 4, 5, 3, 4, 1, 6, 7, 8, 7, 8, 9, 7, 8, 9, 5, 4, 5, 4, 2" considerando 4 quadros de pgina? c. Qual o nmero mnimo de falhas de pgina para uma estratgia de substituio de pgina timo para a cadeia de referncia na parte b, com quatro quadros de pgina?
9. Implemente o algoritmo de substituio de pagina NRU (not recently
used) na linguagem de sua preferncia. 10. Considere um sistema de paginao por demanda, com um disco de paginao que possui um tempo mdio de acesso e transferncia de 20 milissegundos. Os endereos so traduzidos atravs de uma tabela de pgina na memria principal, com um tempo de acesso de 1 microssegundo por acesso memria. Assim, cada referncia memria no decorrer da tabela de pgina exige dois acessos. Para melhorar esse tempo, acrescentamos uma memria associativa, que reduz o tempo de acesso a uma referncia memria, se a entrada da tabela de pgina estiver na memria associativa. Considere que 80% dos acessos esto na memria associativa e que, do restante, 10% (ou 2% do total) causam falhas de pgina. Qual o tempo efetivo de acesso memria? Eat = (0.8 * 1x10^(-6)) + (0.18 * 2x10^(-6)) + (0.02*20000x10^(-6)) Eat = (0,8 * 1) + (0,18 * 2) + (0,02*20000 ) Eat = 0,401ms