next up previous
Next: Gerência de Arquivos Up: Sistemas Operacionais Previous: Gerência de Processos

Gerência de Memória

1.
Qual é a taxa de utilização de CPU em um sistema multiprogramado (8MB de memória; 1MB usado pelo S. O.) quando os 5 processos de A a E abaixo estão carregados e sendo executados? E qual é o valor desta taxa para o caso de termos somente os 2 processos F e G trabalhando? Compare e discuta os resultados.
Processo A B C D E F G
Tempo de E/S (%) 80 90 90 80 60 20 20
Tamanho (MB) 2 1 2 1 1 4 3
2.
Determine a variação na taxa de utilização de CPU para os dois casos do problema anterior, quando 8MB são adicionados ao sistema e ocupados por processos do tipo A. Discuta a relação custo/performance obtida em cada caso.

3.
O que são endereços físico e virtual? Como eles estão relacionados?

4.
Um computador tem 4 "page frames". O instante (em pulsos de clock) de carregamento, de último acesso e os bits R/M para cada um dos quadros é mostrado abaixo. Qual quadro será substituído por cada um dos algoritmos abaixo?
(a)
NRU
(b)
FIFO original
(c)
LRU
(d)
Segunda chance
Quadro Carregamento Último acesso Bit R Bit M
0 130 215 0 0
1 234 265 1 0
2 124 277 1 1
3 164 286 1 1

5.
Em um sistema que usa partições variáveis de memória, a média dos tamanhos dos processos é 10 KB e dos buracos é 5 KB. Na média, qual é a fração de memória desperdiçada com buracos? Justifique sua resposta. Considere que neste sistema aplica-se a regra dos cinquenta porcento, a qual diz que, em média, o número de buracos em memória é igual à metade do número de processos.

6.
Considerando a tabela de páginas da Fig. 4.11 do livro Modern Operating Systems (Tanenbaum, 2a. ed.), forneça o endereço físico para os seguintes endereços virtuais:
(a)
0x5EDE

(b)
0xBEBE

(c)
0x0ABC

(d)
0x9CAD .

7.
Um computador com 32 bits para endereçamento usa 2 níveis de tabelas de páginas. Endereços virtuais são divididos em 9 bits para o campo da primeira tabela de páginas, 11 bits para o campo da segunda e os bits de "offset". Qual é o tamanho de cada página e quantas delas existem no espaço de endereçamento virtual?

8.
Explique o significado dos seguintes termos:
(a)
memória virtual
(b)
paginação
(c)
segmentação
(d)
swapping

9.
Um determinado sistema operacional adota em sua configuração de memória páginas de 1 Kbyte. O espaço de endereçamento virtual é de 8 Kbytes, mas a memória física instalada só tem 4 Kbytes. Suponha que a tabela de páginas deste sistema em um dado momento seja a mostrada abaixo.

(a) Descreva o significado de cada coluna da tabela.

(b) Determine qual seria o endereço físico associado aos endereços virtuais 0x0E00, 0x1801 e 0x0A00, nesta ordem.

Atenção: se uma página não estiver na memória física instalada (se estiver representada por um asterisco na tabela) ela deverá ser carregada de acordo com o algoritmo de troca de páginas NRU (Não Recentemente Usada) antes de ser referenciada. Como não está especificado se o acesso a uma página será para escrita, leitura ou ambos, considere que os bits R e M descritos na tabela são fixos para este exercício.

Página Virtual Page Frame Bit R Bit M
0 (0x0000$\sim$0x03FF) 2 (0x0800$\sim$0x0BFF) 1 0
1 (0x0400$\sim$0x07FF) * * *
2 (0x0800$\sim$0x0BFF) 3 (0x0C00$\sim$0x0FFF) 0 1
3 (0x0C00$\sim$0x0FFF) 1 (0x0400$\sim$0x07FF) 1 1
4 (0x1000$\sim$0x13FF) * * *
5 (0x1400$\sim$0x17FF) 0 (0x0000$\sim$0x03FF) 1 0
6 (0x1800$\sim$0x1BFF) * * *
7 (0x1C00$\sim$0x1FFF) * * *

