6.1 Em relação a vantagem e desvantagem da E/ S mapeada na memória com relação à E/S independente. Enumere duas vantagens e duas desvantagens. Vantagens: 1. Não h necessidade de mais linhas de controle no !arramento para distinguir comandos de memória de comandos de entrada e sa"da. #. $ endereçamento % mais &le'"vel. (egistradores podem ser utili)ados para dados ou módulos de entrada e sa"da* tam!%m* diversos modos de endereçamento de instrução podem ser usados. +esvantagens: 1. ,emória mapeada de entrada e sa"da utili)a instruç-es de re&erencia de memória* ue* em algumas muinas* são maiores ue instruç-es de entrada e sa"da* &a)endo com ue o programa se torne maior. #. $ endereçamento lógico do hardare dos módulos de entrada e sa"da % mais comple'o* por causa do tamanho do endereçamento dos peri&%ricos. 6.# Em uase todos os sistemas ue incluem módulos de +,0* o acesso do módulo de +,0 à memória principal tem prioridade mais alta do ue o acesso da pu. 2or u34 Se o processador da 25 tem um ciclo rou!ado7 ao tentar ler ou escrever na memória* normalmente nenhum dano ocorre* e'ceto um peueno atraso de tempo. Entretanto* numa trans&er3ncia via +,0* ue est trans&erindo dados de ou para algum peri&%rico* uma parada longa7 de trans&er3ncia 8negação de continuidade de acesso a memória principal9 pode gerar perdaou corrupção dos dados. 6. onsidere o sistema de disco descrito no E'erc"cio ;.6 e suponha ue o disco gira a 6< rpm. 5m processador l3 um setor do disco usando E/S dirigida por interrupção* com uma interrupção por !=te trans&erido. Se o processador gasta #*; >ls para processar cada interrupção* ual a porcentagem do tempo do processador despendida no tratamento de E> S 8desconsidere o tempo de !usca no disco94 Se temos o disco girando a 6< rpm* então um !=te % lido do disco em: ? @ tempo de trans&er3ncia ! @ nAmero de !=tes trans&eridos N @ nAmero de !=tes da trilha r @ velocidade de rotaçãp 8rpm9 ? @ !/8rBN9 @ 1 / 86< rpm B ;1# !=tes/ setor B C6 setores/trilha9 ? @ *D s Se uma interrupção ocorre a cada !=te* então o sistema operacional ir processar a interrupção 8#*; s9* a seguir reali)ar alguma outra tare&a* depois* processar outra interrupção** etc... $ tempo entre as interrupç-es % igual ao tempo necessrio para ler 1 interrupção !=te. Em outras palavras* o disco ir ler 1 !=te* então interromper o sistema operacional* depois* ler outro !=te. $ sistema operacional apenas poder reali)ar algum outro tra!alho se tiver tempo su&iciente para processar uma interrupção antes ue outra ocorra. Neste caso* o processador ir despender #*; s / *D s / !=te ou DF de seu tempo no tratamento de E/S. 6.D (epita o E'erc"cio 6. usando +,0 e supondo uma interrupção a cada setor trans&erido. om +,0* e'iste apenasuma interrupção por cada setor inteiro. >sto leva *D s/!=te B ;1# !=tes/setor @ 1*D1 s para ler o setor. +esta &orma* o processador somente gasta #*; s / 1D1 s @ <*1DF do tempo de tratamento de E/S. Nota: Não est sendo levado em consideração o tempo de atraso rotacional* na resposta acima. aso este tempo seGa inclu"do* então o tempo para ler um !=te ser aumentado na &orma:
? @ ! / 8rBN9 H 1/8#Br9 @ I* ms >sto signi&ica ue o tempo ue o processador utili)a para processar uma interrupção % !em peueno 8apro'imadamente <*<<F em am!os os casos9. 6.; 5m módulo de +,0 trans&ere caracteres para a memória usando a t%cnica de rou!o de ciclo* a partir de um dispositivo ue trans&ere dados à ta'a de C6<< !ps. $ processador !usca instruç-es a uma ta'a de 1 milhão de instruç-es por segundo 81 ,>2S9. Jual % a diminuição na velocidade do processador em virtude da atividade do módulo de +,04 $ processador acessa a memória principal a cada uma ve) a cada 1 micro segundo 81 ,>2S9. $ módulo de +,0 trans&ere dados à ta'a de C6<< !ps. $ tempo para esta ta'a %: 1/C6<< @ 1mpressora de linha: 6*6 K!=tes / s Leitora de cartão: 1*# K!=te / s ?erminal de v"deo / teclado: 1 K!=te / s Estime a ta'a m'ima agregada de trans&er3ncia de E/S nesse sistema. onsiderandoMse ue apenas um dispositivo por ve) tem acesso ao canal* a m'ima trans&er3ncia se da na ordem calculada: 1 B I<< 8unidade +isco canal seletor9 1 B I<< 8unidade +isco canal seletor9 #B 6*6 8impressora de linha canal multiple'ador9 # B 1*# 8leitor de cartão canal multiple'ador9 1< B 18terminal de v"deo/teclado canal multiple'ador9 I<< H I<< H #B6*6 H #B1*# H 1S programada e ue a trans&er3ncia de E/S de uma palavra reuer a e'ecução de duas instruç-es pelo processador* estime a ta'a m'ima de trans&er3ncia de dados de E/S em palavras por segundo atrav%s de +. !. Estime essa mesma ta'a supondo ue % usado acesso direto à memória. EN?(0+0 ES0"+0 #
a9 omo o computador utili)a C;F de sua capacidade em e'ecução de instruç-es* resta apenas ;F do seu tempo para dispositivos de entrada e sa"da 8E/S9. E'ecutando 1<6 instruç-es por segundo: 0 ta'a de e'ecução de E/S ser: 1< 6 B <*<; @ ;<.<<< instruç-es por segundo. 0 ta'a de trans&er3ncia de E/S SE(O: #;<<< palavras por segundo. !9 $ nAmero de ciclos de muina dispon"vel para +,0 ser: 1<6 B 8 <.<; B ; H <.C; B # 9 @ #1;<.<<< ciclos @ #*1; B 1<6 ciclos Jue ser a m'ima ta'a de trans&er3ncia do +,0. 6.I 5ma &onte de dados produ) caracteres 0S>> de !its* a cada ual % ane'ado um !it de paridade. $!tenha uma e'pressão para a ta'a e&etiva m'ima de trans&er3ncia de dados 8ta'a de trans&er3ncia de !its de caracteres 0S>>9* so!re uma linha de ( !ps* para os seguintes casos: a. ?ransmissão ass"ncrona* com um !it de parada a cada 1*; unidade de dados. !. ?ransmissão s"ncrona de !its* com umuadro de transmissão de DI !its de controle e 1#I !its de in&ormação. c. $ mesmo ue em 8!9* mas com um campo de in&ormação de 1<#D !its. d. ?ransmissão s"ncrona de caracteres* com um uadro de transmissão de C caracteres de controle e 16 caracteres de in&ormação. e. $ mesmo ue em 8d9* com campo de in&ormação de 1#I caracteres. ?a'a ,'ima de trans&er3ncia 8?,9 @ Pração da ta'a8&9 B Linha de ( !ips 8(9 ?, @ & B ( a9 2ara !its de dadosQ 1 !it de partidaQ 1*; !it de paradaQ 1 !it de paridade & @ / 81 H H 1 H 1*;9 @ <*6 ?, @ <*6 B ( !9 om cada uadro contendo 16 !its 8DIH1#I9 $ nAmero de caracteres ser: 1#I / I @ 16 $ nAmero de !its de dados ser: 16 B @ 11# ?, @ 811#/169 B ( @ <*6D B ( c9 ada campo com 1<#D !itsQ $ nAmero de caracteres ser: 1<#D / I @ 1#I $ nAmero de !its de dados ser: 1#I B @ IC6 ?, @ 8IC6 / 1<#9 B ( @ <*ID B ( d9 om uadro de transmissão de C caracteres de controle e 16 de in&ormaçãoQ ada uadro cont%m: 8 C B 169 B I @ #<< !its $ nAmero de !its de dados ser: 16 B @ 11# !its ?, @ 811# / #<<9 B ( @ <*;6 B ( e9 om uadro de transmissão de C caracteres de controle e 1#I de in&ormaçãoQ ada uadro cont%m: 8C B 1#I9 B I @ 1
Servidor de maçãs* tem um !elo p% de maçãs* carregado com deliciosas maçãs* do seu lado da cercaQ ele senteMse &eli) em &ornecer maçãs ao outro garoto sempre ue ele solicita. $ outro garoto* chamado omedor de maçãs* adora comer maçãs* mas não tem nenhuma. +e &ato* ele deve comer maçãs a uma ta'a &i'a 8uma maçã por dia mant%m o m%dico longe9. Se comer maçãs a uma ta'a mais alta* ele &icar doente. Se comer mais devagar* so&rer de desnutrição. Nenhum dos garotos pode &alar e* portanto* o pro!lema % trans&erir maçãs do Servidor para o omedor de maçãs na ta'a correta. a. Suponha ue e'iste um relógio com alarme no alto da cerca* ue pode ser programado para disparar o alarme. omo o relógio pode ser usado para resolver o pro!lema4 +esenhe um diagrama de tempo para ilustrar a solução. !. Suponha agora ue não e'iste nenhum relógio. Em ve) disso* o omedor de maçãs tem uma !andeira* ue ele pode !alançar uando deseGar uma maçã. Sugira uma nova solução. Seria Atil ue o Servidor de maçãs tam!%m tivesse uma !andeira4 Em caso a&irmativo* incorpore isso à sua solução. +iscuta as desvantagens dessa a!ordagem. c. 0gora dispense a !andeira e suponha ue e'ista um longo pedaço de corda. Sugira uma solução ue utili)e a corda e seGa melhor do ue a apontada em 8!9. a9 0 trans&er3ncia das maçãs deve ser sincroni)ada com o relógio* ue deve ser aGustado para tocar con&ormeas necessidades de maçã do omedor de maçãs. Num momento inicial* am!os devem sa!er ue devem iniciar o processo de servir /comer maçãs. >sto deve acontecer a partir do momento em ue o relógio desliga na primeira ve)* o ue dar in"cio ao processo. Juando o relógio tocar novamente* o Servidor de maçãs deve pegar uma maçã e atiraMla por so!re a cerca. No pró'imo toue ser a ve) do omedor de maçãs apanhar a maçã atirada so!re a cerca e comeMla. Esta seu3ncia de procedimentos deve ser a anloga a trans&er3ncia sincroni)ada de dados entre dispositivos de um computador* como por e'emplo* leitura de dispositivo de entrada e sa"da de dados8E/S9* utili)andoMse !arramento. +ados E/S 2ulso clocR Endereço +urante o primeiro pulso do sinal de clocR* a linha de endereços vai para n"vel alto* colocando !its de endereço no !arramento. No segundo pulso* a linha de leitura de E/S % ativada* &a)endo com ue os !its de dados seGam colocados na linha de dados. +urante o terceiro pulso de clocR* 025 l3 os dados. !9 $s garotos devem possuir* cada um* uma !andeira de sinali)ação e acordar ue sempre ue o omedor de maças sinali)ar com sua !andeira* colocandoMa na posição hasteada* o Servidor de maçãs dever pegar uma maçã e atiraMla por so!re a cerca e* em seguida* hastear a sua !andeira* por certo espaço de tempo* para sinali)ar ue enviou uma maçã. >sto evitar ue* caso o comedor de maçãs venha a esuecer sua !andeirahasteada* o Servidor de maçãs continue enviandoMas sem ue o segundo realmente delas necessite. 0 seu3ncia seria apro'imadamente como a!ai'o: $ omedor de maçãs hasteia sua !andeira avisando ue est com &ome. $ Servido de maçãs v3 a !andeira de seu colega hasteadaQ pega uma maçã e a atira so!re a cerca. $ Servidor de maçãs hasteia* por certo espaço de tempo* sua !andeira* para avisar ue enviou a maçã solicitada.
$ omedor de maçãs ao ver a !andeira do amigo hasteada* sa!e ue a maçã est dispon"vel e a recolhe. $ omedor de maçãs mant%m sua !andeira a!ai'ada at% ue ele tenha &ome novamente. 5m pro!lema com este procedimento % ue o Servidor de maçãs poderia estar atare&ado com outras atividades e não perce!er a solicitação de seu amigo e o dei'aria &aminto. 2ara evitar este pro!lema* seria necessrio ue o Servidor de maçãs não &i)esse outra coisa a não ser vigiar a indicação de seu companheiro* o ue seria desperd"cio de atividades. Em computação* as etapas acima seriam denominadas de E/S ass"ncrona. c9 0ssumindo ue a corda vai de um lado a outro da cerca e esteGa atada ao corpo de cada garoto* o omedor de maçãs deve sinali)ar ue est com &ome* dando um leve pu'ão na corda* ue ir alertar ao Servidor de maçãs a parar o ue estiver &a)endo e atirar uma maçã para o amigo* após o ue* tam!%m aplica um leve pu'ão na corda para avisar ue a maçã est dispon"vel. Se porventura o Servidor de maçãs estivermuito ocupado em outra tare&a* este pode desamarrar a corda de seu corpo e terminar a atividade em ue estiver envolvido* amarrandoMa a si novamente ao t%rmino da ocupação. Este procedimento euivale* em computação* a um sinal de reuerimento de interrupção. 6.1< Suponha ue um microprocessador de 16 !its e dois de I !its devam ser conectados a um !arramento do sistema. onsidere os seguintes detalhes: 1. ?odos os microprocessadores possuem as caracter"sticas de hardare necessrias para ualuer tipo de trans&er3ncia de dados: E>S programada* E>S dirigida por interrupção e +,0. #. ?odos os microprocessadores t3m !arramento de endereço de 16 !its. . +uas placas de memória* cada uma com capacidade de 6D K!=tes* são conectadas ao !arramento. $ proGetista uer usar uma memória compartilhada ue seGa a maior poss"vel. D. $ !arramento do sistema cont%m* no m'imo* uatro linhas de interrupção e uma linha de +,0. Paça uaisuer outras hipóteses ue Gulgar necessrias. a. Especi&iue o tipo e o nAmero de linhas do !arramento do sistema. !. E'pliue como os dispositivos relacionados acima são conectados ao !arramento do sistema. Suposiç-es: $s módulos de memória de 6D possuem inter&ace de IM!its Não % necessrio controle de !arramentoQ ar!itração lógica decide ual processador tem o tempo do !arramento. Juando o +,0 usa o !arramento* todos os processadores entram em estado de $L+7. ontrole de interrupção de!arramento necessita ser inter&aceado com o processador 8 selecionar um ou criar lógica para mais9Q interrupção de E/S. .1 onsidere um computador multiprogramado* no ual todas as tare&as t3m caracter"sticas id3nticas. +urante um intervalo de computação ?* uma tare&a gasta a metade do tempo em E>S e a outra metade em atividade do processador. ada tare&a e'ecuta um total de N per"odos. Suponha ue seGa usada uma &ila de prioridade circular e ue as operaç-es de E> S possam se so!repor com a operação do processador. +e&ina as seguintes uantidades: T ?empo de resposta @ tempo real para completar uma tare&a T ?a'a de e'ecução de tare&as @ nAmero m%dio de tare&as completadas por per"odo de tempo? T 5tili)ação do processador @ porcentagem de tempo ue o processador est ativo 8nãoocioso9
alcule cada uma dessas uantidades para os casos em ue h uma* duas e uatro tare&as simultUneas* supondo ue o per"odo ? seGa distri!u"do de cada uma das seguintes maneiras: a. 0 primeira metade para E>S 8>/$M!ound9 e a segunda metade para o processador. !. $ primeiro e uarto uartos para E>S e o segundo e terceiro uartos para o processador. ? @ per"odo de tempo 8intervalo de computação9 N @ nAmero de per"odos $peraç-es de E/S podem so!reporMse com operação do processador $peraç-es do processador são cont"nuas 8não se so!rep-em9 ?(? @ ?empo real de resposta @ tempo real para e'ecutar uma tare&a ?N @ ?BN @ ?a'a dee'ecução de tare&as Pormato de clculo id3ntico para respostas: a9 e !9 2ara um tra!alho: ?(? @ ?N* com utili)ação de ;S % um programa ue* uando e'ecutado so)inho* gasta mais tempo esperando por E>S do ue usando o processador. 5m programa limitado pelo processador % o oposto. Suponha ue um algoritmo de escalonamento de curto pra)o &avoreça programas ue tenham usado pouco tempo do processador no passado recente. E'pliue por ue esse algoritmo &avorece os programas limitados por E> S e* ainda* evita situaç-es em ue os programas limitados por processamento &iuem sem tempo de processador. 2rogramas limitados por E/S utili)am pouco tempo do processador e são* desta &orma* &avorecidos pelo algoritmo. Entretanto* se um processo de programa limitado pelo processador % negado pelo processador por um per"odo te tempo mais longo* este mesmo algoritmo ir garantir a este processo a utili)ação do processador* G ue este processo não teve acesso adeuado ao processador no passado recente. Sendo assim* não acontecer de o programa limitado pelo processador ter acesso permanentemente negado. . 5m programa computa a seguinte soma das linhas de uma matri) 0 de dimensão 1<< '1<<: n i @ aiG W@1 Suponha ue o computador use paginação so! demanda* com pginas de tamanho igual a mil palavras* e ue o total de memória principal alocada para dados seGa de cinco !locos de pginas. 0 ta'a de &altas de pginas seria di&erente caso a matri) 0 &osse arma)enada na memória virtual por linha ou por coluna4 E'pliue. onsiderandoMse ue a memória principal pode guardar ; !locos de pginas: $ tamanho da 0((0X % de 1< pginasQ aso a 0((0X seGa arma)enada em linhas7* então* a cada de) pginas* estas deverão ser trans&eridas para a memória principal. Se a 0((0X &or arma)enada em colunas7* então cada linha7 ser dispersa ao longo das de) pginas* e cada pgina dever ser acessada 1<< ve)es* uma para cada calculo de linha7 81< B 1<9. .D Suponha ue a ta!ela de pginas do processo ue est sendo e'ecutado no processador seGa
tal como a apresentada a seguir. ?odos os endereços nessa ta!ela são nAmeros decimais* a partir de )ero* e são endereços de !=tes de memória. $ tamanho de uma pgina % 1<#D !=tes. NAmero de 2gina virtual Y Zit entradaVlida Y Zit 2gina (e&erenciada YZit 2gina ,odi&icada Y NAmero de Zloco de 2gina Y
5m total de 1; pginas são re&erenciadas* a distri!uição se d como a!ai'o: NY1Y#YYDY;Y6YYIY ?a'a Y #/1; Y /1; Y D/1; Y #/1; Y 1/1; Y #/1; Y 1/1; Y 1; Y . No computador V0^* o endereço de uma ta!ela de pginas de usurio % um endereço virtual no espaço de sistema. Jual % a vantagem de ter ta!elas de pginas de usurios na memória virtual* e não na memória principal4 Jual % a desvantagem4 0 principal vantagem de se ter ta!elas de pginas de usurios na memória virtual % poupar espaço de memória &"sica. >sto ocorre por duas ra)-es: 5ma ta!ela de pgina de usurio pode ser paginada na memória somente uando &or necessria. $ sistema operacional pode alocarta!elas de pgina dinamicamente* criando somente uma* uando o processo % gerado. omo desvantagem* e'iste o &ato de ue translação de endereços reuer tra!alho e'tra. .I onsidere um sistema de computação com segmentação e paginação. Juando um segmento est na memória* algumas palavras são desperdiçadas na Altima pgina. 0l%m disso* para um tamanho de segmento s e um tamanho de pgina p* e'istem s/p entradas na ta!ela de pginas. Juanto menor o tamanho da pgina* menor % o desperd"cio na Altima pgina do segmento* mas maior % a ta!ela de pginas. Jue tamanho de pgina minimi)a a so!recarga total4 Em m%dia* p/# palavras são desperdiçadas na Altima pgina. Sendo assim* o total do desperd"cio % dado por: @ desperd"cio d @ p/# H s/p 2ara encontrar o valor m"nimo* igualamos a derivada a )ero e achamos valor em relação a p7. d/dp @ 81/#9 [ 8s / p#9 @ < p @ sr 8#s9 .C 5m computador possui uma memória cache* uma memória principal e um disco* usado para memória virtual. Se uma palavra re&erenciada est na memória cache* o tempo de acesso % de #< ns. Se est na memória principal* mas não na cache* são necessrios 6< ns para carregMla na cache* sendo a re&er3ncia então iniciada novamente. Se não est na memória principal* são necessrios 1# ms para !uscar a palavra no disco* seguidos de 6< ns para copiMla na cache* e então a re&er3ncia % novamente iniciada. 0 ta'a de acerto na cache % de <*C ena memória principal % de <*6. Jual % o tempo m%dio* em nanossegundos* necessrio para acessar uma palavra re&erenciada nesse sistema4 onsiderando as pro!a!ilidades indicadas* produ)Mse uma ta!ela com valores: Local da palavra re&erenciada Y Y 2ro!a!ilidade Y Y ?empo total de acesso em nano seg. Y Na memória cache Y Y Y <*C Y Y Y #< Y Y Y Não na memória cache* Y Y 8<*19 B 8<*69 @ <*<6 Y Y Y 6< H #< @ I< Y Y mas na memória principal Y Y Y Y Y Y Y Y Não na memória cache* Y Y 8<*19 B 8<*D9 @ <*
ue o sistema construa uma ta!ela de descritores de pgina com oito entradas para cada segmento. $ sistema usa* portanto* uma com!inação de segmentação e paginação. Suponha* ainda* ue o tamanho da pgina seGa de # K!=tes. a. Jual % o tamanho m'imo de cada segmento4 !. Jual % o espaço de endereçamento lógico m'imo da tare&a4 c. Suponha ue um valor locali)ado no endereço &"sico <<<#10Z seGa acessado pela tare&a. Jual % o &ormato do endereço lógico ue a tare&a gera para esse valor4 Jual % o espaço de endereçamento &"sico m'imo do sistema4 ## [ memória / #11 [ tamanho pgina @ #11uadro pgina ,emória principal 8## !=tes9 ## [ memória / #11 [ tamanho pgina @ #11 uadro pgina ?a!ela de descritor de pgina Segmento: a9 ?amanho m'imo do segmento I B #K @ 16 K !9 Espaço de endereçamento m'imo 16K B D @ 6D K c9 Espaço de endereçamento &"sico ## @ D _ Z=tes .11 onsidere um microprocessador capa) de endereçar at% ## !=tes de memória principal &"sica. Ele implementa um espaço de endereçamento lógico segmentado* com tamanho m'imo de #1 !=tes. ada instrução cont%m um endereço completo de duas partes. São usadas unidades de gerenciamento de memória 8memor=Mmanagement units M ,,5s9 e'ternas* cuGo esuema de gerenciamento aloca !locos cont"guos de memória &"sica para os segmentos. Esses !locos t3m tamanho &i'o e igual a ### !=tes. $ endereço &"sico inicial de um segmento % sempre divis"vel por 1<#D. ,ostre* em detalhes* a intercone'ão do mecanismo e'terno de mapeamento* ue converte endereços lógicos em &"sicos* usando um nAmero apropriado de ,,5s. ,ostre tam!%m* detalhadamente* a estrutura interna de uma ,,5 8considerando ue cada,,5 possui uma memória cache de descritores de segmento com 1#I entradas e com mapeamento direto9 e como cada ,,5 % selecionada. onsideraç-es: $ endereço &"sico inicial de um segmento % sempre divis"vel por 1
,,5M1 ,,5M< Endereço P"sico #M!it ?a!ela 1#I'#1 ,>($M 2($ESS0 +$( +E$+>P .1# onsidere um espaço de endereçamento lógico paginado 8composto de # pginas de # K!=tes cada9* mapeado em um espaço de memória &"sica de 1 ,!=te. a. Jual % o &ormato do endereço lógico do processador4 !. Jual % o nAmero de entradas na ta!ela de pginas e ual o tamanho de cada entrada 8desconsiderando os !its de `permissão de acesso`94 c. Jual seria o e&eito so!re a ta!ela de pginas* se o espaço &"sico de memória &osse redu)ido pela metade4 a9 $ &ormato do endereço lógico do processador % dado por: Y NAmero Y Y Y Y Y Y 2gina 8 ; 9 Y Y $&&set 8 11 9 Y !9 $ nAmero de entradas na ta!ela de pginas % #* com cada entrada de C !its de tamanho. c9 Se o nAmero total de entradas permanecer em # e o tamanho da pgina não mudar* então cada entrada &icaria com I !its de tamanho.