Buscar

GABARITO_QUESTÕES DE SISTEMAS DISTRIBUÍDOS II_2020_1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE SALGADO DE OLIVEIRA 
1 
 
GABARITO DE QUESTÕES DE SISTEMAS DISTRIBUÍDOS II 
 
1) Os semáforos são usados em programação concorrente para evitar que dois ou mais 
processos acessem sua seção crítica simultaneamente. Assim, os semáforos são 
usados para garantir: 
a) a exclusão mútua, onde cada processo deverá sinalizar imediatamente antes e, 
imediatamente após, usar um recurso comum a ambos. 
b) os pipes, que funcionam ligando a saída de um processo com a entrada de outro. 
c) o PID, a identificação única de cada processo. 
d) que não haverá deadlock, ou seja, quando um processo espera indefinidamente 
por um recurso de outro. 
e) que a máquina virtual gerencie os processos do Sistema Operacional e o 
hardware da máquina corretamente. 
 
2) Julgue os próximos itens, acerca de características, funções, algoritmos e 
componentes de sistemas operacionais. 
A exclusão mútua é um modo de assegurar que outros processos sejam impedidos 
de usar uma variável ou um arquivo compartilhado que já estiver em uso por um 
processo. 
( ) Certo ( ) Errado 
 
Exclusão mútua - é uma técnica utilizada em programação paralela para evitar que dois 
processos ou threads tenham acesso simultaneamente a recurso compartilhados (região 
crítica). 
 
3) Em um sistema com multiprogramação, vários processos podem competir por um 
conjunto finito de recursos presentes no sistema, como, por exemplo, o acesso a 
regiões da memória ou dispositivos de entrada e saída (E/S). Quando um processo X 
requisita um acesso a um determinado recurso e esse se encontra ocupado ou sendo 
utilizado por um processo Y de forma exclusiva, o sistema operacional coloca o 
requisitante em estado de espera. 
Se o processo Y, por sua vez, também requisitar um recurso que esteja de posse do 
processo X de forma exclusiva, ambos entrarão em um estado conhecido pelo nome 
de: 
a) exclusão mútua 
b) espera ocupada 
c) preempção 
d) escalonamento 
e) Deadlock 
 
Condições para Deadlock ocorrer: 
Exclusão mútua: cada recurso só pode estar alocado a um único processo em um 
determinado instante; 
Posse e Espera: um processo, além dos recursos já alocado, pode estar esperando por 
outros recursos; 
Não-Preempção: um recurso não pode ser liberado de um processo só porque outros 
processos desejam o mesmo recurso; 
UNIVERSIDADE SALGADO DE OLIVEIRA 
2 
 
Espera circular: um processo pode ter de esperar por um recurso alocado a outro 
processo e vice-versa. 
 
4) Um determinado sistema operacional utiliza uma política de escalonamento do 
processador baseada em múltiplas filas de processos prontos para executar. As filas 
são ordenadas por prioridade, de modo que os processos vão sendo rebaixados de 
prioridade à medida que consomem mais tempo de CPU. 
A política acima poderá impedir, por tempo indefinido, que um processo X ganhe o 
controle do processador, pois é possível que sempre haja outro processo pronto para 
executar cuja prioridade seja maior que a do processo X. 
 
O problema descrito acima é denominado 
a) deadlock 
b) starvation 
c) exclusão mútua 
d) espera circular 
e) não preempção 
 
Starvation/Inanição - ocorre quando os programas são executados indefinidamente e 
não realizam nenhum progresso em seu processamento. Processos não são escolhidos 
pelo escalonamento do SO. 
Deadlock/Impasse - ocorre quando um processo espera por um evento que nunca 
ocorrerá. Processos formam um ciclo fechado, numa espera circular que impede os 
mesmos de executar/concluir suas tarefas. 
 
Exclusão mútua, Espera circular e Não preempção são três das quatro condições 
para ocorrência de Deadlock. A elas inclui-se Posse-e-espera. 
 
5) Quando um processo aguarda por um recurso que nunca estará disponível ou mesmo 
um evento que não ocorrerá, acontece uma situação denominada deadlock (ou como 
alguns autores denominam: impasse ou adiamento indefinido). Para que um 
deadlock ocorra, quatro condições são necessárias. Uma delas tem a seguinte 
definição: “cada processo só pode estar alocado a um único processo em um 
determinado instante”. Assinale a alternativa que apresenta tal condição. 
a) Espera circular. 
b) Exclusão mútua. 
c) Não-preempção. 
d) Espera por recurso. 
 
Para que ocorra a situação de deadlock, quatro condições são necessárias 
simultaneamente: 
1-Exclusão mútua: Cada recurso só pode estar alocado a um único processo, em um 
determinado instante; 
2-Espera por recurso: Um processo, além dos recursos já alocados, pode estar 
esperando por outros recursos; 
3-Não-Preempção: Um recurso não pode ser liberado de um processo só por que outros 
processos desejam o mesmo recurso; 
4-Espera circular: Um processo pode ter de esperar por um recurso alocado ao outro 
processo e vice-versa. 
 
