Você está na página 1de 7

1. Explique a diferena entre endereo lgico e endereo fsico.

R: ANSE: O endereo lgico um endereo que obtido em relao ao programa em


execuo, como o endereos lgicos iguais podem ter endereos fsicos diferentes pois os
programas podem estar em espaos de endereamentos diferentes.
RDM: Endereo lgico o endereo a nvel de programa que gerado na compilao, ele
enxerga a memoria como sendo unicamente para o programa. Atravs da realocao dinmica
que consiste em utilizar um endereo base(endereo fsico) e os endereos lgicos como
offset, obtem-se o endereo fsico para cada endereo lgico. Sendo o endereo fsico um
endereo que representa uma localizao real e valida na memria.

2. Explique os seguintes algoritmos de alocao de memria:


a) First-fit:(o primeiro que couber) O dado alocado na primeira rea de memria que estiver
disponvel. O algortimo rpido porm fragmenta muito a memria.
b) Best-fit: (o que melhor couber) O dado colocado na menor rea em que servir na memria.
Diminui o nmero de buracos mas o algortimo lento.
c) Worst-fit:(o que pior couber) O dado colocado no maior espao disponvel da memria.
Como conseqncia a memria fica muito fragmentada e um algortimo lento.

3. Considere as seguintes parties livres: 10K, 20K, 4K, 7K, 9K, 12K, 15K e 18K. Como
os algoritmos First-fit, Best-fit, Worst-fit e Next-fit alocariam parties para as seguintes
requisies:
a) 12K
b) 10K
c) 9K

10k 20k 4k 7k 9k 12k 15k 18k

First-Fit 10k 12k 9k

Best-Fit 10k 9k 12k

Worst-Fit 12k 9k 10k

Next-Fit 12k 10k 9k

4. Explique a diferena entre fragmentao externa e interna.


R: Na fragmentao externa o espao requisitado existe mas no contguo, j na
fragmentao interna o espao para alocao do dado pode ser um pouco maior porm
quando esse dado for alocado sobrar um pequeno espao inutilizado.

5. Considere um computador usando Buddy System para o gerenciamento de memria.


Inicialmente ele tem um bloco de 256K no endereo 0. Depois das requisies 5K, 25K,
35K e 20K acontecerem, quantos blocos existem e qual o tamanho e endereo?
R:
256k

128k 128k

64k 64k 128k

32k 32k 64k 128k

16k 16k 32k 64k 128k

8k 8k 16k 32k 64k 128k


5 25k 35k

8k 8k 16k 32k 64k 32k 32k 64k


5 25k 35k 20k

Existiro 8 blocos com tamanho e endereo mostrado na tabela abaixo:

Tamanho Endereo

8k 0x0

8k 0x2000

16k 0x4000

32k 0x8000

64k 0x10000

32k 0x20000

32k 0x28000

64k 0x30000
(no tenho certeza se calculei direito os endereos... se alguem quiser pode calcular de novo)
(RDM: ew recalculei e t certo)

6. Porque o tamanho das pginas sempre potncia de 2?


R: Pois a memria dividida blocos de tamanho fixo chamados de frames-molduras de pginas
e as pginas tem que ser construdas de forma a se encaixar melhor nessas molduras.
RDM(mesma coisa, s um complemento): A memria fsica dividida em blocos de tamanho
fixo(frames-molduras de pginas) sempre em tamanhos de potncia de 2 e entre 512 ~ 8192
bytes. Por isso a memria lgica tambm deve ser dividida em blocos(pginas) de mesmo
tamanho que a da fsica.

7. Considere um espao de endereamento lgico de 8 pginas de 1K cada, mapeados


em uma memria fsica de 32 frames.
a) Quantos bits tem o endereo lgico?
R: Endereos lgicos (virtual) so formados por:
- o numero da pgina + o deslocamento (offset) dentro da pgina
numero da pgina: 8 = 2^3 3 bits
deslocamento dentro da pgina: 1024 = 2^10 10 bits
3 bits + 10 bits = 13

b) Quantos bits tem o endereo fsico?


R: 32/8 = 4 = 2^2 = 2bits //numero total de pginas da memria fsica dividido pelo numero de
paginas
2+10 = 12 bits

(a questo (a) eu tenho quase certeza que est certa, a (b) nem tanto...) pq 32/8? pq o
numero total de paginas da memria dividido pelo numero de paginas...

