·

Cursos Gerais ·

Sistemas Operacionais

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

R E S P O S T A S\n\n1º SISTEMA DISTRIBUÍDO PODE SER DEFINIDO COMO UM CONJUNTO DE NÓS COMPUTACIONAIS INTERLIGADOS EM REDE, COORDENANDO E SE COMUNICANDO ATRAVÉS DE TROCA DE MENSAGENS. SE APRESENTANDO ASSIM USUÁRIO COMO UM SISTEMA ÚNICO E COERENTE, TENDO COMO PRINCIPAL OBJETIVO O COMPARTILHAMENTO DE RECURSOS.\n\n2º EXEMPLOS DE RECURSOS DE HARDWARE:\n• SERVIDOR: ARMAZENAMENTO DE DADOS;\n• SERVIDOR VPS;\n• IMPRESSORA EM REDE;\n• MAINFRAMES;\n• CLUSTERS.\n\nEXEMPLOS DE RECURSOS DE SOFTWARE:\n• BANCO DE DADOS COMPARTILHADO (HEROKU);\n• API DE CONSULTA DE DADOS;\n• EDITOR DE DOCUMENTOS ONLINE (GOOGLE DOCS);\n• SERVIDOR DNS;\n• SERVIÇO STREAMING.\n\n3º AS CARACTERÍSTICAS FUNDAMENTAIS DE UM SISTEMA DISTRIBUÍDO SÃO ELAS:\n• CONCORRÊNCIA: A EXECUÇÃO CONCORRENTE DE PROGRAMA É A NORMA, ONDE HÁ UMA CONCORRÊNCIA PELOS RECURSOS OU ARRANJOS QUANDO NECESSÁRIO. A COORDENAÇÃO DE PROGRAMAS EM EXECUÇÃO CONCORRENTE E ACOMPANHAMENTO RECURSOS TAMBÉM É UM ASSUNTO IMPORTANTE E RECONHECIDO. • INEXISTÊNCIA DE RELÓGIO GLOBAL: QUANDO OS PROGRAMAS PRECISAM COORDENAR, ELES COORDENAM SUAS AÇÕES TRAZENDO MENSAGENS. A COORDENAÇÃO REALIZAM-FREQUENTEMENTE DEPENDE DE UM NÓ COMPARTILHADO DO TEMPO EM QUE AS AÇÕES DOS PROGRAMAS OCORREN. COM ISSO NÃO EXISTE UMA NOÇÃO GLOBAL ÚNICA DO TEMPO CORRETO.\n\n• FALHAS INDEPENDENTES: TODOS OS SISTEMAS DE COMPUTADOR PODEM FALHAR. FALHAS NA REDE RESULTAM NO ISOLAMENTO DOS COMPUTADORES QUE ESTÃO CONECTADOS A ELA, MAS ISSO NÃO SIGNIFICA QUE ELES PARAM DE FUNCIONAR, OS PROGRAMAS NELLES EXISTENTES TALVEZ NÃO CONSIGAM DETECTAR SE A REDE FALHOU OU SE FICOU DEMAIS LENTA. CADA COMPONENTE DO SISTEMA PODE FALHAR INDEPENDENTEMENTE, DEMANDANDO OS OUTROS ANDAM EM FUNCIONAMENTO. A computação ubíqua, também denominada pervasive, é a utilização de vários dispositivos computacionais pequenos e baratos que estão presentes nos ambientes físicos dos usuários, incluindo suas casas, escritórios e até na rua. Logo o termo ubíque dá a noção de que o acesso a serviços de computação está omnipresente, isto é, disponível em qualquer lugar. Isto é, seu comportamento emocional será transparente e intimamente vinculado a sua função física. Alguns exemplos que podem ser citados são: smartphones, conexão de internet com outras redes automaticamente no celular, relógios inteligentes e etc. SERVIÇO pode ser dito como alguma aplicação rodando em uma máquina que está provendo alguma funcionalidade que poderá ser utilizada por algo ou alguém, como por exemplo, servindo em nuvem, um serviço de banco de dados, serviço de email e etc. Em sistemas distribuídos pode-se compartilhar serviços, esses serviços funcionam como recursos, serviço de uma aplicação (software), serviço de armazenamento em um servidor FTP (hardware). Dentre outros recursos compartilhados, com isso cada servidor provindo por um dispositivo, pode ser um recurso compartilhado em sistemas distribuídos. Basicamente os recursos são fisicamente encapsulados dentro dos computadores e só podem ser acessados a partir de outros computadores por intermedio de mecanismos de comunicação. A estratégia deve ser quando os pedidos são enviados em mensagens dos clientes para um servidor, e as respostas são enviadas do servidor para os clientes. Quando o cliente envia um pedido ao servidor para uma operação, dizemos que o cliente requisita uma operação no servidor. Quando se há uma interação completa entre cliente e servidor, isso é chamado de requisição remota. Contudo os clientes são ativos (fazendo pedidos) e os servidores são passivos (sendo ativos somente ao receberem pedidos). As técnicas para o tratamento de falhas são elas:\n• Detecção de falhas: algumas falhas podem ser detectadas, por exemplo, soma de verificação podem ser usadas para detectar dados corrompidos em uma mensagem ou em um arquivo.\n• Mascaramento de falhas: algumas falhas detectadas podem ser ocultadas ou se tornar menos sérias. Dois exemplos de ocultação de falhas:\n1- Mensagens podem ser retransmitidas sabendo não chegam;\n2- Dados de arquivos podem ser gravados em dois discos, para que, se um estiver danificado o outro ainda possa estar correto.\n• Tolerância a falhas: a maioria dos serviços na internet apresenta falhas - não seria prático para eles tentar detectar e mascarar tudo que possa ocorrer em uma rede grande assim, com tantos componentes. Seus elementos podem ser projetados de forma a tolerar falhas o que geralmente envolve a tolerância também por parte dos usuários. • Recuperação de falhas: a recuperação envolve projetar software de modo a que o estado dos dados permanentemente possa ser recuperado em \"retornando\" após a falha de um servidor.\n• Redundância: os serviços podem se tornar tolerantes a falhas com o uso de componentes redundantes:\n1- Sempre deve haver pelo menos duas rotas diferentes entre dois roteadores qualquer na internet.\n2- No DNS, toda tabela de correios contém e replica em pelo menos dois servidores diferentes.\n3- Um banco de dados pode ser replicado em vários servidores, para garantir que falha de qualquer servidor. A transparência é definida como a ocultação, para um usuário final ou para um programador de aplicativos, da separação dos componentes em um sistema distribuído de modo que o sistema seja percebido como um todo, em vez de como uma coleção de componentes independentes.\nOs principais tipos de transparência são:\n• Transparência de acesso: permite que recursos locais e remotos sejam acessados com o uso de operações idênticas.\n• Transparência de localização: permite que os recursos sejam acessados sem conhecimento de sua localização física ou em rede.\nExistem outros tipos de transparência, porém os principais são esses listados acima.\nOs aspectos da heterogeneidade se aplicam em:\n• Redes: embora a internet seja composta de muitos tipos de redes, suas diferenças são mascaradas pelo fato de que todos os comutadores ligados a elas utilizam protocolos internet, para se comunicarem.\n• Hardware de computador: os tipos de dados, como os internos, podem ser representados de diversas maneiras, em diferentes tipos de hardware, como por exemplo, existem algumas formas alternativas para a ordem em que os bytes de valores internos são armazenados:... necessariamente, a mesma interface de programação de aplicativos para esses protocolos. por exemplo, as chamadas para troca de mensagens no UNIX são diferentes da chamadas no WINDOWS.\n\n• LINGUAGENS DE PROGRAMAÇÃO: diferentes linguagens de programação usam diferentes representações para caracteres e estruturas de dados, como vetores e registros. essas diferentes devem ser consideradas, caso programás devem se comunicar.\n\n• DESENVOLVEDORES DIFERENTES: os programas escritos por diferentes desenvolvedores não podem se comunicar a menos que utilizem padrões comuns. como exemplo, para registrar a comunicação via rede e usar uma mesma representação de tipos de dados primitivos e estruturas de dados mas mensagens.\n\n\n\n\n14º\nMIDDLEWARE é uma camada de software que fornece uma abstração de programação, assim como o maisramento da heterogeneidade das redes, do hardware e dos sistemas operacionais e das linguagens de programação subjacentes. sua importância em um sistema distribuído é que resolve os problemas de heterogeneidade, fornecendo um modelo uniforme para ser usado pelos programadores de servidores e de aplicativos distribuídos. em geral o MIDDLEWARE funciona como um tradutor entre a aplicação e o hardware.