UNIVERSIDADE SALGADO DE OLIVEIRA 
3 
 
6) Com relação à computação distribuída, julgue os próximos itens. 
 
No processo de desenho de uma aplicação distribuída, três questões adicionais 
devem ser consideradas: formas de decomposição do problema, estabelecimento de 
comunicação entre os processos e coordenação na execução de tarefas. 
( ) Certo ( ) Errado 
 
Aplicação distribuída é qualquer aplicação projetada para executar em mais de um 
computador. O exemplo mais próximo é a Web, que é distribuída entre um cliente e um 
servidor. Ou seja, você tem o lado cliente que é o navegador Web e o lado servidor que 
oferece as páginas, imagens, vídeos, etc. O cliente só funciona se há pelo menos um 
servidor, e a razão do servidor existir são os clientes. 
 
7) Acerca de arquitetura cliente-servidor multicamadas, julgue os itens seguintes. 
As chamadas de procedimento remoto, sendo um mecanismo de comunicação usado 
nos sistemas distribuídos e nos sistemas sem memória, não podem ser utilizadas 
para a comunicação entre o cliente e o servidor nas arquiteturas cliente/servidor 
multicamadas. 
( ) Certo ( ) Errado 
 
Chamada remota de procedimento (RPC, acrônimo de Remote Procedure Call) é 
uma tecnologia de comunicação entre processos que permite a um programa de 
computador chamar umprocedimento em outro espaço de endereçamento (geralmente 
em outro computador, conectado por uma rede). O programador não se preocupa com 
detalhes de implementação dessa interação remota: do ponto de vista do código, a 
chamada se assemelha a chamadas de procedimentos locais. 
RPC é uma tecnologia popular para a implementação do modelo cliente-
servidor de computação distribuída. Uma chamada de procedimento remoto é iniciada 
pelo cliente enviando uma mensagem para um servidor remoto para executar um 
procedimento específico. Uma resposta é retornada ao cliente. Uma diferença 
importante entre chamadas de procedimento remotas e chamadas de procedimento 
locais é que, no primeiro caso, a chamada pode falhar por problemas da rede. Nesse 
caso, não há nem mesmo garantia de que o procedimento foi invocado. 
 
8) Em relação aos sistemas distribuídos, analise a assertiva a seguir: “é composto por 
um conjunto de processos ou objetos, em um grupo de computadores, que interagem 
entre si de forma a implementar a comunicação e oferecer suporte para 
compartilhamento de recursos a aplicativos distribuídos”. Trata-se de: 
a) Thread. 
b) Callback. 
c) Plataforma. 
d) Middleware. 
e) Sincronização. 
 
Middleware pode ser definido como uma interface uniforme, padronizada e acessível 
que resolve heterogeneidade e gerencia complexidade de serviços com recursos de 
comunicações, segurança, persistência e transaçãoes distribuídas 
 
https://pt.wikipedia.org/wiki/Comunica%C3%A7%C3%A3o_entre_processos
https://pt.wikipedia.org/wiki/Programa_de_computador
https://pt.wikipedia.org/wiki/Programa_de_computador
https://pt.wikipedia.org/wiki/Subrotina
https://pt.wikipedia.org/wiki/Espa%C3%A7o_de_endere%C3%A7amento
https://pt.wikipedia.org/wiki/Rede_de_computadores
https://pt.wikipedia.org/wiki/Cliente-servidor
https://pt.wikipedia.org/wiki/Cliente-servidorhttps://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_distribu%C3%ADda
UNIVERSIDADE SALGADO DE OLIVEIRA 
4 
 
9) Considere as afirmações abaixo sobre sistemas distribuídos. 
 
I - Uma das tarefas de um escalonador distribuído é realizar o balanceamento de carga, 
que pode ser feito através da migração de processos entre os nós do sistema 
computacional distribuído. 
II - Um sistema operacional distribuído é composto por uma rede de computadores 
independentes que, para o usuário do sistema, se comporta como se fosse um único 
computador. 
III- Os nós que compõem um sistema distribuído podem executar sistemas operacionais 
diferentes. 
 
Quais estão corretas? 
a) Apenas I. 
b) Apenas III. 
c) Apenas I e II. 
d) Apenas II e III. 
e) I, II e III. 
 
10) Suponha que dois processos detectem a morte do coordenador, simultaneamente, e 
ambos decidam convocar uma eleição que utilize o algoritmo do valentão. O que 
acontecerá? 
 
Quando processo P nota que coordenador não está mais respondendo as requisições, 
inicia eleição. O processo P convoca uma eleição: 
 P envia msg de eleição para todos os processos com IDs maiores; 
 Se ninguém responde, P vence eleição e torna-se coordenador; 
 Se algum processo com ID maior responde, ele desiste; 
 Quando processo recebe msg de eleição de membros com ID mais baixa; 
 Envia OK para o remetente para indicar que está vivo e assume processo 
(Algoritmo do Valentão (Bully)). Eventualmente todos os processos desistem 
menos um: novo coordenador; 
 Se processo que estava indisponível volta, inicia eleição; 
 Se for processo com maior ID, vence e toma coordenação. 
 
