Sei sulla pagina 1di 6

DEPARTAMENTO DE CINCIA DA COMPUTAO SISTEMAS OPERACIONAIS I - 20 SEM/11 PROVA II

GABARITO
Tempo de Prova: 100 minutos / Escore Mximo: 300 pontos Aluno: __________________________________________________ Escore: __________

1 Questo Particionamento da Memria (100 pontos) Calcule e responda de forma sucinta e clara cada uma das questes a seguir. 1. Considerando que num sistema dotado de uma memria cache para instrues de 512MB e uma mem-

ria primria de 2GB, o tempo mdio de acesso (leitura) de uma instruo qualquer seja dado pela frmula abaixo: (50)

Tma = t c + (1 hit c ) * t m
Onde, T ma tc tp hitc tempo mdio de acesso tempo de acesso cache tempo de acesso memria principal taxa de hit (sucesso) da cache

Supondo que neste sistema voc tenha tc = 10ns e tm = 800ns a. Calcule Tma caso a taxa de hit na cache seja zero. R. Tma = tc + tm = 810ns b. Calcule agora, a taxa mnima de hit da cache de forma a garantir um Tma mximo de 90ns. R. 90 tc + (1 hitc) * tm hitc 90%

Considerando agora a existncia de uma cache L2 de 1GB, a frmula de clculo do Tma passa a ser a seguinte:

Tma = t L1 + (1 hit L1 ) * [t L 2 + (1 hit L 2 ) * t m ]


c. Estime o Tma considerando que o sistema tenha sofrido um upgrade e possua agora os seguintes nveis de armazenamento temporrio da instruo: cache L1 de 512MB com tL1=10ns e hitL1=90%; cache L2 de 1GB com tL2=20ns e hitL2=95%; memria primria expandida para 4GB com tm=800ns e PF=30% (Page Fault) e uma memria virtual de 300GB mantida em um HD SCSI com as seguintes caractersticas tcnicas: velocidade de rotao 6000rpm; nmero de cilindros 100; nmero de setores por trilha 1000; nmero de bytes por setor 512; nmero de superfcies teis 10; tempo gasto no movimento das cabeas de leitura/gravao entre cilindros adjacentes (parmetro m) 10s; startup e stop time 5s cada um (assuma que cada pgina virtual tenha 512 bytes e que o acesso s PVs tenha comportamento aleatrio). R. Tma = tL1 + (1 hitL1) * [tL2 + (1 hitL2) * {tm + PF * tMV}] onde tMV = Ts + A + Tt Ts = n * m + S = 100/2 * 10s + 2 * 5s = 510s = 510000ns A = 1/2r = 1 / (2 * 6000rpm) = 0,005s = 5000000ns Tt = b / Nr = 512 / (512*1000*6000rpm) = 0,00001s = 10000ns TMV = 510000 + 5000000 + 10000 = 5520000ns Tma = 10 + (1 0,9) * [20 + (1 0,95) * {800 + 0,3 * 5520000}] = 8296ns = 8,296s Tma = 8,296s

d. A taxa de hit de uma cache constante (sempre a mesma) para todos os processos em execuo? Justifique sua resposta. R. NO. Varia de fluxo de execuo para fluxo de execuo. e. Apresente (cite) o que, a seu ver, so os principais fatores que influenciam na taxa de hit real de uma cache. R. Depende de condies inerentes prpria da cache (tamanho; velocidade de acesso e tipo acesso direto ou associativa, por exemplo); e da taxa de hit que muito dependente do princpio da localidade, que inerente a cada fluxo de execuo 2. Considerando as possveis estratgias de particionamento da memria principal vistas em sala: (50) a. O que significam os termos fragmentao interna e fragmentao externa? R. Fragmentao interna lo processo; espao de memria no utilizado dentro (interno) da partio recebida pe-