10.
Explique o que é e qual o objetivo do TLB (Translation Lookaside Buffer).

11.
Uma solução adotada em gerenciamento de memória virtual é a Tabela Invertida de Páginas. Explique porque esta solução é necessária em em que ela consiste.

12.
O algoritmo de troca de páginas NFU (Not Frequently Used) é uma alternativa para simular em software o algoritmo LRU (Least Recently Used). Entretanto ele apresenta um problema relacionado com páginas que foram muito referenciadas no passado e já não são mais. Explique (i) o funcionamento do NFU, (ii) as razões do problema citado acima e (iii) como ele é resolvido.

13.
Explique como funciona um sistema de memória virtual com cada uma das quatro combinações possíveis de paginação e segmentação.

14.
Um computador possui um espaço de endereçamento virtual de 48 bits e um barramento de endereçamento físico (real) de apenas 32 bits. Se as páginas são de 8KB, quantas entradas existem na tabela de páginas? Justifique.

15.
Um computador possui quatro quadros (page frames). No primeiro pulso de relógio os bits R destes quadros são 0111 (bit R da página 0 é 0 e o das demais páginas é 1). Nos pulsos de relógio subsequentes, os bits R são 1011, 1010, 1101, 0010, 1010 e 0001. Considerando que um algoritmo de envelhecimento (aging) é usado com um contador de 8 bits, determine o valor do contador referente a cada quadro após o último pulso de relógio citado acima.

16.
Se uma instrução leva 10 ns para ser executada e se uma falta de página aumenta este tempo em X ns, proponha uma expressão para calcular o tempo médio de execução de instruções considerando que faltas de página ocorrem uma vez a cada K instruções. Justifique sua resposta.

17.
Que parte do SO gerencia a hierarquia de memoria e quais sao suas principais atribuicoes?

18.
Discuta a evolucao dos sistemas de gerenciamento de memoria desde os sistemas monoprogramados ate os multiprogramados usando segmentacao com paginacao.

19.
Um sistema de gerenciamento de memoria pode controlar os espacos ocupados e vazios por meio de listas ligadas ou mapas de bits. Compare o custo destes metodos na seguinte situacao: a memoria tem 256 MB e é alocada em blocos de N bytes; os trechos ocupados e desocupados da memoria ocorrem alternadamente e possuem 64 kB cada um; cada nodo da lista encadeada precisa de 32 bits de armazenamento.

20.
Para uso do algoritmo de troca de paginas WSClock temos os seguintes dados: tempo atual = 2100; tempo do ultimo acesso `a pagina e seu respectivo bit R:

Pag. 1: (2084,1)

Pag. 2: (2003,1)

Pag. 3: (1980,1)

Pag. 4: (1621,0)

Pag. 5: (2014,1)

Pag. 6: (2020,1)

Pag. 7: (2032,1)

Pag. 8: (1620,0)

Se $\tau=1000$ a pagina 3 sera removida? O que aconteceria com esta pagina se $\tau=100$?

21.
Considerando que 70% do tempo de um processo é gasto em espera de E/S e que 3 processos que chegam em tempos diferentes vao utilizar tempo de CPU, desenhe um grafico processo vs. tempo, e coloque em cada faixa de tempo no grafico o valor da UCPU (taxa de utilizacao da CPU). Dados:

Processo 1: chega as 8h00 e precisa de 4 min de CPU

Processo 2: chega as 8h10 e precisa de 3 min de CPU

Processo 3: chega as 8h15 e precisa de 2 min de CPU


next up previous
Next: Gerência de Arquivos Up: Sistemas Operacionais Previous: Gerência de Processos
Marco A. Amaral Henriques
2007-02-14