Font size
WorksheetsThreads e Comunicação entre Processos
Total questions: 17
Worksheet time: 3hrs 10mins
Região crítica é um conceito fundamental em sistemas operacionais. Sobre o controle de acesso à uma região crítica, é CORRETO afirmar que:
existe um mecanismo de controle de acesso à região crítica
um processo entra imediatamente na região crítica quando nela chega
um processo fora da região crítica pode bloquear um processo dentro da região crítica
pode haver mais de um processo executando dentro da região crítica
No âmbito de sistemas operacionais, uma seção ou região crítica é a:
área da memória que contém dados compartilhados
área do programa que é executada 80% do tempo
área do sistema operacional que contém o código do loader
parte do programa que acessa dados compartilhados
parte da memória usada para operações criptográficas
A diferença entre espera ocupada (EO) e bloqueio (BL) de um processo é:
nos casos de EO o recurso requisitado pelo processo é liberado mais rapidamente do que nos casos de bloqueio
o processo que se encontra em EO ganha maior prioridade de execução do que os que estão bloqueados
não há diferença funcional entre eles. EO e BL são apenas duas formas de implementar exclusão mútua
EO é utilizado para evitar condições de corrida enquanto que BL é controla o número de processos ativos
na EO o processo gasta tempo de CPU, no BL ele é acordado quando a condição de espera é satisfeita
A expressão – condição de corrida (race condition) – refere-se a situações de processamento que podem levar os processos a fornecer resultados errôneos da computação. Essas condições de corrida ocorrem quando:
os processos rodam em máquinas cujas diferenças de processamento são maiores do que cos(45°)
apenas quando 3 (três) ou mais processos estão envolvidos no acesso a variáveis compartilhadas
sempre que são utilizados semáforos para proteger as seções críticas dos processos
quando os processos manipulam variáveis compartilhadas de forma concorrente
Sistemas operacionais modernos têm uma gerência de processos e de threads bem definida. Nesse contexto, é correto afirmar:
threads de um mesmo processo compartilham a mesma seção de código na memória
threads de um mesmo processo compartilham a mesma seção da pilha na memória
todas as variáveis de uma thread são compartilhadas com as outras threads do mesmo processo
todos os contextos de uma thread são compartilhados com as outras threads do mesmo processo
Com relação ao assunto a seguir, assinale a opção correta: Uma antiga empresa de desenvolvimento de software resolveu atualizar toda sua infraestrutura computacional adquirindo um sistema operacional multitarefa, processadores multi-core (múltiplos núcleos) e o uso de uma linguagem de programação com suporte a threads.
O sistema operacional multitarefa de um computador é capaz de executar vários processos (programas) em paralelo. Considerando esses processos implementados com mais de um thread (multi-threads), analise as afirmações abaixo.
I. Os ciclos de vida de processos e threads são idênticos.
II. Threads de diferentes processos compartilham memória.
III. Somente processadores multi-core são capazes de executar programas multi-threads.
IV. Em sistemas operacionais multitarefa, threads podem migrar de um processo para outro.
É CORRETO apenas o que se afirma em:
I
II
I e III
I e IV
II e IV
Um processo tem um ou mais fluxos de execução, normalmente denominados apenas por threads. Os ciclos de vida de processos e threads são idênticos.
A partir das Figuras 2.11(a) e 2.11(b) apresentadas, avalie as afirmações a seguir:
I. Tanto na Figura 2.11(a) quando na Figura 2.11(b), existem três threads que utilizam o mesmo espaço de endereçamento.
II. Tanto na Figura 2.11(a) quanto na Figura 2.11(b), existem três threads que utilizam três espaços de endereçamento distintos.
III. Na Figura 2.11(b), existe um processo com um único espaço de endereçamento e três threads de controle.
IV. Na Figura 2.11(a), existem três processos tradicionais, cada qual tem seu espaço de endereçamento e uma única thread de controle.
V. As threads permitem que várias execuções ocorram no mesmo ambiente de processo de forma independente umas das outras.
I, II e III
I, II e IV
I, III e V
II, IV e V
III, IV e V
Em relação aos conceitos de processo e thread, é correto afirmar que:
um processo em execução não pode executar uma chamada de sistema
processo é usado para agrupar recursos, thread é a entidade escalonada para execução em uma CPU
processos de segundo plano sempre estão associados a usuários e possuem interação humana
em ambientes multiprogramados, precisa-se que várias threads estejam sendo executados em diferentes processadores
quando há vários threads em execução é necessária a separação do espaço de endereçamento
O conceito de semáforo foi proposto por Dijkstra e mostra, de forma simples, como implementar alguns mecanismos entre processos. A respeito desse assunto, assinale a opção correta.
Os semáforos binários (mutexes) podem assumir qualquer valor inteiro positivo
A instrução down executada com valor 0 faz o processo entrar no estado de espera
Um semáforo pode assumir valores negativos
Semáforo é uma variável inteira e não negativa que pode manipular mais de duas instruções simultaneamente
Como utilizam conexão lógica OR, os semáforos são incapazes de implementar exclusão mútua devido à mudança requerida nesse tipo de controle
De acordo com Tanenbaum, em 1965, Dijkstra propôs o conceito da variável semáforo como sendo uma forma de implementar mecanismos de concorrência entre processos.
A respeito desse assunto, é correto afirmar que:
o semáforo de Dijkstra apresenta o inconveniente da espera ocupada
ao entrar na região crítica, o semáforo binário chama a instrução binary_enter
o semáforo mutex (mutual exclusion) pode assumir qualquer valor inteiro positivo
a instrução mutex_lock, executada sobre valor 0, faz o thread entrar no estado de espera
a rotina broadcast garante que apenas um único processo possa escrever na região crítica
Na comunicação entre processos, enquanto um processo estiver acessando determinado recurso, todos os outros deverão esperar. Tal conceito dá-se o nome de
exclusão de concorrência
fila de compartilhamento
espera de compartilhamento
exclusão mútua
espera mútua
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
Deadlock é um problema potencial em qualquer sistema operacional. Sejam dois processos PA e PB, e dois recursos RX e RY.
Assinale a alternativa que reflete a ocorrência de um deadlock.
PA possui acesso exclusivo a RX e RY, enquanto PB aguarda por acesso exclusivo a RX.
PA possui acesso exclusivo a RX, enquanto PB solicita acesso exclusivo a RY.
PA possui acesso exclusivo a RX e aguarda por acesso exclusivo a RY, enquanto PB possui acesso exclusivo a RY e aguarda por acesso exclusivo a RX.
PA possui acesso exclusivo a RX, enquanto PB possui acesso exclusivo a RY. PA libera RX e então PB requisita acesso exclusivo a RX.
PA possui acesso exclusivo a RX, enquanto PB possui acesso exclusivo a RY. PA então libera RX ao mesmo tempo que PB libera RY.
Uma das causas de deadlocks em sistemas operacionais é a disputa por recursos do sistema que podem ser usados apenas por um processo de cada vez.
Errado
Certo
Um dos problemas relacionados ao gerenciamento de um sistema operacional diz respeito ao deadlock, o qual também pode ocorrer em banco de dados. Uma vez que gerenciar o deadlock pode ser uma tarefa que exija muito tempo do processador, a maior parte dos sistemas operacionais não trata desse problema. Em alguns sistemas críticos, entretanto, tratar os deadlocks é uma tarefa importante.
Qual entre as formas de tratamento a seguir se baseia em retirar o recurso do processo?
Através de preempção.
Revertendo o estado do processo.
Matando o processo.
Verificando a trajetória do processo.
Os sistemas operacionais modernos possuem diversos mecanismos para detecção e tratamento de situações de deadlock. Assinale a alternativa que NÃO apresenta um destes mecanismos.
O sistema irá escolher criteriosamente um processo e o terminará. Se a situação de deadlock não for resolvida, outros processos serão eliminados até que tudo esteja resolvido.
Os recursos são retirados dos processos e entregue aos outros até que o deadlock seja eliminado.
Os processos podem ser capazes de detectar um deadlock e voltar ao estado de execução anterior antes de pedir um recurso.
Um processo que detém um recurso fica esperando pela liberação de outro recurso, eliminando assim o deadlock.
Quantos processos, no mínimo, podem estar envolvidos em um deadlock de um sistema operacional?
1
2
3
4
5
