Baixe o app para aproveitar ainda mais
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.
Compartilhar