Você está na página 1de 4

Anotações prova de sistemas distribuídos

A relocação em sistemas distribuídos é o processo de mover recursos computacionais dentro


de um ambiente distribuído para melhorar o desempenho, a disponibilidade ou a eficiência do
sistema como um todo. Oculta que um recurso pode ser movido para outra localização
enquanto em uso.

Sistemas distribuídos, basicamente, são representados por vários computadores interligados e,


a partir de um computador é possível usar recursos de outros.

Falhas: nesse tipo de transparência, oculta a falha e a recuperação de um recurso.

Paralelismo é sobre a execução paralela de tarefas, ou seja, mais de uma por vez (de forma
simultânea), a depender da quantidade de núcleos (cores) do processador. Quanto mais
núcleos, mais tarefas paralelas podem ser executadas. É uma forma de distribuir
processamento em mais de um núcleo. Possibilita que uma aplicação paralela seja executada
em qualquer processador de qualquer sistema.

Tratamento de falhas no software são mais complexas de se implementar, devem garantir que
no caso de uma falha no SO, a aplicação continue a ser executada normalmente sem que o
usuário perceba. Mais complexas de se implementar, devem garantir que, no caso de uma
falha no SO, por exemplo, a aplicação continue a ser executada normalmente, sem que o
usuário perceba RESPOSTA: Tratamento de falhas de software.

Primeira geração de SO (1940): ENIAC, ENIGMA. MARCADA PELA INEXISTÊNCIA DE


LINGUAGENS DE PROGRAMAÇÃO E MAQUINAS OPERADAS POR FIOS.

Sgunda geração de SO (1950): TRANSISTORES! MEMÓRIA MAGNÉTICA, INÍCIO DOS


MAINFRAMES, PROCESSAMENTO BATCH COM CARTÕES PERFURADOS, ERA DOS MONITORES

Teceira geração de SO (1960 E 1970): MULTIPROCESSAMENTO, MULTIPROGRAMAÇÃO(prevê


que diversos programas sejam executados pelo processado), TIME-SHARING E MEMÓRIA
VIRTUAL. Sistemas distribuídos primitivos FICAM ENTRE 1970 E 1980 ONDE A QUANTIDADE DE
NÓS ERA LIMITADA DE 10 A 100 NA REDE LOCAL E POUCA VELOCIDADE. AMBIENTES
HOMOGÊNEOS E PADRÕES DE QUALIDADE BAIXOS.

Quarta geração de SO (1980 e 1990): CHIPS DE SILÍCIO E CIRCUITOS INTEGRADOS.PROTOCOLOS


DE COMUNICAÇÃO TCP/IP E REDES DE COMPUTADORES Sistemas distribuídos adaptados para a
internet ficam entre 1990 e 1996 no início do Google como buscador.

Sistemas distribuídos contemporâneos: ÉPOCA DE DISPOSITIVOS MÓVEIS, GRID E


COMPUTAÇÃO OBÍQUA/PERVASIVA (meios de computação capazes de obter dados e
informações sobre os ambientes dos quais eles fazem parte e estão inseridos de forma
imperceptível, fazendo com que o utilizador não perceba sua existência.)

Sistemas distribuídos de sistemas: FORMADO POR SUBSISTEMAS QUE REPRESENTAM


SISTEMAS QUE SÃO COMBINADOS PARA EXECUTAR TAREFAS ESPECIAIS. SENSORES E
SIMULAÇÕES SÃO CONCEITOS IMPORTANTES
Comunicação entre processos, invocação remota e comunicação indireta.

Entidades: Sensores (em uma rede de sensores), threads, objetos, componentes, serviços web,
entre outros.

Request-Reply: criada para suportar as funções e trocas de mensagens na intaração entre


cliente e servidor. É considerada confiável justo pela resposta do servidor ser uma confirmação
para o cliente.

As Entidades de Comunicação são os elementos ou dispositivos que estabelecem a


comunicação em um sistema distribuído.

Um CLUSTER está conectado por uma rede local e são configurados para trabalhar juntos como
uma única entidade. Consistem em um conjunto de estações de trabalho ou PCs semelhantes,
conectados por meio de uma rede local de alta velocidade. Além disso, cada nó executa o
mesmo sistema operacional.

UM GRID envolve a criação de uma federação de computadores, na qual cada sistema pode
pertencer a diferentes domínios administrativos, com variações em termos de hardware,
software e tecnologia de rede utilizada. Esses sistemas são conectados em uma infraestrutura
distribuída para formar um ambiente de processamento de alto desempenho. costumam ser
montados como federação de computadores, na qual cada sistema pode cair sob um domínio
administrativo diferente, [...] no que tange a hardware, software e tecnologia de rede
empregada

Memória virtual por segmentação permite que o espaço de endereçamento virtual de um


processo seja dividido em segmentos lógicos. A segmentação permite que os programas sejam
escritos e compilados em módulos independentes, facilitando o desenvolvimento e a
manutenção do software. Além disso, ela ajuda a evitar o desperdício de memória, pois
permite que cada segmento seja alocado apenas na quantidade necessária. O endereçamento
virtual se divide em blocos de tamanhos diferentes chamados de SEGUIMENTOS.

Propriedade de Durabilidade: uma vez comprometida uma transação, as alterações são


permanentes

A primeira geração de sistemas distribuídos surgiu em 1970 até 1980 e foi uma resposta ao
surgimento das redes locais (Local Area Networks - LANs), foram projetados para fornecer uma
infraestrutura que permitisse o compartilhamento de serviços, como impressão, arquivos e
transferências de e-mail e arquivos, por meio dessas redes locais. o número de nós
(computadores) em uma rede local era limitado a um intervalo entre 10 e 100 nós.