8. Considere um sistema com paginao onde a tabela de pginas est na memria:


a) Quanto tempo leva uma referncia a memria paginada se uma referncia a
memria leva 150ns?
R: 150ns para buscar na tabela + 150ns para buscar a referencia = 300ns , no melhor caso.
(eu no fao idia se isso est certo)

b) Qual o tempo de uma referncia a memria se tivermos uma memria associativa


que tem sucesso em 75% das vezes? (o tempo da memria associativa 15% do
tempo normal)
R:

9. Considere um computador com 32-bits de endereo usando tabela de pginas em 2-


nveis. Os endereos virtuais so compostos por um campo de 9-bits para o nvel 1, 11-
bits para o nvel 2 e um deslocamento. Qual o tamanho das pginas e quantas pginas
podem existir no endereo lgico?
R: p1 p2 offset
9bits 11bits 12bits
J que o offset 12 bits o tamanho das pginas so de 2^12 = 4kb (isso de certeza)
O nmero de pginas que podem existir (2^9)*(2^11) = 2^20 = 1mb
(referncia http://wiki.icmc.usp.br/images/5/5a/Aula11.pdf)

10. Uma mquina tem um endereo lgico de 48-bits, endereo fsico de 32-bits e
pginas
de 8K. Quantas entradas so necessrias para uma tabela de pginas convencional? E
para uma tabela invertida?
R:

11. Porque segmentao e paginao so combinadas em um novo esquema?


R: Se os segmentos so grandes, talvez seja inconveniente (ou mesmo impossvel) mant-los
em memria na sua totalidade. Isso gera a ideia de paginao dos segmentos, de modo
que somente as pginas realmente necessrias tero de estar na memria. Cada segmento
um espao de endereamento comum, sendo tambm paginado do mesmo modo que a
memria paginada no segmentada.

12. Quando usamos segmentao e paginao, primeiro consultamos o descritor de


segmentos e depois o descritor de pginas. No caso da memria associativa, ela
funciona da mesma forma? Com dois nveis de consulta?
R: No, pois parte da tabela est em hardware. (no fao a minima idia do que falei.
Referencia: http://www.dimap.ufrn.br/~ivan/SO/SO-aula10.pdf )

13. Quando ocorre uma falta de pgina (page fault)? Descreva as aes do SO em uma
page fault?
R: - O sistema operacional descobre a ocorrncia de uma falta de pgina e tenta descobrir qual
pgina virtual necessria.
- Uma vez conhecido o endereo virtual que causou a falta da pgina, o sistema verifica se
esse endereo vlido e se a proteo consistente com o acesso.
-Se existe algum frame livre aloca. Seno seleciona um frame para realizar a troca de pgina.
- Se o frame da pgina selecionada estiver sujo, a pgina escalonada para ser transferida
para o disco e ser realizado um chaveamento de contexto.
- Quando o frame da pgina estiver limpo, o sistema operacional buscar o endereo em disco
onde est a pgina virtual solicitada e escalonar uma operao para traz-la.
- O processo em falta escalonado, o sistema operacional retorna para a rotina, em linguagem
de mquina, que o chamou.
14. Considere uma sequncia de referncias a pginas para um processo com m frames
(vazios inicialmente). A sequncia tem tamanho p com n pginas distintas ocorrendo.
Para um algoritmo de troca de pginas:
a) o que um limite baixo de page fault?
R: Um limite baixo neste caso m page faults, pois os frames estaro vazios inicialmente e
para ocupar cada frame ocorrer obrigatoriamente uma falta, portanto no melhor dos casos
ocorrer m faltas e todas as outras requisies j se encontraram em algum dos frames.

b) o que um limite alto de page fault?


R:Um limite alto p page faults, pois no pior dos casos toda requisio da sequncia resultar
numa falta.

15. Se usarmos um algoritmo de troca de pginas FIFO com 4 frames e 8 pginas,


quantos page faults vo acontecer na seguinte sequncia de referncias: 0 1 7 2 3 2 7 1 0
3 se os 4 frames esto inicialmente vazios.
R:
0 0 0 0 3 3 3 3 3 3

- 1 1 1 1 1 1 1 0 0

- - 7 7 7 7 7 7 7 7

- - - 2 2 2 2 2 2 2
Ocorreram 6 page faults.

16. Repita o problema anterior usando LRU.


R:
0 0 0 0 3 3 3 3 0 3

