Você está na página 1de 7

SOLUÇÕES​ ​PARA​ ​O​ ​CAPÍTULO​ ​3​ ​PROBLEMAS

1)​ ​Na​ ​figura​ ​3.3,​ ​o​ ​registrador​ ​base​ ​e​ ​o​ ​registrador​ ​limite​ ​contêm​ ​o​ ​mesmo​ ​valor,16.384.Isso
é​ ​apenas​ ​um​ ​acidente​ ​eles​ ​são​ ​sempre​ ​iguais?​ ​Se​ ​for​ ​apenas​ ​um​ ​acidente,​ ​por​ ​que​ ​eles
são​ ​iguais​ ​nesse​ ​exemplo?
​ ​É​ ​um​ ​acidente.​ ​O​ ​registrador-base​ ​é​ ​16.384​ ​porque​ ​o​ ​programa​ ​(precisou​ ​ser​ ​-​ ​foi)
carregado​ ​no​ ​endereço​ ​16.384.​ ​Ele​ ​poderia​ ​ter​ ​sido​ ​carregado​ ​em​ ​qualquer​ ​lugar.​ ​O
registrador​ ​limite​ ​é​ ​16.384​ ​porque​ ​o​ ​programa​ ​contém​ ​16.384​ ​bytes.​ ​Ele​ ​poderia​ ​ter
qualquer​ ​tamanho.​ ​O​ ​fato​ ​deque​ ​o​ ​endereço​ ​carregado​ ​é​ ​exatamente​ ​o​ ​tamanho​ ​do
programa​ ​é​ ​pura​ ​coincidência.

2)Um​ ​sistema​ ​de​ ​troca​ ​de​ ​processos​ ​elimina​ ​lacunas​ ​na​ ​memória​ ​via​ ​compactação.
Ao​ ​supor​ ​uma​ ​distribuição​ ​aleatória​ ​de​ ​muitas​ ​lacunas​ ​e​ ​diversos​ ​segmentos​ ​de
dados​ ​e​ ​tempo​ ​de​ ​leitura/escrita​ ​de​ ​10​ ​ns​ ​para​ ​uma​ ​palavra​ ​de​ ​memória​ ​de​ ​32​ ​bits…..
​ ​Quase​ ​toda​ ​a​ ​memória​ ​tem​ ​que​ ​ser​ ​copiada,​ ​o​ ​que​ ​exige​ ​que​ ​cada​ ​palavra​ ​a​ ​ser​ ​lida
em​ ​seguida,​ ​deve​ ​ser​ ​reescrita​ ​numa​ ​localização​ ​diferente.​ ​Leitura​ ​4​ ​bytes​ ​leva​ ​10
nanossegundos,por​ ​isso​ ​a​ ​leitura​ ​1​ ​byte​ ​leva​ ​2,5​ ​ns​ ​e​ ​escrever​ ​é​ ​preciso​ ​mais​ ​2,5​ ​ns,
para​ ​um​ ​total​ ​de​ ​5​ ​ns​ ​por​ ​byte​ ​compactado.​ ​Esta​ ​é​ ​uma​ ​taxa​ ​de​ ​200.000.000​ ​bytes​ ​/
seg.​ ​Para​ ​copiar​ ​128​ ​MB​ ​(227​ ​bytes,que​ ​é​ ​de​ ​cerca​ ​de​ ​1,34​ ​×​ ​108​ ​bytes),​ ​o​ ​computador
precisa​ ​de​ ​227/200​ ​milhões​ ​seg,​ ​que​ ​é​ ​de​ ​cerca​ ​de​ ​671​ ​ms.​ ​Este​ ​número​ ​é
ligeiramente​ ​pessimista,​ ​porque​ ​se​ ​o​ ​furo​ ​inicial​ ​na​ ​parte​ ​inferior​ ​da​ ​memória​ ​é​ ​k
bytes,​ ​esses​ ​bytes​ ​k​ ​não​ ​precisa​ ​ser​ ​copiado.​ ​No​ ​entanto,​ ​se​ ​existirem​ ​muitos
buracos​ ​e​ ​muitos​ ​segmentos​ ​de​ ​dados,​ ​os​ ​buracos​ ​será​ ​pequeno,​ ​de​ ​modo​ ​que​ ​k​ ​vai
ser​ ​pequeno​ ​e​ ​o​ ​erro​ ​no​ ​cálculo​ ​também​ ​será​ ​pequeno.

