Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS OPERACIONAIS 1a Questão (Ref.: 10738) Pontos: 1,0 / 1,0 Suponha um posto de abastecimento que venda apenas gasolina. Este posto tem 5 (cinco) caixas para que os clientes façam o pagamento. Cada caixa executa uma instância de um programa que atualiza o estoque (em litros) de gasolina. O arquivo que contém o estoque fica em um servidor, sendo compartilhado entre os cinco caixas. Sempre que um cliente faz o pagamento, o sistema do caixa faz, basicamente, três operações: 1. Lê o arquivo de estoque para saber a quantidade de litros que há em estoque. 2. Subtrai do estoque a quantidade de litros comprada pelo cliente. 3. Grava o arquivo de estoque com a quantidade de litros calculada no passo "2". Considerando a situação exposta, descreva que problemas podem decorrer do compartilhamento do recurso "arquivo de estoque" pelos cinco processos executados de forma concorrente. Gabarito: O arquivo de estoque pode ser gravado de forma inconsistente. Se um caixa já tiver executado o passo 1 ou 2 e ainda não tiver executado o passo 3 (ou seja, a gravação do arquivo) e outro caixa executar o passo 1, esse segundo caixa irá fazer uma leitura do arquivo de estoque desatualizado, desconsiderando a operação realizada pelo primeiro caixa. Dessa forma, quando o segundo caixa fizer a gravação, a operação realizada pelo primeiro caixa terá sido ignorada. 2a Questão (Ref.: 239682) Pontos: 0,0 / 1,0 Sabemos que o sistema operacional é a mais importante plataforma lógica de um sistema computacional e que, através de suas gerências, controlam todas as operações e funcionalidades. Um dos grandes desafios é estabelecer uma política de escalonamento eficiente que proporcione à CPU um fluxo de processos considerável, minimizado o tempo de resposta e, consequentemente, maximizando a vazão de tarefas. Diante desta consideração responda as perguntas a seguir: a) Como se classificam os tipos de escalonamento? b) Descreva as políticas de escalonamento: Por prioridades e Shortest-Job-First (SJF) Gabarito: a)Preemptivo e Não-preemptivo. b)Por prioridade A cada processo que alcança o estado de pronto é associada uma prioridade de execução. Os processos de maior prioridade são escalonados preferencialmente. Este tipo de preempção é implementado através de um clock, que interrompe o processador em determinados intervalos de tempo, para que a rotina de escalonamento reavalie prioridades e, se necessário, escalone outro processo. O processo interrompido volta para a fila de prontos. Shortest-Job-First (SJF) cada processo é associado ao seu tempo de execução. Dessa forma, quando o processador está livre, o processo em estado de pronto que precisar de menos tempo de UCP para terminar seu processamento é selecionado para execução (shortest-job-first). 3a Questão (Ref.: 16887) Pontos: 0,0 / 1,0 Qual instrução não precisa ser executada em modo privilegiado? Iniciar um processo Desativar interrupções por tempo Limpar memória Obter a hora corrente Ativar interrupções por tempo 4a Questão (Ref.: 607223) Pontos: 1,0 / 1,0 Processos do tipo _________, permitem a comunicação direta do usuário com o processo durante o seu processamento. Marque a opção que melhor completa a frase acima. Processos Background Processos CPU bound Processos Foreground Processos em Lote Processos I/O bound 5a Questão (Ref.: 230691) Pontos: 0,0 / 1,0 Uma alternativa para o aumento de desempenho de sistemas computacionais é o uso de processadores com múltiplos núcleos, chamados multicores. Nesses sistemas, cada núcleo, normalmente, tem as funcionalidades completas de um processador, já sendo comuns, atualmente, configurações com 2, 4 ou mais núcleos. Com relação ao uso de processadores multicores, e sabendo que threads são estruturas de execução associadas a um processo, que compartilham suas áreas de código e dados, mas mantêm contextos independentes, analise as seguintes asserções: Ao dividirem suas atividades em múltiplas threads que podem ser executadas paralelamente, aplicações podem se beneficiar mais efetivamente dos diversos núcleos dos processadores multicores. PORQUE O sistema operacional nos processadores multicores pode alocar os núcleos existentes para executar simultaneamente diversas sequências de código, sobrepondo suas execuções e, normalmente, reduzindo o tempo de resposta das aplicações às quais estão associadas. Acerca dessas asserções, assinale a opção correta. As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da primeira. Tanto a primeira quanto a segunda asserções são proposições falsas. A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira. As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira. A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa. 6a Questão (Ref.: 572860) Pontos: 1,0 / 1,0 Em programação concorrente, quando um processo nunca é executado ("morre de fome"), pois processos de prioridade maior sempre o impedem de ser executado, diante desta situação podemos concluir que ocorreu: Exclusão mútua Bloqueio Starvation Espera ocupada Deadlock 7a Questão (Ref.: 266842) Pontos: 0,0 / 0,5 São técnicas utilizadas na sincronização entre processos? I. Starvation II. Instruções TSL III. Semáforos IV. Monitores Todas as afirmativas são verdadeiras. Somente as afirmativas II, III e IV são verdadeiras. Somente as afirmativas II e III são verdadeiras. Somente as afirmativas I e II são verdadeiras. Somente as afirmativas I, II, III são verdadeiras. 8a Questão (Ref.: 32003) Pontos: 0,0 / 0,5 Em quais situações um processo é escalonado para executar em um sistema monoprocessado? I. Quando o processo em execução finaliza. II. Quando o processo em execução não é bloqueado. III. Quando termina a fatia de tempo do processo em execução. Apenas I e III estão corretas. Apenas II e III estão corretas. Apenas I e II estão corretas. Apenas a III está correta. Apenas a II está correta. 9a Questão (Ref.: 587139) Pontos: 0,0 / 0,5 Várias foram as técnicas propostas para otimizar a alocação de memória. Entretanto, independentemente da técnica utilizada, pode acontecer de não haver memória principal disponível para todos os processos. Para solucionar este problema foi proposta uma técnica que é implementada em praticamente todos os sistemas operacionais atuais . Esta técnica consistem em selecionar um processo residente da memória que é transferido da memória principal para a memória secundária. Desta forma, libera-se memória principal para execução de novos processos. Para que o processo que está em memória secundária retorne à memória principal, o procedimento inicial é repetido, sendo outro processo transferido para a memória secundária. Estamos nos referindo a que técnica? Dinamic memory acess (DMA) Trashing Swapping Memória virtual Page faults 10a Questão (Ref.: 231427) Pontos: 0,0 / 0,5 As operações de E/S devem ser o mais simples e transparente possível, sendo independentes do dispositivo. Correlacione os conceitos com seus significados: Escalonamento de E/S - Denominação - Buferização - Cache de dados I - Armazena em memória os dados mais recentes (cópia) II - Associação de um nome a um periférico III - área de memória que compatibiliza a comunicação entre dispositivos com velocidades e unidades de transferência diferentes. IV - Ordem de atendimento as requisições Assinale a alternativa que apresenta a correlação CORRETAentre os conceitos e significados acima: I - II - III - IV II - IV - I - III III - II - IV - I II - III - I - IV IV - II - III - I
Compartilhar