Fragmentao externa espao de memria impossvel de ser usado (em funo do seu tamanho) e que externo as parties recebidas pelos processos b. Em termos de desempenho, aponte qual das estratgias de particionamento: dinmico; esttico ou esttico relocvel a pior? Justifique. R. Dinmico em funo do overhead gerado a partir da fragmentao externa (que quando excessiva conhecida por colcha de retalhos) c. Qual a diferena conceitual entre as estratgias de particionamento conhecidas por Paginao e Segmentao? R. Na Paginao todas as pginas so de tamanho fixo (todas iguais ou variando finitamente em valores pr-definidos) e formadas seqencialmente independente de qualquer lgica do programa; Na segmentao os segmentos podem ter tamanhos diferentes e so criados com o intuito de preservar alguma lgica do programa (rea de dados, rotina principal, etc). d. Sabendo que o Buddy System um tipo de particionamento dinmico onde a memria a ser alocada a um processo qualquer organizada em blocos de 2K, com L K U, onde 2 L menor bloco que pode ser alocado e 2U o maior bloco (tamanho da memria), calcule o endereo inicial e o tamanho dos blocos de memria que seriam alocados para atender a seguinte seqncia de requisies: PA120K; PB230K; PC320K e PD60K (considere o tamanho de 1MB para a memria do usurio e como sugesto monte a rvore de particionamento) R. PA = 0.....0 (20bits) 128KB PB = 010...0 (20bits) 256KB PC = 10.....0 (20bits) 512KB PD = 001..0 (20bits) 64KB

e. Assumindo que um particionamento por paginao faz uso de um endereo lgico (EL) de 16bits, sendo 11 bits para deslocamento e 5 para o nmero da pgina, pergunta-se: i) Quantos e qual o tamanho que deve ter cada pgina do programa, considerando que cada clula possui um byte? R. Nmero = 25 = 32; Tamanho = 211 = 2KB

ii) Qual o tamanho mximo em bytes, que pode ter um processo neste contexto? Mostre como chegou a ele. R. Processo = 32 * 4 = 128KB

iii) Como fica o EL de uma instruo cujo endereo relativo seja 4100/10? (pode responder em base 10 ou base 2) R. Considerando 1K = 1000 Considerando 1K = 1024 EL: 3.100/10 ou 00011.00001100100/2 EL: 3.4/10 ou 00011.00000000100/2

iv) Mostre, com base na PT abaixo, como feito o mapeamento do endereo lgico abaixo para o endereo absoluto (EL dado em binrio e PT em decimal). 00010 PT 0 1 2 3 4 : 30 21 15 00 09 : 00000000100

EV

R. EA: 15.4/10 ou 01111. 00000000100/2 2a Questo Gerenciamento de E/S (100 pontos)


1. Suponha um sistema de disco com as seguintes caractersticas: (60)

o o o o o o o

Velocidade de rotao Nmero de pratos Nmero de cilindros Setores / trilha Bytes / setor Tempo de start/stop Constante de Hardware

- 3000rpm - 10 - 100 - 2000 - 500 - 10ms - 500s

M=

disk size in bytes 8 x file system block size b r*N 1 2*r

Tmedio = Tc + miss * Tm Ts = m * n + s

X 4(i) = X 3(i ) X 2(i) X 1(i ) X 0(i ) Tt =


Calcule:

TLm =

Ta = Ts + Tt + TLm

a) O tempo mdio de busca (seek time) esperado considerando um escalonamento randmico


R. Ts = 50 * 500s + 20ms = 45ms

b) A latncia mdia da unidade de disco


R. A = 1 / 2*r = 60 / (2 * 3000) = 0,01s

c) O tempo mdio de transferncia, considere que a unidade de acesso seja de 4 setores


R. Tt = 4 * 60 / (2000 * 3000) = 0,04ms

d) O tempo esperado mdio de acesso

R. Ta = 45ms + 0,01s + 0,04ms = 45,04ms

e) O comprimento mdio de busca (average seek length SL) para cada uma das estratgias de escalonamento abaixo, dado que as cabeas de leitura e escrita esto posicionadas sobre o cilindro de nmero 10, com movimento do brao na direo ascendente, e que haja a seguinte sequncia de pedidos pendentes - 97, 16, 110, 186, 147, 41, 10, 64, 120 e 5, i) SSTF
R. 10: 10 5 16 41 64 97 110 120 147 186 186/10 = 18.6

ii) SCAN
R. 10: 10 16 41 64 97 110 120 147 186 5 357/10 = 35.7

2. Considere os fluxos de execuo abaixo, onde cada um dos blocos, identificados de A a H, representa

um trecho de fluxo e responda as perguntas que se seguem: (40)

a) Qual ou quais dos blocos no seu entender exercem ou podem exercer a funo de rotina principal?
R. Rotinas Principais: Blocos A e B

b) Todos os blocos formam uma nica unidade de execuo? Caso positivo justifique ou, em caso negativo, enumere os blocos que pertenam a unidades distintas de execuo.
R. No. Unidade 1: A, C, D e G Unidade 2: B, D, E, F e H

