Buscar

Questionario 3

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

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

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ê viu 3, do total de 9 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

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

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ê viu 6, do total de 9 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

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

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ê viu 9, do total de 9 páginas

Prévia do material em texto

Enunciado
1) A condição de corrida é derivada de:
Resposta
a) Aplicações concorrentes que não garantem exclusão mútua às regiões críticas
b) Aplicações baseadas em threads ou processos concomitantes
c)  Sistemas operacionais sem suporte a múltiplas threads ou processos
d) Aplicações em sistemas monotarefa que tentam executar ao mesmo tempo
2) Diversos conceitos são fundamentais para que se implemente concorrência entre processos. Região Crítica é um desses conceitos, que pode ser melhor definido como: 
Resposta
a) Um trecho de programa onde existe algum recurso cujo acesso é dado por uma prioridade 
b) Um trecho de programa onde existe o compartilhamento de algum recurso que não permite o acesso concomitante por mais de um programa 
c) Um trecho de programa cujas instruções podem ser executadas em paralelo e em qualquer ordem 
d) Um trecho de programa que deve ser executado em paralelo com a Região Crítica de outro programa 
3) Em relação ao conceito de processos, marque a assertiva CORRETA: 
Resposta
a)  Apenas sistemas operacionais monotarefa suportam mais de uma instância de um programa em execução
b) Quando há duas instâncias de um mesmo programa em execução, pode-se dizer que há um único processo responsável pelas duas instâncias
c) Quando há duas instâncias de um mesmo programa em execução, pode-se dizer que há dois processos iguais
d) Sistemas multitarefa não suportam mais de uma instância do mesmo programa em execução
e) Quando há duas instâncias de um mesmo programa em execução, pode-se dizer que há dois processos diferentes (um para cada instância).
4) Nos sistemas operacionais multitarefa é necessário controlar a concorrência de acesso aos recursos e dispositivos, evitando assim a perda de dados. Analise as sentenças abaixo que tratam desse assunto e, em seguida, assinale a alternativa correta:
Monitor é a implementação automática da exclusão mútua entre procedimentos realizada pelo compilador da linguagem de programação 
Região Crítica é a parte do código do programa onde é feito acesso ao recurso compartilhado e exclusão mútua consiste na exclusividade de acesso a um recurso compartilhado 
Semáforo é uma variável real e negativa, não manipulada pelo programador 
Resposta
a)  Somente a sentença I está correta
b)  Somente a sentença III está correta
c)  Somente a sentença II está correta
d) Somente as sentenças I e II estão corretas
e) Somente a sentença II e III estão corretas
5) Nos sistemas operacionais multitarefa é necessário controlar a concorrência de acesso aos recursos e dispositivos, evitando assim a perda de dados. Analise as sentenças abaixo que tratam desse assunto e, em seguida, assinale a alternativa correta: 
Os mecanismos que garantem a comunicação entre processos concorrentes e o acesso a recursos compartilhados são chamados mecanismos de sincronização
Semáforo e monitor são soluções de software para implementação de exclusão mútua entre a região crítica de processos concorrentes, garantindo assim um acesso seguro  
O monitor, conhecido também como "mutual exclusion", realiza uma operação de busy wait sobre uma váriavel booleana, que é manipulada pelos métodos lock e unlock.
Resposta
a) Somente as sentenças I e II estão corretas
b) Somente as sentenças II e III estão corretas 
c) Somente a sentença I está correta 
d) Somente a sentença III está correta 
e) Somente a sentença II está correta 
6) A solução para o problema da seção crítica precisa satisfazer a certas condições (que chamamos de propriedades). A respeito dessas condições assinale a alternativa incorreta.
Resposta
a) A Exclusão Mútua entende-se que se um determinado processo estiver executando em sua seção crítica, nenhum outro processo poderá executar em suas seções críticas correspondentes.
b) Nenhum processo pode ser impedido de executar sua seção crítica no momento em a execução desse trecho de código é necessária e indispensável.
c) Por Espera Limitada entende-se que existe um limite no número de vezes que outros processo podem ingressar em suas seções críticas antes de um determinado processo executar sua.
d) As soluções não devem fazer considerações sobre o número de processadores e nem de suas velocidades.
7) Qual opção abaixo NÃO contém uma das soluções já adotadas para tentar resolver problemas de sincronização de processos?
Resposta
a) Algoritmo de Peterson
b) Semáforos
c) Monitores
d) Vetores assíncronos
e) Spin-lock
8) Se o resultado da execução de processamento de um conjunto de processos puder ser afetado pela ordem de execução de instruções de cada processo, estabelece-se uma situação denominada:
Resposta
a) Starvation
b) Condição de corrida
c) Deadlock
d) Seção crítica
e) Situação de concorrência
f) Situação complicada
9) A respeito da seção crítica marque a alternativa correta.
Resposta
a) A seção crítica corresponde a um ou mais recursos que podem ser acessado simultaneamente por dois ou mais processos.
b) É uma situação onde um processo A agurada a liberação de um recurso que está em uso por um processo B e o processo B aguarda a liberação de um recurso que está em uso pelo processo A.
c) É um trecho de código fonte que devido a uso de recursos compartilhados pode levar a uma condição de corrida.
d) É um trecho de código fonte onde as instruções devem ser executadas em modo supervisor por serem de natureza privilegiada.
e) Todas as outras alternativas estão incorretas.
10) Qual das alternativas a seguir contém apenas formas de comunicação entre processos dentro do contexto da programação concorrente:
Resposta
a) Troca de mensagens e semáforos
b) Memória compartilhada e seção crítica
c) Semafóros e seção crítica
d) Memória compartilhada e troca de mensagens
e) Memória compartilhada e monitores
f) Monitores
11) Diversos processos podem entrar em um estado no qual todos estão esperando por um evento que nunca acontecerá, por depender de outro processo que está no mesmo estado. Esta situação é conhecida como?
Resposta
a) Starvation
b) Condição de corrida
c) Spin-lock
d) Espera circular
e) Deadlock
12) Diversos processos podem entrar em um estado tal no qual os processos continuam executando, mas nenhum deles apresenta progresso na execução. Como este estado é denominado?
Resposta
a) Starvation
b) Condição de corrida
c) Comboio
d) Espera circular
e) Deadlock
13) Um programador que trabalha com o paradigma de programação concorrente, utiliza a técnica de semáforo para efetuar a sincronização dos processos. Em uma das linhas de código do seu programa é encontrado a seguinte instrução “P(V)”. O que esta instrução faz?
Resposta
a) Incrementa o valor do semáforo V.
b) Incrementa o valor do semáforo P.
c) Testa o valor do semáforo V.
d) Grava o valor ‘V’ (verdadeiro) no semáforo P
e) Testa o valor do semáforo P, caso não seja falso, atribui ‘V’ (verdadeiro).
14) Considere as seguintes afirmativas sobre as técnicas de sincronização de processos:
Operações de busy-waiting realizam instruções vazias e devem ser evitadas por conta do desperdício computacional;
Uma das vantagens da utilização dos semafóros é que os processos que são impedidos de adentrar a sua seção crítica são suspensos e não ficam competindo pelo uso da CPU;
A notação synchronized disponível na linguagem Java é um mecanismo que implementa monitores em um determinado trecho de código.
Assinale a alternativa que contém apenas as afirmativas corretas.
 
 
Resposta
a) I
b) II
c) I e II
d) II e III
e) I, II e III
15) O deadlok é um problema ocasionado quando condições de corrida estão presentes em trechos do código-fonte de um programa concorrete. O deadlock ocasiona o travamento do programa e por isso deve ser evitado. Para se evitar o deadlock, deve:
Resposta
a) Aplicar o algoritmo do avestruz.
b) Não permiter que processos mantenham recursos compartilhados alocados exclusivamente quando entram em estado de bloqueio.
c) Aplicar o algoritmo do banqueiro para vários recursos.
d) Definir que cadarecurso compartilhado possa atender apenas um processo por vez.
e) Realizar tratamento sobre o escalonador de processos do sistema operacional para que não selecione processos concorrentes ao mesmo tempo.
16) Sobre a técnica de sincronização de processos conhecida como SEMÁFOROS, marque a alternativa INCORRETA:
Resposta
a) É uma estrutura de dados abstrata formada por uma variável inteira, uma fila de processos e dois métodos (P e V);
b) Quando um processo executa a operac?a?o P sobre um sema?foro, o seu valor inteiro e? decrementado, e, caso o novo valor do sema?foro seja negativo, o processo e? bloqueado e inserido no fim da fila desse sema?foro;
c) Quando um processo executa a operac?a?o V sobre um sema?foro, o seu valor inteiro e? incrementado, e, caso exista algum processo bloqueado na fila desse sema?foro, o primeiro processo da fila e? liberado.
d) Para que sema?foros funcionem corretamente, e? essencial que as operac?o?es P e V sejam ato?micas, ou seja, uma operac?a?o P ou V na?o pode ser interrompida no meio e outra operac?a?o sobre o mesmo sema?foro iniciada.
e) Um semáforo é inicializado com o valor 0, e, antes de acessar a seção crítica, deve-se executar um V(S), ou seja, a operac?a?o V sobre o sema?foro S, e, ao sair da sec?a?o cri?tica, o processo executa P(S).
17) Uma das técnicas de sincronização de processos é através do uso da técnica de monitores. A respeito desta técnica avalie as afirmações a seguir e assinale a alternativa correta.
A operação wait bloqueia o processo quando o mesmo realiza uma chamada de sistema para um recurso compartilhado que no momento já está sendo usado por outro processo;
A operação signal faz com que um processo bloqueado pela operação wait volte para o estado de apto;
Em Java os monitores são implementados através do uso da palavra reservada synchronized, já as operações wait e signal são implementadas respectivamente pelas palavras reservadas wait e notify.
Resposta
a) Somente a afirmativa I é verdadeira
b) Somente a afirmativa II é verdadeira
c) Somente as afirmativas I e III são verdadeiras
d) Somente as afirmativas II e III são verdadeiras
e) As afirmativas I, II e III são verdadeiras
18) Avalie os trechos de código-fonte abaixo:
 