3)​ ​Neste​ ​problema,​ ​você​ ​deve​ ​comparar​ ​o​ ​armazenamento​ ​necessário​ ​para​ ​manter​ ​o
controle​ ​da​ ​memória​ ​disponível​ ​usando​ ​um​ ​mapa​ ​de​ ​bits​ ​versus​ ​uma​ ​lista​ ​encadeada.​ ​A
memória​ ​de​ ​128​ ​MB​ ​é​ ​alocada…….
​ ​O​ ​mapa​ ​de​ ​bits​ ​precisa​ ​de​ ​1​ ​bit​ ​por​ ​unidade​ ​de​ ​alocação.​ ​Com​ ​unidades​ ​de​ ​alocação​ ​2^27​ ​/
n,este​ ​é​ ​2^24​ ​/​ ​n​ ​bytes.​ ​A​ ​lista​ ​encadeada​ ​tem​ ​2^27/2^16​ ​ou​ ​2^11​ ​nós,​ ​cada​ ​um​ ​dos​ ​8​ ​bytes,
para​ ​um​ ​total​ ​de​ ​2^14​ ​bytes.​ ​Para​ ​pequenos​ ​valores​ ​de​ ​n,​ ​a​ ​lista​ ​encadeada​ ​é​ ​melhor.​ ​Para
valores​ ​de​ ​n​ ​grande,​ ​o​ ​mapa​ ​de​ ​bits​ ​é​ ​melhor.​ ​O​ ​ponto​ ​de​ ​cruzamento​ ​pode​ ​ser​ ​calculado
igualando​ ​essas​ ​duas​ ​fórmulas​ ​e​ ​resolvendo​ ​para​ ​n.​ ​O​ ​resultado​ ​é​ ​uma​ ​KB.​ ​Para​ ​n​ ​menor
do​ ​que​ ​1​ ​KB,uma​ ​ligada​ ​encadeada​ ​é​ ​melhor.​ ​Para​ ​n​ ​maior​ ​que​ ​1​ ​KB,​ ​um​ ​mapa​ ​de​ ​bits​ ​é
melhor.​ ​Claro​ ​que,o​ ​suposição​ ​de​ ​segmentos​ ​e​ ​buracos​ ​alternados​ ​a​ ​cada​ ​64​ ​KB​ ​é​ ​muito
irrealista.​ ​Além​ ​disso,precisamos​ ​de​ ​n​ ​<=​ ​64​ ​KB​ ​se​ ​os​ ​segmentos​ ​e​ ​buracos​ ​são​ ​64​ ​KB.

4)​ ​Considere​ ​um​ ​sistema​ ​de​ ​troca​ ​de​ ​processos​ ​entre​ ​memória​ ​e​ ​o​ ​disco​ ​no​ ​qual​ ​a​ ​memória
é​ ​constituída​ ​dos​ ​seguintes​ ​tamanhos​ ​de​ ​lacunas​ ​em​ ​ordem​ ​na​ ​memória:
10KB,4KB,20KB…….
​ ​Primeiro​ ​ajuste​ ​leva​ ​de​ ​20​ ​KB,​ ​10​ ​KB,​ ​18​ ​KB.​ ​Melhor​ ​ajuste​ ​leva​ ​de​ ​12​ ​KB,​ ​10​ ​KB​ ​e​ ​9​ ​KB.
Pior​ ​ajuste​ ​leva​ ​de​ ​20​ ​KB,​ ​18​ ​KB​ ​e​ ​15​ ​KB.​ ​Em​ ​seguida​ ​ajuste​ ​leva​ ​de​ ​20​ ​KB,​ ​18​ ​KB​ ​e​ ​9​ ​KB
5.Para​ ​cada​ ​um​ ​dos​ ​seguintes​ ​endereços​ ​virtuais​ ​decimais,​ ​calcule​ ​o​ ​numero​ ​da
pagina​ ​virtual​ ​e​ ​o​ ​deslocamento​ ​para​ ​uma​ ​pagina​ ​de​ ​4​ ​KB​ ​e​ ​para​ ​uma​ ​pagina​ ​de​ ​8​ ​KB:
20000,​ ​32768,​ ​60000
​ ​Para​ ​um​ ​tamanho​ ​de​ ​página​ ​de​ ​4​ ​KB​ ​os​ ​pares​ ​(página,​ ​offset)​ ​são​ ​(4,​ ​3616),​ ​(8,​ ​0)​ ​e
(14,​ ​2656).​ ​Para​ ​um​ ​tamanho​ ​de​ ​página​ ​de​ ​8​ ​KB​ ​eles​ ​são​ ​(2,​ ​3616),​ ​(4,​ ​0)​ ​e​ ​(7,​ ​2656).

6.​ ​O​ ​processador​ ​intel​ ​8086…


​ ​Construíram​ ​uma​ ​MMU​ ​e​ ​a​ ​inseriram​ ​entre​ ​o​ ​8086​ ​e​ ​o​ ​bus.​ ​Assim,​ ​todos
8086​ ​endereços​ ​físicos​ ​entraram​ ​no​ ​MMU​ ​como​ ​endereços​ ​virtuais.​ ​A​ ​MMU
então​ ​mapeou-os​ ​para​ ​endereços​ ​físicos,​ ​que​ ​foram​ ​para​ ​o​ ​ônibus.

7.​ ​Considere​ ​o​ ​programa​ ​em​ ​C​ ​seguinte….


(a)​ ​M​ ​deve​ ​ser​ ​de​ ​pelo​ ​menos​ ​4.096​ ​para​ ​garantir​ ​uma​ ​falta​ ​de​ ​TLB​ ​para​ ​cada​ ​acesso​ ​a
um​ ​elemento​ ​de​ ​X.​ ​Uma​ ​vez​ ​que​ ​N​ ​só​ ​afeta​ ​quantas​ ​vezes​ ​se​ ​acessa​ ​X,​ ​qualquer​ ​valor
de​ ​N​ ​vai​ ​fazer.
(b)​ ​M​ ​ainda​ ​deve​ ​ser​ ​no​ ​mínimo​ ​de​ ​4.096​ ​para​ ​garantir​ ​uma​ ​falta​ ​de​ ​TLB​ ​por​ ​todo
acesso​ ​a​ ​um​ ​elemento​ ​de​ ​X.​ ​Mas​ ​agora​ ​N​ ​deve​ ​ser​ ​maior​ ​do​ ​que​ ​64K​ ​para​ ​thrash​ ​o
TLB,​ ​isto​ ​é,​ ​X​ ​deve​ ​exceder​ ​256​ ​KB.