11) Na abordagem centralizada da exclusão mútua, ao receber uma mensagem de um 
processo que está liberando seu acesso exclusivo aos recursos que estavam usando, 
o coordenador normalmente concede permissão ao primeiro processo na fila. Cite 
outro algoritmo possível para o coordenador. 
 
O Algoritmo de Bully: 
 Um processo P, ao detectar a falha do coordenador, inicia a eleição do 
seguinte modo. 
 P envia uma mensagem de eleição para todos os processos com números 
maiores que o seu. 
 Se ninguém responde, P vence a eleição e se torna coordenador. 
 Se um dos processos responde, ele assume a eleição e P espera. 
 Quando um processo vence a eleição, ele envia uma mensagem coordenador 
para todos os processos. 
UNIVERSIDADE SALGADO DE OLIVEIRA 
5 
 
 Se um processo que não estava funcionando volta a funcionar, ele inicia uma 
eleição e se tiver o maior número, assume a coordenação (daí o nome do 
algoritmo). 
 
12) Como funciona o algoritmo de eleição? 
 
Algoritmo de Eleição: 
 
1. Eleger um processo coordenador: 
 Pode ser o processo com maior endereço de rede, maior ID, etc. 
 Coordenador pode ser estático ou eleito utilizando algum algoritmo distribuído. 
 
2. Quando um processo deseja acessar uma região crítica: 
 Envia uma mensagem ao coordenador solicitando permissão. 
 Se nenhum outro processo estiver executando a região crítica: 
 Coordenador envia permissão ao processo que a solicitou. 
 Se algum processo estiver executando a região crítica: 
 Coordenador não concede a permissão. (Não responde ou envia mensagens 
negando a permissão). 
 A requisição é colocada em uma fila. 
 
3. Quando o processo deixa a região crítica: 
 Envia uma mensagem ao coordenador abrindo mão de seu acesso. 
 Coordenador envia permissão ao primeiro processo da fila. 
 
13) Como funciona o algoritmo do brigão? 
Algoritmo do Brigão (Bully) : 
 
Um processo P, ao detectar a falha do coordenador, inicia a eleição do seguinte 
modo: 
 
 P envia uma mensagem de eleição para todos os processos com números maiores 
que o seu. 
 Se ninguém responde P vence a eleição e se torna coordenador. 
 Se um dos processos responde, ele assume a eleição e P espera. 
 Quando um processo vence a eleição, ele envia uma mensagem coordenador e para 
todos os outros processos. 
 Se um processo que não estava funcionando volta a funcionar, ele inicia uma eleição 
e se tiver o maior número, assume a coordenação (daí o nome do algoritmo). 
 
14) Como funciona o algoritmo distribuído? 
Algoritmo Distribuído: 
1. Quando um processo deseja entrar em uma região crítica: 
 Envia mensagens para todos os processos (inclusive ele próprio) contendo: 
• o nome da região crítica, seu próprio número e o tempo corrente. 
UNIVERSIDADE SALGADO DE OLIVEIRA 
6 
 
2. Quando um processo recebe uma mensagem de requisição: 
 Se o receptor não estiver executando a região crítica e não deseja executar: 
• envia de volta ao transmissor uma mensagem de OK. 
 Se o receptor estiver executando a região crítica: 
• não deve responder. 
• guarda a requisição em uma fila. 
 
 Se o receptor também deseja executar a região crítica, mas ainda não entrou: 
• compara o tempo da mensagem recebida com o tempo da mensagem de 
requisição que ele enviou: 
 Se o tempo da mensagem recebida for menor envia um OK ao 
transmissor. 
 Se o tempo de sua própria mensagem for menor coloca a requisição 
recebida em uma fila e não responde. 
 
3. Após enviar uma requisição para executar uma região crítica: 
 Aguarda até que todos os demais processos lhe deem permissão (recebimento do 
OK). 
 
4. Ao terminar a execução da região crítica: 
 Envia mensagens de OK a todos os processos de sua fila. 
15) Como funciona o algoritmo do anel lógico? 
Algoritmo do Anel Lógico: 
1. Quando o anel é inicializado o processo 0 recebe um bastão (token). 
 Se um processo estiver de posse do token e deseja entrar em uma região crítica: 
 Executa a região crítica (não é permitido que ele entre em uma segunda região 
crítica) 
 Ao terminar a execução da região crítica envia o token ao seu vizinho. 
2. Se um processo estiver de posse do token e não deseja entrar em uma região 
crítica: 
 envia o token ao seu vizinho. 
16) Qual é a proposta de um sistema de segurança relacionados a objetos distribuídos? 
A proposta de um sistema de segurança é restringir o acesso às informações e aos 
recursos, somente aos principais que estão autorizados. 
 
UNIVERSIDADE SALGADO DE OLIVEIRA 
7 
 
17) O que corresponde em SD seguros o controle de acesso, ou autorização? 
Realizar o controle de acesso é a principal missão do sistema de segurança. Esse 
controle é feito com base em informações obtidas de forma criptografada e mediante 
autenticação dos agentes que se comunicam.

Continue navegando