Prévia do material em texto
Exercícios da Aula 05 Aluno (s): Professor: Jair Alarcón Disciplina: Sistemas Operacionais Abertos e Mobile Questão 1. FAURGS - 2018 - UFCSPA - RS - Analista de TI - Sistema de Informação Quando dois ou mais fluxos de execução (processos ou threads) realizam acesso concorrente a uma mesma informação, com pelo menos um desses acessos sendo em escrita, deve-se evitar que aconteça uma _______. Para isso, na programação da aplicação, é possível empregar semáforos binários ou variáveis especiais do tipo trava (lock) para controlar esses acessos concorrentes. Assinale a alternativa que completa corretamente a lacuna do texto acima. (A) condição de corrida (B) exclusão mútua (C) inversão de prioridades (D) seção crítica (E) Transação Questão 2. FAURGS - 2018 - TJ-RS - Administrador de Banco de Dados 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: (A) quando os processos rodam em máquinas cujas diferenças de velocidades de processamento forem maiores do que cos(45°) (aproximadamente 70%). (B) apenas quando 3 (três) ou mais processos estão envolvidos no acesso a variáveis compartilhadas. (C) sempre que são utilizados semáforos para proteger as seções críticas dos processos. (D) quando os processos manipulam variáveis compartilhadas de forma concorrente. (E) apenas, quando os processos estão em deadlock, causado pelo mecanismo de proteção das seções críticas. Questão 3. CAIP-IMES - 2012 - São Caetano do Sul - SP - Analista de TI Durante a execução de um sistema operacional, em parte do tempo um processo está ocupado realizando um processamento que não resultará em condição de corrida, por não estar manipulando dados ou arquivos compartilhados. No entanto, em outros momentos, o processo pode estar acessando uma parte da memória ou arquivo compartilhado com outros processos. Esta parte do programa, cujo processamento pode levar à ocorrência de condições de corrida, é denominada: (A) região de réplica. (B) região de controle. (C) região crítica. (D) região escalável. Questão 4. CETRO - 2013 - ANVISA - Analista Administrativo - Área 5 Com base nos processos em sistemas operacionais e as condições válidas para a ocorrência de condições de corrida (race conditions), analise as assertivas abaixo. I. Os processos devem ocupar simultaneamente a região crítica. II. Nenhum processo sendo executado fora da região crítica pode bloquear outros processos. III. As soluções devem levar em conta o número de processadores (CPU) e suas velocidades de processamento. É correto o que se afirma em: (A) I, apenas. (B) II, apenas. (C) III, apenas. (D) I e II, apenas. (E) I, II e III. Questão 5. FUNDEP - 2013 - IPSEMG - Analista - Tecnologia da Informação Região crítica é um conceito fundamental em sistemas operacionais. Sobre o controle de acesso à uma região crítica, é CORRETO afirmar que: (A) existe um mecanismo de controle de acesso à região crítica. (B) um processo entra imediatamente na região crítica quando nela chega. (C) um processo fora da região crítica pode bloquear um processo dentro da região crítica. (D) pode haver mais de um processo executando dentro da região crítica. Questão 6. UFLA - 2010 - UFLA - Técnico de Tecnologia da Informação Marque a alternativa que define Região Crítica em Sistemas Operacionais. (A) Um trecho de programa cujas instruções podem ser executadas em paralelo e em qualquer ordem. (B) Um trecho de programa no qual existe o compartilhamento de algum recurso que não permite que vários programas façam acesso de forma concomitante. (C) Um trecho de programa que deve ser executado em paralelo com a Região Crítica de outro programa. (D) Um trecho de programa no qual existe algum recurso cujo acesso é dado por uma prioridade. Questão 7. CESGRANRIO - 2006 - DECEA - Técnico - Análise de Sistemas No âmbito de sistemas operacionais, uma seção ou região crítica é a: (A) área da memória que contém dados compartilhados. (B) área do programa que é executada 80% do tempo. (C) área do sistema operacional que contém o código do loader. (D) parte do programa que acessa dados compartilhados. (E) parte da memória usada para operações criptográficas. Questão 8. 2013 - FUNDEPES - SEPLAG-MG Assinale a alternativa que apresenta uma região crítica na comunicação entre processos. (A) Um espaço onde dois processos estão trocando informações entre eles. (B) Um local na memória RAM para colocar informações próprias de cada processo. (C) Um local na memória virtual para armazenar dados de processos ativos. (D) Um local na memória virtual para armazenar dados de processos bloqueados. Questão 9. COPESE - UFT - 2012 - DPE-TO - Analista em Gestão Especializado - TI "É a situação em que um processo nunca consegue executar a sua região crítica e, consequentemente, acessar o recurso compartilhado.". Marque a alternativa CORRETA que define o conceito apresentado: (A) Condição de corrida (B) Sincronização condicional (C) Postergação indefinida (D) Exclusão mútua Questão 10. FGV - 2016 - IBGE - Analista - Análise de Sistemas - Suporte Operacional Jonas, Analista de Suporte Operacional do IBGE, realizou uma análise minuciosa dos processos e threads do servidor que ele mantém. Durante a análise, Jonas identificou que três processos estavam na lista de espera por um recurso compartilhado. Além disso, Jonas também identificou uma situação inusitada: um desses processos nunca conseguia executar sua região crítica e, por conta disso, nunca acessava o recurso compartilhado. A situação inusitada encontrada por Jonas é a de: (A) lock; (B) starvation; (C) sincronização condicional; (D) threads; (E) stack. Questão 11. Responda com base na figura abaixo. O conceito que garante que dois processos não entrem em uma região crítica ao mesmo tempo como pode ser visto na figura acima é denominado: (A) Threads (B) Processos (C) Exclusão Mútua (D) Condição de Corrida (E) Escalonamento Questão 12. O que são regiões críticas? – Seção do programa onde são efetuados acessos (para leitura e escrita) a recursos partilhados por dois ou mais processos – É necessário assegurar que dois ou mais processos não se encontrem simultaneamente na região crítica Questão 13. Defina condições de corrida. Como evitar a ocorrência delas? Definição de condições de corrida: situações onde dois os mais processos estão lendo ou escrevendo algum dado compartilhado e o resultado depende de quem processa no momento propício. Exemplo: a = b + c; x = a + y; Depurar programas que contém condições de corrida não é fácil, pois não é possível prever quando o processo será suspenso. Questão 14. Uma variável global está compartilhada entre as threads? E uma variável global está compartilhada entre processos? Justifique. Os threads compartilham dados e código, enquanto os processos não. A pilha não é compartilhada para ambos. Os processos também podem compartilhar memória, mais precisamente codificar, por exemplo, após a Fork() , mas este é um detalhe de implementação e otimização (do sistema operacional). Questão 15. Descreva o que é, para que serve, e como funciona um semáforo e um mutex. Mutex = É um mecanismo de bloqueio de propriedade, apenas o thread que adquirir o bloqueio pode liberar o bloqueio. Semáforo binário = É mais um mecanismo de sinalização, qualquer outra thread de maior prioridade pode sinalizar e pegar o bloqueio. Mutex é para proteger o recurso compartilhado.