dado buffer[ N ];
int var1 = 0;
int var2= 0; 
 //trecho de declaração das estruturas de sincronização
  SIN X;
  SIN A;
  SIN B;
void WWWW ( void ) {
     //trecho de código-fonte irrelevante omitido
     ...
     P( A ); 
     P( X ); 
     buffer[ var1 ] = FunctionC( ); 
     var1 = ( var1 + 1 ) % N; 
     V( X );
     V( B );
     //trecho de código-fonte irrelevante omitido 
     ...
} 
void YYYY ( void ) {
   //trecho de código-fonte irrelevante omitido
    ...
    P( B );
    P( X );
    d =  buffer[ var2 ];
    var2  = ( var2  + 1 ) % N;
    V( X );
    V( A );
    //trecho de código-fonte irrelevante omitido
     ...
}
 
A respeito do código, assinale a alternativa que contém somente afirmativas corretas.
Resposta
a) 
As funções WWWW e YYYY implementam o problema do produtor/consumidor respectivamente;
As linhas 17, 18, 34 e 35 são seções críticas;
As estruturas usadas para sincronização das seções críticas são semáforos;
b) 
As funções YYYY e WWWW implementam o problema do produtor/consumidor respectivamente;
As linhas 17, 18, 34 e 35 são seções críticas;
As estruturas usadas para sincronização das seções críticas são do tipo mutex;
c) 
As funções WWWW e YYYY implementam o problema do produtor/consumidor respectivamente;
As linhas 17 e 34 são seções críticas;
As estruturas usadas para sincronização das seções críticas são do tipo monitores;
d) 
As funções YYYY e WWWW não implementam o problema do produtor/consumidor;
As linhas 17 e 34 são seções críticas;
As estruturas usadas para sincronização das seções críticas são do tipo semáforos;
e) 
As funções WWWW e YYYY implementam o problema do produtor/consumidor respectivamente;
As linhas 17 e 34 são seções críticas;
As estruturas usadas para sincronização das seções críticas são semáforos e/ou monitores;
19) Sobre a comunicação entre processos através de troca de mensagens, assinale a alternativa INCORRETA.
Resposta
a) A chamada de sistema Send para enviar dados a um processo e ela possui pelo menos dois para?metros: o dado a ser enviado e o destinata?rio da mensagem.
b) A chamada de sistema Receive possui pelo menos um para?metro: o enderec?o da varia?vel do processo onde devera? ser colocada a mensagem lida. 
c) Para enviar dados, um processo necessita executar a chamada SEND, informando o endereço de memória (PID) do outro processo e aguardar a leitura por parte do outro processo.
d) Uma forma de fazer envios de mensagem de um processo para outro no Windows é através da chamada remota de procedimento (RPC, remote procedure call).
e) Em alguns sistemas operacionais que permitem a criação de grupos de processos, permite que um processo envie um um mesmo dado a diferentes processos de uma só vez.
20) Leia o trecho de texto a seguir e marque a alternativa que contém os termos que completam corretamente as lacunas.
 Um conjunto de N processos esta? em ______________ quando cada um dos N processos esta? bloqueado a? espera de um evento que somente pode ser causado por um dos N processos do conjunto. Essa situação pode ser evitada através do uso de recursos que não necessitam de __________________.
Resposta
a) deadlock;
postergação indefinida.
b) deadlock
espera circular.
c) postergação indefinida.
deadlock.
d) exclusividade mútua.
espera circular.
e) deadlock;
exclusividade mútua.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes