1. O primeiro recurso de hardware que pode ser compartilhado é uma impressora.
O segundo recurso é a memória secundária do dispositivo, a qual pode ser utilizada por outro para salvar arquivos. Por fim, o processamento também pode ser utilizado, onde é possível realizar uma chamada remota para outra máquina, a fim de utilizar sua capacidade de processamento. No âmbito do software, é possível compartilhar uma aplicação de e-mail, a qual pode ser interna à empresa. O mesmo pode ocorrer com um drive compartilhado pelos usuários. Por fim, é possível compartilhar a utilização de um editor de texto, permitindo edição simultânea por parte dos trabalhadores. 2. É criar uma camada de software que abstrai a heterogeneidade do sistema, suportando diversos protocolos e linguagens, e realizando a integração entre as diferentes linguagens e o SO através de APIs, assim auxiliando no desenvolvimento das aplicações, as quais enxergam um sistema homogêneo. 3. Os sistemas centralizados podem partilhar uma memória comum, enquanto que os sistemas distribuídos devem realizar sincronização através da troca de mensagens para seu funcionamento. Outra diferença é que nos sistemas distribuídos há a concorrência por recursos por diferentes agentes, onde no sistema centralizado apenas SO controla a concorrência. Um exemplo de sistema distribuído seriam os serviços de streaming, onde a latência é um fator determinante para a qualidade do serviço. Já nos sistemas centralizados, um sistema empresarial pode ser alocado somente no servidor. 4. As falhas são parciais pois uma máquina ou canal pode falhar, porém o sistema continua ativo. A complexidade para encontrar as falhas reside na continuidade do funcionamento do sistema, onde se pode levar um tempo para perceber que determinada máquina falhou, o que também ocorre visto que a mesma fica isolada das demais, sem responder as mensagens enviadas. 5. A segurança dos sistemas distribuídos se apoia em confidencialidade, integridade e disponibilidade. A confidencialidade diz respeito ao acesso ao serviço somente para aqueles a quem está destinado, tendo como exemplo um usuário acessando seus arquivos na nuvem. A integridade se refere a integridade dos arquivos ou serviços, onde deve se assegurar que os mesmos não foram alterados por terceiros, como exemplo tem se a alteração de informações do perfil de um usuário por outros. Por fim, a disponibilidade se refere à disponibilidade do serviço, evitando sobrecarga por ataques de negação de serviços e afins. 6. a. Os três componentes padrão da internet são o HTML, linguagem de marcação utilizada para definir e organizar o conteúdo de páginas web, o HTTP, protocolo para realização de requisições a partir do cliente para o servidor e a URL, a qual é o endereço de rede de qualquer recurso da internet, como por exemplo uma página web. b. As vantagens do HTML são sua curva de aprendizado baixa, sendo indicada para programadores iniciantes e a possibilidade de integração com linguagens como Javascript para criação de páginas dinâmicas, já as desvantagens são que sendo utilizado sozinho permite somente a criação de páginas estáticas, não permitindo também a utilização de lógica para criação de módulos de páginas. As vantagens do HTTP são seu endereçamento, o qual dá nomes para os IPs, facilitando a identificação na rede, e sua flexibilidade que se dá através do uso de extensões e plugins. Já suas desvantagens são relacionadas a segurança dos dados, uma vez que não há criptografia, os dados podem ser alterados ou capturados por usuários mal intencionados. As vantagens da URL são sua facilidade de associação, ao invés de escrever IPs, os encurtadores de URL possuem problemas de segurança, onde agentes maliciosos podem atacar com malware. c. O HTTP pode ser utilizado como base, visto que foi desenvolvido para que uma máquina cliente realize requisições a servidores com base nas operações definidas no protocolo. d. Sim, uma vez que é possível alterar recursos dentro do software mantendo a URL, onde o cliente não percebe a alteração. 7. A BSS sem um AP é uma rede isolada e independente, a qual não consegue se conectar à outras BSSs para a transmissão de dados, o é possível com o Access Point, tendo em vista que esse dispositivo se conecta à rede por meio de cabos ou roteadores, onde podem ser conectados outros Access Points, e replica o sinal. Para criar uma ESS é preciso conectar duas ou mais BSSs com Access Points, o que pode ser feito através da rede. 8. São aqueles sistemas que podem estar presentes em todos os lugares, onde foram adicionados a componentes que antes não possuíam inteligência, como eletrodomésticos, portas, lixeiras e afins. Uma vez que a computação pervasiva pode estar em qualquer lugar, também possui mobilidade. O uso dos dois pode ser observado no smart watch, o qual é móvel e novas aplicações para o relógio. 9. As transações em sistemas distribuídos são consultas feitas a diferentes bancos de dados, onde comumente são provenientes de uma única transação que se divide para a consulta em diferentes máquinas, sendo uma transação aninhada. Um exemplo são os sites comparadores de preços, os quais consultam bases de diversas lojas em busca dos melhores preços para determinado produto. 10. A primeira vantagem da computação colaborativa é aproveitar a banda proveniente do tempo ocioso das máquinas de doadores, a segunda seria utilizar essa banda para o processamento de algum fim. As desvantagens são a conexão de baixa velocidade, e a incerteza acerca do tempo ocioso das máquinas. No que diz respeito aos grids empresarias, têm como vantagem a proximidade dos clientes, não estando somente na matriz, e a troca de informações realizada a partir de uma rede de alta velocidade, como desvantagem se tem o aumento da complexidade de gerenciamento por parte da empresa, estando suscetível também a ataques maliciosos. Os grids de alto desempenho são clusters de instituições de pesquisas e afins que são conectados pela rede em um grande extensão, promovendo um grande poder computacional, um grid empresarial pode se aliar a um grid de alto desempenho tendo em vista algum objetivo de pesquisa. 11. A computação em nuvem permite que o cliente obtenha acesso à serviços e infraestruturas de hardware sob demanda, não sendo necessário para o mesmo possuir uma máquina com especificidades capazes de executar os programas desejados, onde também é possível armazenar arquivos na nuvem. 12. A vantagem está centrada na diminuição da complexidade, visto que apenas uma cópia do ambiente do jogo está sendo executada no servidor central, onde não se faz necessária a sincronização com os demais servidores, como no caso distribuído. Um problema está na latência do jogo para jogadores mais distantes do servidor central, o que pode ser contornado a partir da instalação de um ou mais servidores na região dos jogadores, promovendo menor latência. 13. A piconet é uma rede que possui uma estação primária, onde as demais estações sincronizam seus clocks ao da primária. Já a scatternet é uma combinação de piconets, onde uma estação pode estar na margem entre duas piconets, pertencendo às duas. Na scatternet é possível que uma estação seja secundária em uma piconet, recebendo o sinal, e replique o sinal para outra piconet onde é primária. 14. Os clusters são estruturas de grande poder computacional formadas por inúmeras máquinas, as quais possuem possivelmente a mesma especificação e SO, conectadas por meio de uma rede local. Citam-se o Frontier e o super computador Fugaku, dos Estados Unidos e Japão, respectivamente. Os clusters comumente são alocados em um data center, com máquina homegêneas, enquanto os grids interligam máquinas pessoais, empresariais ou vários clusters em uma longa distância, utilizando-se de máquinas heterogêneas. 15. A interoperabilidade é a capacidade dos sistemas distribuídos de lidar com diferentes arquiteturas de hardware e software, as quais são desenvolvidas em diversas linguagens de programação, onde é permitido que o serviço seja integrado a outros serviços, permitindo o compartilhamento de recursos e ampliando as funcionalidades e alcance do mesmo. A heterogeneidade se aproveita dessa capacidade, pois permite aos usuários o acesso ao serviço através de diferentes ambientes. Um exemplo seria uma aplicação mobile onde diferentes linguagens são utilizadas, como Javascript no frontend, e SQL no backend, já a heterogeneidade está na utilização desse sistema a partir de SOs como Android e IOS.