1) Explique o significado de transparncia de distribuio e d exemplos de diferentes t ipos de distribuio. R- A transparncia de distribuio o fenmeno pelo qual os aspectos da distribuio de um sistema so ocultados dos usurios e das aplicaes. Exemplos incluem tr ansparncia de acesso, de localizao, de migrao, de relocao, de replicao, de concorrnc de falha. 2) Por que nem sempre indicada a implementao do mais alto grau de transparncia possv el? R- Visar o mais alto grau transparncia pode conduzir a uma perda considervel d o desempenho, de forma a usurios no estarem dispostos aceitar. 3) O que uma organizao virtual e d uma sugesto de uma possvel implementao dessas orga zaes. R- Uma organizao virtual (OV) define um grupo de usurios / aplicaes que tm o ace o a um grupo especfico de recursos, que podem ser distribudos atravs de diferentes computadores, possudo por muitas organizaes diferentes. De fato, uma OV define quem tem o acesso a que. Isto tambm sugere que os recursos devam manter uma conta de usurios juntamente com os respectivos direitos de acesso. Isto pode ser feito atr avs de mecanismos de controle de acesso padro (tais como os bits do rwx em UNIX), embora os usurios convidados guest users possam necessitar de uma conta especial, o que complica consideravelmente a poltica de acesso definida. 4) Transparncia de distribuio pode ou no estar presente em sistemas pervasivos. Essa declarao no vlida para todos os tipos de transparncia. Exemplifique. R- Considere o caso da transparncia de migrao. Em muitos sistemas pervasivos, os componentes so mvei s e necessitam reestabelecer conexes ao moverem-se de um ponto a outro. Tais hando vers devem ser transparentes ao usurio. Da mesma forma, muitos outros tipos de tra nsparncia devem ser tambm suportados. Entretanto, o que no deve ser ocultado um usur io est alcanando possivelmente os recursos que so acoplados diretamente ao ambiente atual do usurio. 5) Sistemas domsticos, sistemas eletrnicos para tratamento de sade e redes de senso res so exemplos de sistemas pervasivos. Amplie a lista com mais exemplos com uma descrio sucinta de cada exemplo. R- H diversos exemplos de sistemas pervasivos. Con sidere as redes mesh sem fio em grande escala nas cidades ou vizinhanas que fornece m no s servios de acesso a Internet, mas que tambm sirvam de infra-estrutura para ou tros servios (ex. sistema de notcias). H sistemas de monitoramento do habitat dos a nimais selvagens, sistemas para cadeias eletrnicas onde prisioneiros so monitorado s continuamente, sistemas integrados em grande escala dos esportes, sistemas de escritrio que empregam crachs ativos de controle de empregados, e assim por diante . 6) Descreva uma soluo para atacar o problema de latncia de rede resultante da distnc ia entre um servidor e o cliente. R- A soluo depende de como o cliente organizado. possvel dividir o cdigo no lado cliente em partes menores para que possam ser pro cessadas separadamente (i.e. idia de threads). Assim, enquanto uma parte do cdigo espera a resposta do servidor, outra parte pode ser processada. Ou seja, o clien te pode realizar outro trabalho aps emitir uma requisio ao servidor. Esta soluo subst itui de maneira eficaz a comunicao cliente-servidor sncrona pela comunicao assncrona. 7) Em uma rede de recobrimento estruturada, mensagens so roteadas de acordo com a topologia de sobreposio. Cite uma importante desvantagem dessa abordagem. R- O pr oblema conseqncia de links lgicos. o caso onde dois ns A e B que so vizinhos na rede de recobrimento so situados fisicamente distante uma da outra. Consequentemente, o caminho logicamente curto entre A e B podem requerer o roteamento de uma mensa gem ao longo de um caminho muito longo na rede fsica subjacente. 8) Cite um argumento tcnico interessante para explicar por que a poltica do toma-ld- c usada pelo Bittorrent no adequada para compartilhamento de arquivos na Internet. R- O argumento relativamente simples. A maioria de clientes BitTorrent so operad os atrs das ligaes assimtricas tais como fornecido por modem de ADSL ou de cabo. No geral, os clientes so oferecidos uma capacidade entrante elevada da largura de ba nda, mas ningum espera realmente que os clientes tenham os servios a oferecer. Bit Torrent no faz esta suposio, e considera clientes de um servidor colaborativo. Ter conexes simtricas um modo muito melhor para a poltica tit-for-tat. 9) Como o sistema operacional impede que um processo monopolize um processador? R- Um relgio de interrupo gera uma interrupo aps um quantum de tempo especificado, e o SO despacha um outro processo para executar. O processo interrompido executar no vamente quando avanar no topo da lista de prontos e um processador ficar disponvel novamente. 10) Teria sentido limitar o nmero de threads em um servidor? R- Sim. Primeiro, th reads requerem memria para sua prpria pilha. Conseqentemente, havendo muitas thread s o consumo de memria pode evitar que o servidor trabalhe corretamente. Outra razo sria que para um sistema operacional, threads independentes tendem a operar de f orma catica. Isso pode dificultar o funcionamento estvel do sistema de memria virtu al, resultando em falhas de paginao e erros de E/S. Assim, havendo muitas threads, pode levar a degradao de desempenho em comparao ao caso do uso de nica thread (singl e thread). 1) Por que servios de comunicao de nvel de transporte frequentemente so inadequados p ara construir aplicaes distribudas? R- Eles dificilmente oferecem transparncia de di stribuio, o que implica numa significante ateno por parte dos desenvolvedores na imp lementao da comunicao e, freqentemente, levando a solues proprietrias. Como conseqnc licaes distribudas construdas diretamente sobre soquetes so difceis de serem portveis e de interoperarem com outras aplicaes. 12) Considere um procedimento incr com dois parmetros inteiros. O procedimento ad iciona um a cada parmetro. Agora suponha que ele seja chamado com a mesma varivel duas vezes, por exemplo, como incr (i,i). Se i for inicialmente 0, qual valor el e ter depois se for utilizada chmada por referncia? E se for utilizada chamada cop iar/restaurar? R- Se for usada uma chamada por referncia, um ponteiro para i pass ado para incr. Assim, ele ser incrementado duas vezes chegando a um resultado fin al igual a 2(dois). Entretanto, atravs do cpia/restaura, i ser duas vezes passado p or valor, cada valor inicialmente 0 (zero). Os dois sero incrementados chegando a um resultado final 1(um), cada um. Copiados de volta, com a segunda cpia sobrepo ndo a primeira o resultado final ser 1(um), e no 2(dois). 13) C tem uma construo denominada Union, na qual um campo de um registro, denomina do Struct em C, pode conter qualquer uma de diversas alternativas. Em tempo de e xecuo, no h nenhum modo garantido de dizer qual delas est naquele campo. Essa caracte rstica de C tem quaisquer implicaes para RPC? Explique sua resposta. R- Se um siste ma em tempo de execuo no pode informar qual o valor do tipo estar no campo ele no pod er empacotar os dados corretamente. Assim, Unions no aceitar RPC a menos que exista uma tag que, de forma no ambgua, informe a variante contida no campo. 14) Um modo de manipular converso de parmetro em sistemas RPC fazer com que cada mq uina envie parmetros em sua representao nativa, e a outra faa a traduo, se necessrio. O sistema nativo poder ser indicado por um cdigo no primeiro byte. Contudo, uma vez que localizar o primeiro byte na primeira palavra exatamente o problema, isso p ode funcionar? R- Inicialmente, quando um computador envia o byte 0 (zero), ele sempre chega 0 (zero). Assim, o computador destino pode acessar o byte 0 (usando a instruo byte) e o cdigo estar nele. No importa se se trata de little-endian ou big -endian. Uma alternativa pode ser colocar o cdigo em todos os bytes da primeira p alavra. Ento, no importando qual byte seja examinado, o cdigo estar l. 15) Considere que um cliente chama uma RPC assncrona para um servidor e, na seqncia , espera at que o servidor retorne uma outra RPC assncrona. Essa abordagem o mesmo que deixar o cliente executar uma RPC normal? R- No. Uma RPC assncrona retorna um ack para o cliente chamador, significando que depois da primeira chamada do cli ente, uma mensagem adicional enviada pela rede. Da mesma forma, o servidor sabe que sua resposta foi entregue ao cliente. Duas R PCs assncronas podem garantir uma comunicao confivel. 16) Um protocolo de requisio-resposta implementado em um servio de comunicao com falh as por omisso para fornecer a semntica de invocao pelo menos uma vez. No primeiro ca so, o desenvolvedor presume um sistema assncrono distribudo. No segundo caso, o de senvolvedor presume que o tempo mximo para a comunicao e a execuo de um mtodo remoto T . De que maneira esta ltima suposio simplifica a implementao? R- A semntica de invocao elo menos uma vez mascara as falhas por omisso, no sendo adequada para o servio pro posto. Usar um sistema assncrono como soluo dessa semntica aumenta consideravelmente o nmero de mensagens na rede. Alm disso, atravs dessa semntica, se a operao no for ide mpotente, corre-se o risco de sofrermos um efeito colateral grave pela repetio ind evida da repetio da operao. Assim, atribuindo-se um tempo adequado T de execuo remota de um processo, evitase o aumento de mensagens na rede decorrente da primeira so luo, chegando-se a uma soluo tolervel para o uso do pelo menos uma vez.