Capitulo 1) Evolução dos Sistemas Computacionais 1. O que limitava a capacidade computacional na década de 50? R: A utilização das válvulas as mesmas queimavam com 1000 horas de uso causando baixa resistência 2. Nas décadas de 50 e 60, quais critérios eram utilizados na escolha de um sistema computacional? R: Um dos principais fatores de escolha está ligado ao conceito de Economia de Escala que associa a viabilidade econômica de um sistema pelo custo por unidade de produção. 3. Quais são as principais diferenças entre os sistemas operacionais para mainframes e PCs? R: Os sistemas operacionais para mainframe são criados especialmente para a finalidade de cada modelo e Os sistemas operacionais para PC são criados para qualquer modelo 4. Quais sistemas são favorecidos pelo critério de Economia de Escala? R: Microsoft Windows e Apple Macintosh 5. Quais as vantagens e os problemas do ambiente em rede? Vantagens: - Compartilhamento de Recursos (Impressoras, dados, CD’s, etc) - Transparência, concorrência (Acesso de varias maquina em uma só). - Tolerância às falhas (confiabilidade - se falhar um computador numa rede de vários é mais fácil recuperar da falha do que se fosse apenas num computador), escalabilidade (facilmente podem ser adicionados computadores à rede) - aumento da capacidade de computação, aumento da segurança / estabilidade global fator econômico (é melhor ter vários computadores medianos/fracos que um forte) e capacidade de processamento. Desvantagens: - Infiltração de código malicioso - Escuta de terminais de monitores (através da radiação eletromagnética dos terminais é possível ver o que uma pessoa faz no seu posto de trabalho) - Ataque às senhas dos usuários 6. Por que a Lei de Grosch foi revista nas décadas de 70 e 80? R: Por causa do avanço da tecnologia e com o surgimento dos microprocessadores e dois pontos não consideravam que: - A limitação do crescimento que gera uma saturação e uma inversão no sentido da curva - Computadores de categoria diferentes (como micro e mainframes) utilizam tecnologias diferentes e não podem ser comparados pela mesma curva de preço/desempenho 7. Quais os benefícios do desenvolvimento Open-Source? R: É um software de código aberto o que quer dizer software livre “gratuito” e por ser gratuito permite varias pessoas testarem é corrigido erros e falhas mais rapidamente melhorando o aplicativo. 8. Os PCs, com o desenvolvimento das interfaces gráficas, e a popularização da Internet tiveram papel significativo na evolução dos sistemas computacionais e no panorama atual da informática. Discuta o papel destes eventos e as consequências desta evolução. R: 9. O que é Middleware e qual sua importância? R: É um programa de computador que faz a mediação entre software e demais aplicações, é utilizado para mover ou transportar informações e dados entre programas de diferentes protocolos de comunicação, plataformas e dependências do sistema operacional. 10. Considerando a evolução discutida, discuta as perspectivas que você espera para a próxima década. Como sugestão, consulte a Sociedade Brasileira de Computação (www.sbc.org) que realizou o evento sobre “Grandes Desafios da Pesquisa em Computação no Brasil”. R: A computação ubíqua pode ser considera como a terceira grande onda da computação: primeiro vieram os mainframes, depois os PCs e agora surge a computação ubíqua que é considerada pela Sociedade Brasileira de Computação, um dos grandes desafios da computação no Brasil Capitulo 2) Evolução dos Sistemas Distribuídos Qual a diferença de um sistema SMP de um Cluster? Clusters são sistemas fracamente acoplados, formados por nós que são conectados por uma rede de interconexão de altodesempenho dedicada. Cada nó da rede é denominado membro do cluster, possuindo seus próprios recursos, comoprocessadores, memória, dispositivos de E/S e sistema operacional. Geralmente, os membros do cluster são de um mesmo fabricante, principalmente por questões de incompatibilidade dos sistemas operacionais. A razão para osurgimento e a rápida aceitação de sistemas em cluster foi a maior necessidade de tolerância a falhas e altadisponibilidade, de forma reduzir o downtime. SMP O sistema fortemente acoplado mais comum é definido como Multiprocessamento Simétrico (Symmetric Multiprocessing SMP) onde não há hierarquia entre os processadores e cada processador executam uma cópia idêntica do SO que é responsável pelo gerenciamento dos processos e do compartilhamento de recursos Resumidamente : Symmetric Multiprocessing Uma arquitetura de computador que permite a utilização de múltiplos processadores. Resumidamente : Um cluster é um conjunto de computadores interconectados que funcionam como se fosse um só grande sistema Em um sistema SMP, é mais simples substituir um processador defeituoso, pois, em um cluster, toda a rede de comunicação deve ser desabilitada para que a troca seja efetuada sem prejudicar a troca de mensagens entre os processos. Em um cluster, o custo da escalabilidade é muito menor, pois, para a interconexão entre as máquinas, podem ser utilizados equipamentos comuns usados em uma rede local de computadores, ao passo que um sistema SMP exige conexões extras no barramento e gabinetes especiais. Capitulo 3) Conceitos de sistemas Distribuídos 1. Comente o comparativo que Gregório faz das definições de Sistemas Distribuídos dadas por Lamport, Coulouris, Silberschatz e Tanenbaum. R: Lamport: Qualquer rede de computadores interligados são considerados sistemas distribuídos . Colouris: Computadores conectados em rede devem estar espacialmente separados por alguma distância entre si resultando como consequências: - Concorrência - Não existência de relógio global - Falhas Independentes Silberschatz: São mais flexíveis e seus componentes possuem maior autonomia se assemelhando muito a sistemas de rede, porém com o controle de um único Sistema Operacional. Tanenbaum: São compostos por sistemas com autonomia reduzida tipicamente unida por uma camada de software e comumente chamados de Middleware permitindo que possuam seu SO local 2. Defina Computação Úbiqua. R: Computação Ubíqua é um agrupamento de uma grande quantidade de dispositivos pequenos e baratos que estão presentes no ambiente físico dos usuários, como residência e escritório, além dos dispositivos portáteis e tem como objetivo tornar a interação pessoa-máquina invisível, ou seja, integrar a informática com as ações e comportamentos naturais das pessoas. 3. Defina Groupware. R: GroupWare é um termo usado para descrever softwares que facilitam a colaboração e o trabalho em grupo através do compartilhamento de informações separados geograficamente, permitindo que trabalhem em conjunto em organizações virtuais 4. Explique Fail Stop. R: Fail Stop é um modo de falha muito simples cujos danos visíveis são: - O sistema para de funcionar - O estado interno e os dados contidos neste estado são perdidos Como estes problemas são visíveis e facilmente detectados, a sua prevenção é facilitada. 5. O que são falhas Bizantinas. R: Falhas Bizantinas são falhas tipicamente associadas à comunicação entre os componentes do sistema e normalmente são causadas por erros não detectados em algum software do sistema e seus danos nem sempre são facilmente visíveis. Consequentemente são muito mais difíceis de serem detectadas, dificultando sua prevenção e correção porém o sistema continua trabalhando, mas não produz os resultados corretos. 6. Cite as possíveis variáveis para medidas de desempenho. R: - Tempo de resposta do servidor - Throughput (número de Jobs por unidade de tempo) - Quantidade de recursos consumidos pela rede - Resultados de benchmarks - Tempo de transmissão de dados 7. Defina desempenho de paralelismo de granularidade fina e grossa. Paralelismo de Granularidade Fina - implica em mais flexibilidade, porque há mais, pequenos incrementos, pequenas unidades funcionais Paralelismo de Granularidade Grossa - possui grandes pedaços de capacidade funcional como em grandes processos computacionais onde há poucas interações e poucos dados 8. Explique os tipos de transparência dos sistemas distribuídos. Acesso: Oculta diferenças na representação de dados e no modo de acesso Localização: O local do recurso é desconhecido Migração e Relocação: O recurso pode ser movido, inclusive enquanto está em uso. Replicação: Múltiplas instâncias de um recurso podem ser utilizadas para aumentar confiabilidade e desempenho sem o conhecimento destas réplicas Concorrência: Vários usuários podem compartilhar o mesmo recurso Falha: A falha e a recuperação de um recurso não pode afetar o sistema Capitulo 4) Tipos e Arquiteturas 1. Cite os sistemas famosos em Cluster. Exemplo popular são os clusters Beowulf [03] baseados em Linux, Discover é um supercomputador (NASA) que será utilizado para estudos climáticos da Terra, Plêiades , NASA realizar as simulações de missões espaciais, RoadRunner utilizado para pesquisa de armas nucleares e efeitos da radiação. 2. Cite os sistemas famosos em Grid. A maior rede brasileira de supercomputadores, o GridUnesp é um sistema de alto desempenho para pesquisas científicas 3. Explique SOA. SOA é um paradigma para a realização e manutenção de processos de negócios com grande espalhamento em um sistema distribuído, Fortemente vinculado a um ambiente de rede, não é de se estranhar que os conceitos chave da SOA envolvam, Serviços, Interoperabilidade, Acoplamento Fraco 4. Explique Sistemas Distribuídos Pervasivos. Sistemas compostos por um ou mais computadores pessoais que interagem ou integram outros dispositivos como TV, áudio, smartphones, PDAs. Necessidade de autoconfiguraçãoe autogerência(PlugandPlay) Problemas: Como atualizar hardware e software sem intervenção, Como preservar o espaço pessoal, Sincronização de dados Descreva sua compreensão sobre o capítulo Peer-To-Peer. Peer-to-peer "par-a-par" ou "entre pares"; tradução livre: ponto a ponto; sigla: P2P) é uma arquitetura de sistemas distribuídos caracterizada pela descentralização das funções na rede, onde cada nodo realiza tanto funções de servidor quanto de cliente. O P2P é o resultado da tendência natural do desenvolvimento de engenharia de software com a disponibilidade de tecnologia para a criação de redes maiores. Geralmente, uma rede peer-to-peer é constituída por computadores ou outros tipos de unidades de processamento que não possuem um papel fixo de cliente ou servidor, pelo contrário, costumam ser considerados de igual nível e assumem o papel de cliente ou de servidor dependendo da transação sendo iniciada ou recebida de um outro par da mesma rede.