8.​ ​A​ ​quantidade​ ​de​ ​espaço​ ​em​ ​disco​ ​precisa​ ​estar​ ​disponivel​ ​para​ ​armazenamento​ ​de
página…
​ ​O​ ​espaço​ ​de​ ​endereço​ ​virtual​ ​total​ ​para​ ​todos​ ​os​ ​processos​ ​combinados​ ​é​ ​nv,​ ​então
este​ ​É​ ​necessário​ ​muito​ ​armazenamento​ ​para​ ​páginas.​ ​No​ ​entanto,​ ​um​ ​montante​ ​r
pode​ ​estar​ ​na​ ​RAM,​ ​então​ ​a​ ​quantidade​ ​de​ ​armazenamento​ ​em​ ​disco​ ​necessária​ ​é
apenas​ ​nv-r.​ ​Este​ ​montante​ ​é​ ​muito​ ​mais​ ​do​ ​que​ ​é​ ​sempre​ ​necessário​ ​na​ ​prática
porque​ ​raramente​ ​haverá​ ​n​ ​processos​ ​na​ ​verdade​ ​correndo​ ​e,​ ​ainda​ ​mais​ ​raramente,
todos​ ​eles​ ​precisam​ ​do​ ​máximo​ ​permitido​ ​memória​ ​virtual.

9.​ ​Uma​ ​máquina​ ​tem​ ​um​ ​espaço​ ​de​ ​endereçamento​ ​de​ ​32​ ​bits…
A​ ​tabela​ ​de​ ​páginas​ ​contém​ ​232/213​ ​entradas,​ ​que​ ​é​ ​524.288.​ ​Carregando​ ​a​ ​página
A​ ​tabela​ ​leva​ ​52​ ​ms.​ ​Se​ ​um​ ​processo​ ​tiver​ ​100​ ​ms,​ ​isso​ ​consiste​ ​em​ ​52​ ​ms​ ​para
carregando​ ​a​ ​tabela​ ​de​ ​páginas​ ​e​ ​48​ ​ms​ ​para​ ​executar.​ ​Assim,​ ​52%​ ​do​ ​tempo​ ​é​ ​gasto
carregando​ ​tabelas​ ​de​ ​páginas.

10.​ ​Suponha​ ​que​ ​uma​ ​máquina​ ​tenha​ ​endereços​ ​virtuais​ ​de​ ​48​ ​bits​ ​e​ ​endereços​ ​físicos​ ​de
32​ ​bits
(a)​ ​Precisamos​ ​de​ ​uma​ ​entrada​ ​para​ ​cada​ ​página,​ ​ou​ ​224​ ​=​ ​16​ ​×​ ​1024​ ​×​ ​1024​ ​entradas,
uma​ ​vez​ ​que​ ​há​ ​36​ ​=​ ​48​ ​-​ ​12​ ​bits​ ​no​ ​campo​ ​do​ ​número​ ​da​ ​página.
b)​ ​Os​ ​endereços​ ​de​ ​instrução​ ​atingirão​ ​100%​ ​no​ ​TLB.​ ​As​ ​páginas​ ​de​ ​dados​ ​terão​ ​uma
100​ ​taxa​ ​de​ ​sucesso​ ​até​ ​o​ ​programa​ ​ter​ ​movido​ ​para​ ​a​ ​próxima​ ​página​ ​de​ ​dados.​ ​Desde​ ​um
A​ ​página​ ​de​ ​4​ ​KB​ ​contém​ ​1.024​ ​inteiros​ ​longos,​ ​haverá​ ​uma​ ​falta​ ​de​ ​TLB​ ​e
um​ ​acesso​ ​extra​ ​de​ ​memória​ ​por​ ​cada​ ​1.024​ ​referências​ ​de​ ​dados.

11​.​Suponha​ ​que​ ​uma​ ​máquina​ ​tenha​ ​endereços​ ​virtuais​ ​de​ ​38​ ​bits​ ​e​ ​endereços​ ​físicos​ ​de
32​ ​bits
(a)​ ​Uma​ ​tabela​ ​de​ ​página​ ​multinível​ ​reduz​ ​o​ ​número​ ​de​ ​páginas​ ​reais​ ​da​ ​página
tabela​ ​que​ ​precisa​ ​estar​ ​na​ ​memória​ ​devido​ ​à​ ​sua​ ​estrutura​ ​hierárquica.​ ​De​ ​fato,
em​ ​um​ ​programa​ ​com​ ​muita​ ​instrução​ ​e​ ​localidade​ ​de​ ​dados,​ ​só​ ​precisamos​ ​do
tabela​ ​de​ ​página​ ​de​ ​nível​ ​superior​ ​(uma​ ​página),​ ​uma​ ​página​ ​de​ ​instruções​ ​e​ ​uma​ ​página​ ​de
dados.
(b)​ ​Alocar​ ​12​ ​bits​ ​para​ ​cada​ ​um​ ​dos​ ​três​ ​campos​ ​da​ ​página.​ ​O​ ​campo​ ​de​ ​deslocamento
requer​ ​14​ ​bits​ ​para​ ​endereçar​ ​16​ ​KB.​ ​Isso​ ​deixa​ ​24​ ​bits​ ​para​ ​os​ ​campos​ ​da​ ​página.​ ​Desde​ ​a
cada​ ​entrada​ ​é​ ​de​ ​4​ ​bytes,​ ​uma​ ​página​ ​pode​ ​conter​ ​212​ ​entradas​ ​de​ ​tabela​ ​de​ ​páginas​ ​e,
portanto,​ ​requer​ ​12​ ​bits​ ​para​ ​indexar​ ​uma​ ​página.​ ​Assim,​ ​alocando​ ​12​ ​bits​ ​para​ ​cada​ ​um
dos​ ​os​ ​campos​ ​da​ ​página​ ​abordarão​ ​todos​ ​os​ ​238​ ​bytes.