- 1 1 1 1 1 1 1 1 1

- - 7 7 7 7 7 7 7 7

- - - 2 2 2 2 2 2 2
Ocorreram 7 page faults.

17. Considere o seguinte array:


var A: array[1..100] of array[1..100] of integer;
onde A[1][1] est na posio 200 em um sistema com memria paginada com pginas de
tamanho 200. O processo que manipula a matriz est na pgina 0 (0-199), desta forma as
instrues so buscadas na pgina 0.
Considerando 3 frames, quantas page fault so geradas pelos seguintes cdigos de
inicializao do array, usando LRU, e sabendo que o frame 1 tem o cdigo de
inicializao e os outros dois frames esto vazios inicialmente.
a) for j:= 1 to 100 do b) for i:= 1 to 100 do
for i:= 1 to 100 do for j:= 1 to 100 do
A[i][j]:=0; A[i][j]:=0;

18. Considere a utilizao de uma poltica de troca de pginas que regularmente examina
cada pgina e descarta aquela que no foi usada desde a ltima vez que foi feita o
exame. O que voce ganha e o que voce perde usando esta poltica ao invs de LRU ou
segunda
chance?
R:

19. Considere um sistema de computao com paginao por demanda onde o grau de
multiprogramao fixado em 4. O sistema foi recentemente medido para determinar a
utilizao da CPU e do disco de paginao. Os resultados podem estar entre os listados
abaixo. Para cada caso, o que est acontecendo? O grau de multiprogramao pode ser
aumentado para aumentar a utilizao da CPU?
a) utilizao da CPU 13%; utilizao do disco 97%
R: Esse caso est usando muito o disco provavelmente por buscar muitas instrues que no
esto na memria, consumindo muito tempo para busca e pouco para processamento.
b) utilizao da CPU 87%; utilizao do disco 3%
R: Esse caso parece ideal pois a CPU est trabalhando maior parte do tempo sem a
necessidade de muitas buscas ao disco.
c) utilizao da CPU 13%; utilizao do disco 3%
R: Nesse caso a multiprogramao pode ser aumentada para aproveitar melhor a CPU.

20. Qual a causa do thrashing ? Como o sistema detecta o thrashing ? Uma vez
detectado o que o sistema pode fazer para eliminar o problema?
R: A causa do thrashing um programa que frequente e continuamente gera falta de pgina.
O sistema pode detectar esse problema monitorando as faltas dos processos. Esse problema
pode ser resolvido mudando o algoritmo de substituio de pagina. Uma soluo adicionar
mais memria (referncia: http://en.wikipedia.org/wiki/Thrashing_(computer_science)

21. Um processo tem 4 frames alocados. O quadro a seguir mostra as informaes


referentes aos mesmos.

No. Pag. Virt. Frame Tempo carga Tempo referenc. Bit R Bit M

2 0 60 159 1 1

1 1 130 160 0 1
0 2 26 162 1 0

3 3 30 163 0 0

Um page fault para a pgina virtual 4 ocorre. Qual frame ser trocado para os seguintes
algoritmos de troca:
a) FIFO (first-in-first-out) 1 . c) LRU (least recently used) _1_
b) Clock (segunda chance) _1_ d) Algoritmo timo _3_

22. Um SO observa o conjunto de pginas lgicas em uso pelos processos para decidir
se pode ou no iniciar a execuo de um novo processo. Esse sistema define, como
conjunto de trabalho, o conjunto das pginas acessadas no ltimo intervalo completo do
timer. Osistema dispe de 20 pginas fsicas. A histria do sistema no ltimo intervalo
completo do timer mostrada abaixo. Quantas pginas fsicas o sistema poder fornecer
a um novo processo, mantendo ainda o conjunto de trabalho dos processos atuais?
P0 (4,5,3,6,3,4,5,3,3,6 )
P1( 1,7,8,8,1,3,1,7,8,9 )
P2( 6,7,8,5,8,6,6,7,5,5 )

23. Qual problema pode ocorrer quando um perifrico pode acessar diretamente a
memria e utiliza-se memria virtual? Como resolve-lo?
R: A memria pode conter um dado que no referente a aplicao que o perifrico est se
referindo, pode-se resolver este problema alocando uma rea de memria para o perifrico ou
fazendo-o verificar se o dado vlido. (sem embasamento nenhum)

Você também pode gostar