option
My Daypo

8º - Programação Concorrente

COMMENTS STADISTICS RECORDS
TAKE THE TEST
Title of test:
8º - Programação Concorrente

Description:
8º - Programação Concorrente

Author:

(Other tests from this author)

Creation Date:
07/12/2015

Category:
Mathematics

Number of questions: 10
Share the Test:
Facebook
Twitter
Whatsapp
Share the Test:
Facebook
Twitter
Whatsapp
Last comments
No comments about this test.
Content:
Considere as afirmações abaixo sobre threads de usuários e threads de núcleo. I - Implementações baseadas exclusivamente em threads de usuário possuem desvantagem de que chamadas bloqueantes de um thread de usuário impossibilitam a continuidade da execução do restante do processo até que que seja sinalizado o desbloqueio. II - Chaveamento de Threads de usuários é mais rápida por ser assistido pelo núcleo. III - Threads de núcleo são geralmente mais lentas para criar e gerenciar do que threads de usuário. IV - Chamadas bloqueantes threads de núcleo ocorrem no nível do processo e não da thread Apenas as afirmações I e II estão erradas Apenas as afirmações I e IV estão erradas Apenas as afirmações II e IV estão erradas Todas as alternativas estão erraas Todas as afirmações estão corretas.
Considere as afirmativas abaixo sobre diferenças entre processos tradicionais e threads (processos leves): I - Processos tradicionais são tipicamente independentes enquanto que threads são feitas para cooperar entre si II - Processos tradicionais possuem espaço de endereçamento contiguo enquanto que threads são alocadas de maneira intercalada na memoria. III - As trocas de contexto entre threads são mais rápidas do que entre processos tradicionais IV - Threads interagem através de mecanismo de comunicação específicos (IPC), enquanto que processos tradicionais fazem referencias diretas uns aos outros. Todas as afirmações estão corretas Apenas a afirmação I está correta Apenas as afirmações IV está errada Apenas as afirmações I, II e IV estão corretas Apenas as afirmações II e IV estão erradas.
Termo seção critica (ou região critica) em programação concorrente refere-se a Trechos sequencias de códigos em processos, que manipulam algum recurso compartilhado cuja escrita, principalmente, requer execução controlada Segmentos de um processo que armazenam variáveis globais do programa Trechos de código de um programa que inicializa threads para execução paralela ou pseudoparalela Trechos de código de um programa que escrevem dados no disco Trecho de um programa que sempre ocorrem falhas de sincronização.
A respeito do conceito de condição de corrida assinale a alternativa incorreta: Dois ou mais processos encontram em condição de corrida sempre que concorrem pela utilização do processados Condição de corrida refere-se a disputa entre processos paralelos ou pseudoparalela no acesso a recursos compartilhados de manipulação critica. condição de corrida implica a necessidade de sincronização da execução de processos paralelos A falta de sincronização adequada entre processos em condição de corrida sujeita a resultado da execução exclusivamente à dinamica de escolanamento Condições de corrida ocorre tanto entre processos pesados quanto entre threads (processos leves).
Exclusão mutua é.. ... Uma técnica de programação concorrente que consiste em garantir que apenas um processo utilize o processador por vez enquanto os demais aguardam na fila de pronto Uma técnica de programação concorrente que consiste em especializar thread em funções especificas dentro de um programa Uma técnica de sincronização para assegurar que processos concorrentes manipulam recursos compartilhados sem gerar conflitos, que consiste em garantir que apenas um processo o faça por vez. Um problema de sincronização que ocorre quando threads pseudoparalelas excluem conteúdos compartilhados de maneira indevida ou inepesrada Uma falha de sincronização no qual processos concorrentes atingem um impasse onde cada processo aguarda ação do outro para continuar.
No trecho de código a seguir, a técnica empregana na primeira linha é conhecida como? While (utilizandoSeçãoCritica==True); UtilizandoSeçãoCritica = True; Faça alguma coisa Utiliznadoseçãocritica = false; Seção critica Loop Infirnito intertravamento sincronização de barreira Espera ociosa.
Sincronização do tipo barreira é.. Uma técnica de sincronização que consiste em impedir que threads prossigam ao tentar executar suas regições criticas sem que antes comuniquem uns aos outros sobre a intenção de fazê-lo Uma técnica de sincronização que consiste em aguardar o término da execução de threads concorrentes antes de prosseguir com alguma execução sequencia. Um recurso do sistema operacional que possibilita que threads e processos sejam acionados simultaneamente. Um recurso de programação concorrente que impede que threads ou processos sofram interrupção durante a execução Um instrumento de controle da execução de processo para garantir que não .. pilha iante de sucessivas chamadas recursivas em contexto .
Sobre sincronização de intertravamento, assinale a alternativa incorreta Força que um thread sempre espere a execução de outro para poder executar novamente Consiste na alternância restrita de execução entre threads Obriga que threads que tentem executar suas regiões criticas mais frequentemente do que outros tenham que aguardar que o(s) thread(s) concorrente(s)s também o faça(m) ao menos uma vez antes de poder executar Trava processos no estado de em execução quanto entram em suas seções criticas impossibilitando que sofram preempção Implica que threads concorrentes tenham suas velocidades de execução determinadas pela velocidade do thread mais lento em condição de corrida. .
A falta de sincronização entre processos cooperativos pode resultar em graves problemas. Entretanto, muitas tentativas de sincronizar processos, quando mal implementadas, podem não ser eficazes na sincronização ou ocasionar outros problemas tão graves quanto se não houvesse sincronização. Assinale abaixo a alternativa que não se refere a um possível problema tipico de implementação da sincronização de processos: Ineficiencia, decorre do uso improdutivo de recursos computacionais tal como quando utilizada espera ociosa. Starvation (abondono), por adiamento indefinido de alguns processos em favorecimento de outros dependendo das condições de privilégio de execução programados Limitação da veloc. de exec. de processos condicionados à execução de outros mais lentos. Mau funcionamento do escalonador de processos do SO descompassando a exeução Deadlock, conforme os critério das primitivas de entrada em região critica e momento de preempção, possibilitando eventualmente que os processos concorrentes atijam um impasse ao esperarem respostas uns dos outros antes de continuar a execução .
Analise o trecho de código abaixo, referente à terceira versão do processo de elaboração de algoritmo de exclusão mútua de dekker para 2 threads, e assinale a alternativa que representa o problema que ele possui e que motivou a elaboração de versões subsequentes do algoritmo até que fosse obtida a célebre solução posteriormente creditada por Dijkstra, em 1968 Trecho de código comum - Declara variáveis globais, instancia e inicia a execução dos threads */ boolean t1WantsToEnter = false; boolean t2WantsToEnter = false; startThreads(); ________________________________________________________________________________________ Thread 1 Void main() { while (Done) { t1WantsToEnter = true; while (t2WantsToEnter); // código da seção critica t1WantsToEnter = false; } } ________________________________________________________________________________________ Thread 2 Void main() { while (Done) { t2WantsToEnter = true; while (t1WantsToEnter); // código da seção critica t2WantsToEnter = false; } } Adiamento indefinido Violação da exclusão mútua DeadLock Sincronização intertravada Ordem de execução forçada.
Report abuse Terms of use
HOME
CREATE TEST
COMMENTS
STADISTICS
RECORDS
Author's Tests