12.​ ​Um​ ​computador​ ​com​ ​endereçamento​ ​de​ ​32​ ​bits​ ​usa​ ​uma​ ​tabla​ ​de​ ​paginas​ ​de​ ​2
niveis….
​ ​Vinte​ ​bits​ ​são​ ​usados​ ​para​ ​os​ ​números​ ​das​ ​páginas​ ​virtuais,​ ​deixando​ ​12​ ​para​ ​o
deslocamento.​ ​Isso​ ​produz​ ​uma​ ​página​ ​de​ ​4​ ​KB.​ ​Vinte​ ​bits​ ​para​ ​a​ ​página​ ​virtual
implicam​ ​220​ ​Páginas.

13.​ ​Suponha​ ​que​ ​um​ ​endereço​ ​virtual​ ​de​ ​32​ ​bits​ ​seja​ ​quebrado​ ​em​ ​campos:​ ​a,b,c,d…
O​ ​número​ ​de​ ​páginas​ ​depende​ ​do​ ​número​ ​total​ ​de​ ​bits​ ​em​ ​a,​ ​b​ ​e​ ​c​ ​combinados.
A​ ​forma​ ​como​ ​eles​ ​estão​ ​divididos​ ​entre​ ​os​ ​campos​ ​não​ ​importa.

14.​ ​Um​ ​determinado​ ​computador​ ​tem​ ​endereços​ ​virtuais​ ​de​ ​32​ ​bits​ ​e​ ​paginas​ ​de​ ​4
kb….
Para​ ​uma​ ​tabela​ ​de​ ​página​ ​de​ ​um​ ​nível,​ ​são​ ​necessárias​ ​páginas​ ​de​ ​232/212​ ​ou​ ​1M.
Assim,​ ​o​ ​tabela​ ​de​ ​página​ ​deve​ ​ter​ ​entradas​ ​de​ ​1M.​ ​Para​ ​paginação​ ​de​ ​dois​ ​níveis,​ ​a
tabela​ ​de​ ​página​ ​principal​ ​tem​ ​entradas​ ​de​ ​1K,​ ​cada​ ​uma​ ​das​ ​quais​ ​aponta​ ​para​ ​uma
tabela​ ​de​ ​segunda​ ​página.​ ​Apenas​ ​dois​ ​desses​ ​são​ ​usados.​ ​Assim,​ ​no​ ​total,​ ​apenas
são​ ​necessárias​ ​três​ ​entradas​ ​de​ ​tabela​ ​de​ ​página,​ ​uma​ ​na​ ​tabela​ ​de​ ​nível​ ​superior​ ​e
uma​ ​em​ ​cada​ ​uma​ ​das​ ​tabelas​ ​de​ ​nível​ ​inferior.

15.​ ​Um​ ​computador​ ​cujos​ ​processos​ ​tem​ ​1024​ ​paginas….


O​ ​tempo​ ​de​ ​instrução​ ​efetivo​ ​é​ ​1h​ ​+​ ​5​ ​(1​ ​-​ ​h),​ ​onde​ ​h​ ​é​ ​a​ ​taxa​ ​de​ ​sucesso.​ ​Se​ ​nós
equiparar​ ​esta​ ​fórmula​ ​com​ ​2​ ​e​ ​resolver​ ​por​ ​h,​ ​achamos​ ​que​ ​h​ ​deve​ ​ser​ ​pelo​ ​menos
0,75.

16.​ ​A​ ​TLB​ ​no​ ​VAX….


O​ ​bit​ ​R​ ​nunca​ ​é​ ​necessário​ ​no​ ​TLB.​ ​A​ ​mera​ ​presença​ ​de​ ​uma​ ​página​ ​lá
significa​ ​que​ ​a​ ​página​ ​foi​ ​referenciada;​ ​caso​ ​contrário,​ ​não​ ​estaria​ ​lá.​ ​Assim,​ ​o
bit​ ​é​ ​completamente​ ​redundante.​ ​Quando​ ​a​ ​entrada​ ​é​ ​escrita​ ​de​ ​volta​ ​à​ ​memória,​ ​no
entanto,​ ​O​ ​bit​ ​R​ ​na​ ​tabela​ ​de​ ​páginas​ ​de​ ​memória​ ​está​ ​configurado.

