Baixe o app para aproveitar ainda mais
Prévia do material em texto
Capítulo 1 2. Qual o papel do middleware em um sistema distribuído? O middleware tem objetivo de ser uma camada de software adjacente tanto das aplicações quanto dos SO’s permitindo comunicação entre os sistemas dessa forma é possível suportar a heterogeneidade de computadores e redes. 3. Muitos sistemas em rede são organizados em termos de uma retaguarda e uma vanguarda. Como as organizações se ajustam à visão coerente que exigimos para um sistema distribuído? Não necessariamente todo o processo de uma organização deve estar totalmente integrado. Na prática os sistemas são implantados da maneira em que a organização é dividida. Ou seja, é sim possível que um sistema distribuído suporte uma divisão entre retaguarda e vanguarda, tendo procedimentos e processos próprios. 5. Por que às vezes é tão difícil ocultar a ocorrência e a recuperação de falhas em sistemas distribuídos? Pela dificuldade de distinguir se um recurso está morto ou apenas extremamente lento. 4. Explique o que quer dizer transparência (de replicação) e dê exemplos de diferentes tipos de transparência. Replicar um recurso é favorável a um sistema distribuído por aumentar a disponibilidade ou melhora de desempenho, colocando uma cópia perto do local em que ele será acessado. A transparência de replicação diz justamente sobre ocultar do usuário a existência de cópias de um recurso. Um exemplo são provedores de software como serviço (Saas) é possível replicar serviços a fim de atender usuários de diversas localizações geográficas, como o Gmail. Entretanto, o usuário nos Estados Unidos não terá conhecimento da VM que o usuário do Brasil está utilizando. 8. O que se entende por sistema escalável? Dê exemplo de escalabilidade. Escalabilidade de um sistema se dá no mínimo pelo seu comportamento em 3 dimensões apresentadas por Numan (1994). A facilidade em adicionar mais recursos e usuários ao sistema (escalabilidade de tamanho). A capacidade de possuir usuários e recursos geograficamente distantes. E por último, facilidade em gerenciar mesmo abrangendo diversas organizações administrativas. Um bom exemplo de escalabilidade é a facilidade do sistema em suportar um novo servidor para divisão de processos que ao longo do tempo se tornam mais custosos. Capítulo 2 1. Se um cliente e um servidor forem colocados longe um do outro, podemos ver a latência de rede dominar o desempenho global? Como podemos atacar esse problema? Sim, podemos. É possível atacar esse problema mudando o padrão de comunicação entre cliente servidor de síncrona para assíncrona assim otimizando o tempo realizando outras tarefas enquanto aguarda-se a finalização da requisição. Utilização de caches para guardar resultados de requisições frequentemente feitas também pode ajudar a diminuir a latência. 2. O que é uma arquitetura cliente servidor de 3 divisões? É a arquitetura que leva em consideração não somente os conceitos únicos de cliente e servidor mas também uma camada que pode funcionar como ambos. Como por exemplo, uma camada que faça requisições ao banco de dados esperando ser atendida para poder apresentar a um interface. Ela funciona como cliente ao fazer as requisições ao banco e como servidor ao processar os dados e apresentá-los em tela. 3. Qual a diferença entre uma distribuição vertical e uma distribuição horizontal? A distribuição vertical se dá por possuir componentes logicamente diferentes implantados em máquinas também distintas. Já a distribuição horizontal conta com cliente ou servidores sendo subdivididos em partes logicamente equivalentes, entretanto cada parte atua em seu prórpio conjunto completo de dados equilibrando a carga, um exemplo é a arquitetura peer-to-peer. 4. (10.)Nem todo nó em uma rede P2P deve se tornar um superpar. Cite requisitos razoáveis que um superpar deve cumprir. Superpares se comunicam apenas entre si para realizar a comunicação de par comum para par comum, sendo assim os pares comuns conectam-se com o seu superpar. Capítulo 3 1. (2.) Teria sentido limitar a quantidade de threads em um processo servidor? Sim, muitas thread podem consumir uma grande quantidade de memória diminuindo ou zerando a vantagem de usá-las. Outro motivo é que threads independentes podem ser problemáticos em SO’s resultando em falhas. 2. (5.)Ter só um processo leve por processo nem sempre é uma ideia assim tão boa. Por quê? Pois se houver uma chamada de sistema de bloqueio está bloqueará todo o processo. 3. (7.) X designa um terminal de usuário como hospedeiro do servidor, enquanto uma aplicação é referida como cliente. Isso tem sentido? 4. (9.) Proxies podem suportar transparência de replicação invocando cada réplica. O lado servidor de uma aplicação pode estar sujeito a uma chamada replicada? Sim, entretanto mantém-se a transparência de replicação através do lado do cliente que pode colher todas as respostas e passar uma única à aplicação do cliente. 5. 13 Um servidor que mantém uma conexão TCP/IP com um cliente é com estado ou sem estado? Se considerarmos que o servidor não mantém mais nenhuma informação sobre o estado do cliente então temos um servidor sem estado. No caso temos a camada de transporte (tcp) no servidor que mantém o estado do cliente.
Compartilhar