Threads em nível de usuário: a criação e destruição de uma thread bem menos onerosa para os
recursos do sistema principalmente o processador, que só precisa ceder acesso a alguns de
seus registradores para armazenamento temporário de dados e operações que serão realizadas
pela CPU), do que para a criação e destruição de processos, já que as threads, diferentemente
dos processos, são controladas em nível das aplicações dos usuários.
Threads implementadas em nível do sistema: uma vantagem de sua utilização é que sua
implementação elimina a desvantagem apontada na implementação em nível de usuário, já
que a criação, destruição, sincronização, pausa, entre outras, de uma thread é realizada no
contexto de chamadas do SO (kernel). Por outro lado, essa mudança de controle da thread
pode ter um custo alto, uma vez que os recursos manipulados passam agora para a própria
thread, acarretando prejuízo no tocante ao desempenho do sistema, que como já foi discutido,
é um problema quando se lida com processos.

• Por se tratar de um sistema distribuído, os recursos em uma grid são acessados de forma
transparente pelos usuários.

• O principal objetivo dos sistemas em grid é atingir alto desempenho, conseguido a partir da
utilização das sobras da capacidade computacional dos vários sistemas computacionais que a
compõe.

• Oferece maior escalabilidade que um cluster.

• Diferentemente dos clusteres que são sistemas homogêneos (são formados por máquinas
iguais), sistemas em grid são sistemas heterogêneos (são formados por máquinas diferentes,
não havendo restrições de hardware, SO, redes, entre outros). Outro aspecto que merece
destaque nos sistemas distribuídos em grid é sua arquitetura, dividida em cinco camadas:
camada-base, camada de conectividade, camada de recursos, camada coletiva e camada de
aplicações,

• Camada-base: camada mais inferior na arquitetura de um sistema em grid é responsável por


fornecer as interfaces de acesso a recursos físicos em um sistema computacional específico.

• Camada de conectividade: é a camada responsável por implementar protocolos que


permitem a comunicação entre os diferentes recursos na rede, garantindo que esta
comunicação aconteça de forma segura e confiável.

• Camada de recursos: responsável por gerenciar os recursos da grid individualmente. Permite


o compartilhamento a partir das funções fornecidas pela camada de conectividade.

• Camada coletiva: esta camada coordena os recursos distribuídos, manipulando o acesso aos
mesmos, fazendo o escalonamento de tarefas, a replicação de dados, entre outros.

• Camada de aplicação: nível mais alto, a camada de aplicação contém as aplicações que são
utilizadas no ambiente distribuído.

Chamada de procedimento remoto (RPC - Remote Procedure Calls): neste middleware um


componente de aplicação pode enviar uma requisição a um outro componente a partir de uma
chamada de procedimento local.

• Invocações de método remoto (RMI - Remote Method Invocations): basicamente o mesmo


que um RPC, contudo funcionando com objetos ao invés de aplicações.
• Middleware orientado a mensagem (MOM - Message-oriented Middleware): aqui as
aplicações enviam mensagens a pontos lógicos de contato, cabendo ao middleware garantir
que as mensagens sejam entregues às aplicações.

Uma estrutura de armazenamento é um arquivo constituído por informações.

Gerenciamento de processos é a função exercida pelo SO para controlar os programas


(softwares aplicativos, por exemplo) que estão sendo executados em algum momento pelo
processador.

Tolerância a falhas “[...] e´ a capacidade de manter o sistema em operação mesmo em casos


de falha em algum componente” (MACHADO; MAIA, 2017, p. 222). A capacidade do SO de ser
tolerante à falhas protege o sistema contra falhas ou erros ocasionados pelo hardware (por
exemplo, uma situação de queda de energia que desligaria o computador forçadamente) ou
pelo próprio usuário (por exemplo, quando o usuário está copiando arquivos de um pen drive
para o computador, e antes que esta ação termine, ele o remove) e mesmo assim continuar
funcionando (TURBAN; RAINER JR.; POTTER, 2003).

• Execução de programas: o SO carrega e executa um programa em memória e depois o


encerra de maneira normal ou não, e nesse caso deve indicar qual erro ocorreu.
• Operações de E/S: uma operação de E/S pode ser realizada a qualquer momento por
um programa em execução requerendo um arquivo específico ou algum dispositivo
específico como CD, DVD ou mesmo a atualização de uma tela. Por essa razão, pela
necessidade de um acesso a estas operações, o SO não pode deixar esse controle em
nível de usuário.
• Manipulação do sistema de arquivos: todo SO possui um sistema de arquivos,
normalmente baseado no conceito de arquivos e diretórios (pastas). A esses são
permitidas operações de criação, recuperação, atualização e exclusão, inclusive com a
utilização de filtros de pesquisa. O SO pode fornecer um gerenciamento de permissões
para esses arquivos e diretórios. Além disso, o SO ainda pode fornecer várias opções de
sistemas de arquivos como: Windows (FAT, FAT16, FAT32, NTFS), Linux (Ext2, Ext3,
ReiserFS, Linux Swap - FAT16, FAT32, NTFS), MacOS (HFS, MFS)

Sobre sistemas distribuídos: I – “Um sistema distribuído é um conjunto de computadores


independentes que se apresenta a seus usuários como um sistema único e coerente”
(TANENBAUM; STEEN, 2007, p. 1) e; II - “Um sistema distribuído e´ aquele no qual os
componentes localizados em computadores interligados em rede se comunicam e coordenam
suas ações apenas passando mensagens” (COULOURIS et al., 2013, p. 1).

O que um SO faz: I – Facilitar aos usuários acessos a recursos remotos e; II - Compartilhamento


de maneira controlada.

Você também pode gostar