17.​ ​ ​Como​ ​pode​ ​uma​ ​memória​ ​associativa…


Uma​ ​memória​ ​associativa​ ​essencialmente​ ​compara​ ​uma​ ​chave​ ​ao​ ​conteúdo​ ​de​ ​múltiplos
registra​ ​simultaneamente.​ ​Para​ ​cada​ ​registro,​ ​deve​ ​haver​ ​um​ ​conjunto​ ​de​ ​comparadores
que​ ​comparam​ ​cada​ ​bit​ ​no​ ​conteúdo​ ​do​ ​registro​ ​com​ ​a​ ​chave​ ​que​ ​está​ ​sendo​ ​pesquisada.
O​ ​número​ ​de​ ​portões​ ​(ou​ ​transistores)​ ​necessários​ ​para​ ​implementar​ ​esse​ ​dispositivo​ ​é​ ​um
função​ ​linear​ ​do​ ​número​ ​de​ ​registros,​ ​de​ ​modo​ ​que​ ​expandir​ ​o​ ​design​ ​fica​ ​caro​ ​linearmente.
18.​ ​Uma​ ​máquina​ ​tem​ ​um​ ​deslocamento​ ​virtual​ ​de​ ​48​ ​bits​ ​e​ ​um​ ​endereçamento…
Com​ ​páginas​ ​de​ ​8​ ​KB​ ​e​ ​um​ ​espaço​ ​de​ ​endereço​ ​virtual​ ​de​ ​48​ ​bits,​ ​o​ ​número​ ​de​ ​virtual
páginas​ ​é​ ​248/213,​ ​que​ ​é​ ​235​ ​(cerca​ ​de​ ​34​ ​bilhões).

19.​ ​Um​ ​computador​ ​com​ ​uma​ ​página​ ​de​ ​8KB,​ ​uma​ ​memoria…
A​ ​memória​ ​principal​ ​tem​ ​228/213​ ​=​ ​32,768​ ​páginas.​ ​Uma​ ​tabela​ ​de​ ​hash​ ​de​ ​32K​ ​terá​ ​uma
comprimento​ ​de​ ​cadeia​ ​médio​ ​de​ ​1.​ ​Para​ ​obter​ ​menos​ ​de​ ​1,​ ​temos​ ​que​ ​ir​ ​para​ ​o​ ​próximo
tamanho,​ ​65.536​ ​entradas.​ ​A​ ​disseminação​ ​de​ ​32.768​ ​entradas​ ​em​ ​mais​ ​de​ ​65.536​ ​slots​ ​de
mesa​ ​dará​ ​uma​ ​comprimento​ ​de​ ​cadeia​ ​médio​ ​de​ ​0,5,​ ​o​ ​que​ ​garante​ ​uma​ ​pesquisa​ ​rápida.

20.​ ​Um​ ​estudante​ ​da​ ​disciplina​ ​de​ ​projeto​ ​de​ ​compiladores…


Provavelmente​ ​não​ ​é​ ​possível,​ ​exceto​ ​pelo​ ​caso​ ​incomum​ ​e​ ​não​ ​muito​ ​útil​ ​de​ ​um​ ​programa
cujo​ ​curso​ ​de​ ​execução​ ​é​ ​completamente​ ​previsível​ ​na​ ​compilação​ ​Tempo.​ ​Se​ ​um
compilador​ ​coleta​ ​informações​ ​sobre​ ​os​ ​locais​ ​no​ ​código​ ​de​ ​chamadas​ ​para​ ​procedimentos,
esta​ ​informação​ ​pode​ ​ser​ ​usada​ ​no​ ​momento​ ​do​ ​link​ ​para​ ​reorganizar​ ​o​ ​código​ ​do​ ​objeto
para​ ​que​ ​os​ ​procedimentos​ ​fossem​ ​localizados​ ​perto​ ​do​ ​código​ ​que​ ​chama​ ​eles.​ ​Isso
tornaria​ ​mais​ ​provável​ ​que​ ​um​ ​procedimento​ ​fosse​ ​no​ ​mesmo​ ​como​ ​o​ ​código​ ​de​ ​chamada.
Claro​ ​que​ ​isso​ ​não​ ​ajudaria​ ​muito​ ​para​ ​os​ ​procedimentos​ ​chamado​ ​de​ ​muitos​ ​lugares​ ​no
programa.

21.​ ​Supona​ ​que​ ​o​ ​fluxo​ ​de​ ​referencia​ ​de​ ​pag​ ​virtual...
(a)​ ​Toda​ ​referência​ ​fará​ ​a​ ​falha​ ​da​ ​página,​ ​a​ ​menos​ ​que​ ​o​ ​número​ ​de​ ​quadros​ ​de
página​ ​seja​ ​512,
o​ ​comprimento​ ​de​ ​toda​ ​a​ ​seqüência.
(b)​ ​Se​ ​houver​ ​500​ ​quadros,​ ​coloque​ ​as​ ​páginas​ ​0​ ​a​ ​498​ ​em​ ​quadros​ ​fixos​ ​e​ ​apenas
varie
um​ ​quadro.

22.​ ​Se​ ​o​ ​algoritmo​ ​de​ ​substituição​ ​FIFO…