c) O que podem representar os blocos C, D, E, F, G e H?


R. D rotina compartilhada (re-entrante), possivelmente uma DLL C e G sub-rotinas da unidade 1 de execuo

E e F threads da unidade 2 de execuo H sub-rotina da thread F

d) O que representam as setas a, b e c nos blocos A, B e E?


R. No bloco A a (chamada de sub-rotina), b (retorno de sub-rotina) No bloco B a (criao da thread E), b (criao da thread F) No bloco E c (desvio condicional de execuo) 3 a Questo Memria Virtual (100 pontos)
Leia, interprete e responda cada um dos itens a seguir: (a interpretao faz parte da questo)

1. Considere um sistema que utiliza a tcnica de Gerncia de Memria Virtual por Paginao com pginas reais de 512 bytes. O programa a seguir deve ser executado:
Endereo Virtual 510: Endereo Virtual 511: Endereo Virtual 512: Endereo Virtual 513: Endereo Virtual 514: Endereo Virtual 515: Endereo Virtual 516: Programa Prova2; Var A, B, C: inteira; A = 1; B = 1; C = A + B; D = 0; Fim.

No incio da execuo do programa, o PC/CI recebe o valor (510)10 e a tabela parcial de pginas do processo possui o seguinte contedo:
Entr. na Tab. Pginas Endereo do frame

0 1 2 3 4 5 6

**** **** **** **** **** **** ****

A Lista de Pginas Livres do sistema composta pelas seguintes pginas reais (a tabela indica o endereo inicial do frame): Incio da Lista
512 4608 5120 7680

ponteiro para a prxima rea livre


Considere que: A varivel A est associada ao endereo virtual (528)10 A varivel B est associada ao endereo virtual (1032)10 A varivel C est associada ao endereo virtual (1537)10 A varivel D est associada ao endereo virtual (2049)10 A execuo das instrues Programa Prova2; Var A, B, C: inteira e Fim no fazem acesso memria. Para qualquer instruo, o ciclo de busca executado em um nico acesso memria principal. O limite de pginas reais (frames) para o processo igual a 3. Cada processo pode ter at 128 pginas virtuais.

A poltica de substituio de pginas utilizada a LRU. A traduo da operao de soma feita da seguinte forma: LOAD Op1 ACC (Op1) Op3 = Op1 + Op2 ADD Op2 STORE Op3 R1 ACC (Op3) (Op2) ACC + R1 ACC

Onde ACC o registrador Acumulador e R1 um registrador de dados auxiliar. a) Complete a tabela a seguir indicando todas as referncias realizadas a endereos de memria nos ciclos de busca e de execuo do programa.
Instruo Ciclo de Busca ou Execuo Endereo Virtual Referenciado Pgina Virtual Deslocamento Page Fault (S/N)? Houve Page in (S/N)? Pgina que sai Bit de Modificao Houve Page out (S/N) ? Endereo Traduzido Real

Programa Var A=1 A=1 B=1 B=1 C=A+B LOAD A ADD B STORE C D=0 D=0 Fim

Busca Busca Busca Execuo Busca Execuo Busca Execuo Execuo Execuo Busca Execuo Busca

51010 51110 51210 52810 51310 103210 51410 52810 103210 153710 51510 204910 51610

0 0 1 1 1 2 1 1 2 3 1 4 1

510 511 0 16 1 8 2 16 8 1 3 1 4

S N S N N S N N N S N S N

S N S N N S N N N S N S N

---------0 -2 --

0 0 0 1 1 1 1 1 1 1 1 1 1

N N N N N N N N N S N S N

512+510=102210 512+511=102310 4608+0=460810 4608+16=462410 4608+1=460910 5120+8=512810 4608+2=461010 4608+16=462410 5120+8=512810 512+1=51310 4608+3=461110 5120+1=512110 4608+4=461210

b) Mostre a Lista de reas Livres imediatamente antes do ciclo de busca da instruo do endereo virtual 51610. Incio da Lista
7680

ponteiro para a prxima rea livre

c) Mostre a Tabela de Pginas Virtuais imediatamente antes do ciclo de busca da instruo do endereo virtual 51610.
Entr. na Tab. Pginas Endereo do frame

0 1 2 3 4 5 6

**** 4608 **** 512 5120 **** ****

"O melhor fiscal do ser humano sua prpria conscincia"


CONCENTRE-SE E FAA UMA BOA PROVA!

Potrebbero piacerti anche