Os​ ​quadros​ ​de​ ​página​ ​para​ ​FIFO​ ​são​ ​os​ ​seguintes:
x0172333300
xx017222233
xxx01777722
xxxx0111177
Os​ ​quadros​ ​de​ ​página​ ​para​ ​LRU​ ​são​ ​os​ ​seguintes:
x0172327103
xx017232710
xxx01773271
xxxx0111327
FIFO​ ​produz​ ​falhas​ ​de​ ​seis​ ​páginas;​ ​LRU​ ​cede​ ​sete.

23.​ ​Observe​ ​a​ ​sequencia​ ​de​ ​paginas​ ​daa​ ​figura..​ ​Suponha​ ​que​ ​os​ ​bits​ ​R…
A​ ​primeira​ ​página​ ​com​ ​um​ ​bit​ ​0​ ​será​ ​escolhida,​ ​neste​ ​caso​ ​D.

24.​ ​Um​ ​computador​ ​pequeno​ ​tem​ ​4​ ​molduras…


Os​ ​contadores​ ​são
Página​ ​0:​ ​0110110
Página​ ​1:​ ​01001001
Página​ ​2:​ ​00110111
Página​ ​3:​ ​10001011

25.​ ​Dê​ ​um​ ​exemplo​ ​simples​ ​de​ ​uma​ ​sequencia​ ​de​ ​referencia​ ​de​ ​paginas…
A​ ​sequência:​ ​0,​ ​1,​ ​2,​ ​1,​ ​2,​ ​0,​ ​3.​ ​Na​ ​LRU,​ ​a​ ​página​ ​1​ ​será​ ​substituída​ ​pela​ ​página​ ​3.
No​ ​relógio,​ ​a​ ​página​ ​1​ ​será​ ​substituída,​ ​uma​ ​vez​ ​que​ ​todas​ ​as​ ​páginas​ ​serão​ ​marcadas​ ​e​ ​o
cursor​ ​está​ ​na​ ​página​ ​0.

26.​ ​No​ ​algoritmo​ ​WSClock…


A​ ​idade​ ​da​ ​página​ ​é​ ​2204​ ​-​ ​1213​ ​=​ ​991.​ ​Se​ ​τ​ ​=​ ​400,​ ​definitivamente​ ​está​ ​fora​ ​de​ ​o​ ​conjunto
de​ ​trabalho​ ​e​ ​não​ ​foi​ ​recentemente​ ​referenciado​ ​para​ ​que​ ​ele​ ​seja​ ​despejado.​ ​o​ ​τ​ ​=​ ​1000
situação​ ​é​ ​diferente.​ ​Agora,​ ​a​ ​página​ ​está​ ​dentro​ ​do​ ​conjunto​ ​de​ ​trabalho​ ​(mal),​ ​então​ ​não​ ​é
removido.

27.​ ​Quanto​ ​tempo​ ​leva​ ​para​ ​recarregar….


A​ ​latência​ ​rotativa​ ​de​ ​busca​ ​mais​ ​é​ ​de​ ​20​ ​ms.​ ​Para​ ​páginas​ ​de​ ​2​ ​KB,​ ​o​ ​tempo​ ​de
transferência​ ​é​ ​1.25​ ​msec,​ ​para​ ​um​ ​total​ ​de​ ​21.25​ ​msec.​ ​O​ ​carregamento​ ​de​ ​32​ ​dessas
páginas​ ​680​ ​ms.​ ​Para​ ​páginas​ ​de​ ​4​ ​KB,​ ​o​ ​tempo​ ​de​ ​transferência​ ​é​ ​duplicado​ ​para​ ​2,5​ ​ms,
então​ ​o​ ​O​ ​tempo​ ​total​ ​por​ ​página​ ​é​ ​de​ ​22,50​ ​ms.​ ​A​ ​carga​ ​de​ ​16​ ​dessas​ ​páginas​ ​leva​ ​360
ms.

28.​ ​Questao​ ​da​ ​tabela


NRU​ ​remove​ ​a​ ​página​ ​2.
FIFO​ ​remove​ ​página​ ​3.
LRU​ ​remove​ ​a​ ​página​ ​1.​ ​Segundo
A​ ​chance​ ​remove​ ​a​ ​página​ ​2.

29.​ ​Considere​ ​o​ ​seguinte​ ​arranjo​ ​bidimencional….


Fragmento​ ​B,​ ​uma​ ​vez​ ​que​ ​o​ ​código​ ​possui​ ​mais​ ​localidade​ ​espacial​ ​do​ ​que​ ​o
Fragmento​ ​A.​ ​O​ ​loop​ ​interno​ ​causa​ ​apenas​ ​uma​ ​falha​ ​de​ ​uma​ ​página​ ​para​ ​qualquer
outra​ ​iteração​ ​do​ ​exterior​ ​loop.​ ​(Somente​ ​haverá​ ​falhas​ ​de​ ​32​ ​páginas.)​ ​Além
(Fragmento​ ​A):​ ​uma​ ​vez​ ​que​ ​um​ ​quadro​ ​é​ ​128​ ​palavras,​ ​uma​ ​linha​ ​da​ ​matriz​ ​X​ ​ocupa
metade​ ​de​ ​uma​ ​página​ ​(ou​ ​seja,​ ​64​ ​palavras).​ ​Toda​ ​a​ ​matriz​ ​se​ ​encaixa​ ​em​ ​64​ ​×​ ​32/128
=​ ​16​ ​quadros.​ ​O​ ​circuito​ ​interno​ ​do​ ​código​ ​passos​ ​através​ ​de​ ​linhas​ ​consecutivas​ ​de
X​ ​para​ ​uma​ ​determinada​ ​coluna.​ ​Assim,​ ​todos​ ​os​ ​outros​ ​a​ ​referência​ ​a​ ​X​ ​[i]​ ​[j]​ ​causará
uma​ ​falha​ ​na​ ​página.​ ​O​ ​número​ ​total​ ​de​ ​falhas​ ​na​ ​página​ ​será​ ​64​ ​×​ ​64/2​ ​=​ ​2,048.

30.​ ​Uma​ ​das​ ​primeras​ ​máquinas​ ​de​ ​compartilhamento​ ​de​ ​tempo,​ ​o​ ​PDP…
O​ ​tambor​ ​de​ ​paginação​ ​PDP-1​ ​teve​ ​a​ ​vantagem​ ​de​ ​não​ ​latência​ ​rotacional.​ ​este
economizou​ ​uma​ ​meia​ ​rotação​ ​cada​ ​vez​ ​que​ ​a​ ​memória​ ​foi​ ​escrita​ ​no​ ​tambor.

31.​ ​Um​ ​computador​ ​provê…


O​ ​texto​ ​é​ ​de​ ​oito​ ​páginas,​ ​os​ ​dados​ ​são​ ​cinco​ ​páginas​ ​e​ ​a​ ​pilha​ ​é​ ​de​ ​quatro​ ​páginas.
O​ ​programa​ ​não​ ​corresponde​ ​porque​ ​precisa​ ​de​ ​17​ ​páginas​ ​de​ ​4096​ ​bytes.​ ​Com​ ​um​ ​512-
página​ ​byte,​ ​a​ ​situação​ ​é​ ​diferente.​ ​Aqui​ ​o​ ​texto​ ​é​ ​de​ ​64​ ​páginas,​ ​os​ ​dados​ ​são​ ​33
páginas,​ ​e​ ​a​ ​pilha​ ​é​ ​de​ ​31​ ​páginas,​ ​para​ ​um​ ​total​ ​de​ ​128​ ​páginas​ ​de​ ​512​ ​bytes,​ ​que​ ​se
encaixa.​ ​Com​ ​o​ ​pequeno​ ​tamanho​ ​da​ ​página​ ​está​ ​OK,​ ​mas​ ​não​ ​com​ ​o​ ​grande.

32.​ ​Uma​ ​pagina​ ​pode​ ​estar​ ​em​ ​2​ ​conjuntos​ ​de​ ​trabalho…
Se​ ​as​ ​páginas​ ​podem​ ​ser​ ​compartilhadas,​ ​sim.​ ​Por​ ​exemplo,​ ​se​ ​dois​ ​usuários​ ​de​ ​um
sistema​ ​de​ ​compartilhamento​ ​de​ ​tempo​ ​estão​ ​executando​ ​o​ ​mesmo​ ​editor​ ​ao​ ​mesmo
tempo,​ ​e​ ​o​ ​texto​ ​do​ ​programa​ ​é​ ​compartilhado​ ​em​ ​vez​ ​de​ ​copiados,​ ​algumas​ ​dessas
páginas​ ​podem​ ​estar​ ​no​ ​conjunto​ ​de​ ​trabalho​ ​de​ ​cada​ ​usuário​ ​em
o​ ​mesmo​ ​tempo.

33.​ ​Tem​ ​se​ ​observado​ ​que…


O​ ​programa​ ​está​ ​recebendo​ ​15.000​ ​falhas​ ​na​ ​página,​ ​cada​ ​uma​ ​das​ ​quais​ ​usa​ ​2​ ​ms​ ​de
extras​ ​Tempo​ ​de​ ​processamento.​ ​Juntos,​ ​a​ ​sobrecarga​ ​de​ ​falha​ ​da​ ​página​ ​é​ ​de​ ​30
segundos.​ ​Isso​ ​significa​ ​que​ ​dos​ ​60​ ​segundos​ ​utilizados,​ ​a​ ​metade​ ​foi​ ​gasto​ ​na​ ​cabeça​ ​da
falha​ ​na​ ​página​ ​e​ ​metade​ ​em​ ​correr​ ​o​ ​programa.​ ​Se​ ​executarmos​ ​o​ ​programa​ ​com​ ​duas
vezes​ ​mais​ ​memória,​ ​ficamos​ ​meio​ ​tantas​ ​falhas​ ​de​ ​página​ ​de​ ​memória​ ​e​ ​apenas​ ​15
segundos​ ​de​ ​falha​ ​de​ ​falha​ ​na​ ​página,​ ​de​ ​modo​ ​que​ ​O​ ​tempo​ ​de​ ​execução​ ​total​ ​será​ ​de​ ​45
seg.

34.​ ​Um​ ​grupo​ ​de​ ​projetistas….


Funciona​ ​para​ ​o​ ​programa​ ​se​ ​o​ ​programa​ ​não​ ​puder​ ​ser​ ​modificado.​ ​Funciona​ ​para​ ​o
dados​ ​se​ ​os​ ​dados​ ​não​ ​puderem​ ​ser​ ​modificados.​ ​No​ ​entanto,​ ​é​ ​comum​ ​que​ ​o​ ​programa
não​ ​pode​ ​ser​ ​modificado​ ​e​ ​extremamente​ ​raro​ ​que​ ​os​ ​dados​ ​não​ ​possam​ ​ser​ ​modificados.​ ​E
se​ ​a​ ​área​ ​de​ ​dados​ ​no​ ​arquivo​ ​binário​ ​foi​ ​substituída​ ​por​ ​páginas​ ​atualizadas,​ ​a​ ​próxima
Quando​ ​o​ ​programa​ ​foi​ ​iniciado,​ ​não​ ​teria​ ​os​ ​dados​ ​originais.

35.​ ​Uma​ ​instrução​ ​de​ ​linguagem​ ​de​ ​máquina…


A​ ​instrução​ ​pode​ ​situar-se​ ​sobre​ ​um​ ​limite​ ​de​ ​página,​ ​causando​ ​falhas​ ​de​ ​duas
páginas​ ​apenas​ ​para​ ​obter​ ​as​ ​instruções.​ ​A​ ​palavra​ ​buscada​ ​também​ ​pode​ ​abranger
um​ ​limite​ ​de​ ​página,​ ​gerando​ ​mais​ ​duas​ ​falhas,​ ​para​ ​um​ ​total​ ​de​ ​quatro.​ ​Se​ ​as
palavras​ ​devem​ ​ser​ ​alinhadas​ ​em​ ​memória,​ ​a​ ​palavra​ ​de​ ​dados​ ​pode​ ​causar​ ​apenas
uma​ ​falha,​ ​mas​ ​uma​ ​instrução​ ​para​ ​carregar​ ​uma​ ​A​ ​palavra​ ​de​ ​32​ ​bits​ ​no​ ​endereço
4094​ ​em​ ​uma​ ​máquina​ ​com​ ​uma​ ​página​ ​de​ ​4​ ​KB​ ​é​ ​legal​ ​em​ ​alguns​ ​máquinas
(incluindo​ ​o​ ​Pentium).

36.​ ​Quando​ ​a​ ​segmentação​ ​e​ ​a​ ​paginação…


Não.​ ​A​ ​chave​ ​de​ ​pesquisa​ ​usa​ ​o​ ​número​ ​do​ ​segmento​ ​e​ ​o​ ​número​ ​da​ ​página​ ​virtual,
então​ ​a​ ​página​ ​exata​ ​pode​ ​ser​ ​encontrada​ ​em​ ​uma​ ​única​ ​partida.

37.​ ​Consideremos​ ​um​ ​programa​ ​que​ ​tenha​ ​os​ ​2​ ​segmentos…..​ ​tem​ ​tabela….
Aqui​ ​estão​ ​os​ ​resultados:
endereço​ ​ ​|​ ​Falha
(a)​ ​|​ ​(14,​ ​3)​ ​|​ ​Não​ ​(ou​ ​0xD3​ ​ou​ ​1110​ ​0011)
(b)​ ​|​ ​NA​ ​ ​ ​ ​ ​ ​|​ ​Falha​ ​de​ ​proteção:​ ​Escreva​ ​para​ ​ler​ ​/​ ​executar​ ​o​ ​segmento
(c)​ ​|​ ​NA​ ​ ​ ​ ​ ​ ​|​ ​falha​ ​Page
(d)|​ ​ ​NA​ ​ ​ ​ ​ ​ ​|Falha​ ​de​ ​proteção:​ ​Ir​ ​para​ ​o​ ​segmento​ ​de​ ​leitura​ ​/​ ​gravação

38.​ ​Voce​ ​consegue​ ​imagina​ ​alguma​ ​situação….


O​ ​suporte​ ​à​ ​memória​ ​virtual​ ​geral​ ​não​ ​é​ ​necessário​ ​quando​ ​os​ ​requisitos​ ​de​ ​memória
de​ ​todas​ ​as​ ​aplicações​ ​são​ ​bem​ ​conhecidas​ ​e​ ​controladas.​ ​Alguns​ ​exemplos​ ​são​ ​especiais
processadores​ ​(por​ ​exemplo,​ ​processadores​ ​de​ ​rede),​ ​processadores​ ​embutidos​ ​e
super-computadores​ ​(por​ ​exemplo,​ ​design​ ​de​ ​asa​ ​de​ ​avião).​ ​Nessas​ ​situações,​ ​devemos
sempre​ ​considere​ ​a​ ​possibilidade​ ​de​ ​usar​ ​mais​ ​memória​ ​real.​ ​Se​ ​o​ ​funcionamento
o​ ​sistema​ ​não​ ​precisava​ ​suportar​ ​memória​ ​virtual,​ ​o​ ​código​ ​seria​ ​muito​ ​mais​ ​simples
e​ ​menor.​ ​Por​ ​outro​ ​lado,​ ​algumas​ ​idéias​ ​da​ ​memória​ ​virtual​ ​podem
ainda​ ​ser​ ​lucrativamente​ ​explorado,​ ​embora​ ​com​ ​diferentes​ ​requisitos​ ​de​ ​design.​ ​Para
exemplo,​ ​o​ ​isolamento​ ​do​ ​programa​ ​/​ ​thread​ ​pode​ ​ser​ ​paginação​ ​na​ ​memória​ ​flash