Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 01 1 a Questão (Ref.: 201201226739) Fórum de Dúvidas (0) Saiba (0) O que é multiprogramação? Processamento centralizado. Processamento distribuído. Técnica que permite que vários processos estejam em memória ao mesmo tempo. Técnica que permite a troca de informações entre a memória principal e a memória secundária. Processamento paralelo. 2 a Questão (Ref.: 201201441712) Fórum de Dúvidas (0) Saiba (0) Em relação às estruturas dos sistemas operacionais modernos, podemos afirmar que: I - O conceito de microkernel é de reduzir o kernel a comunicações de processos básicos e controle de I/O, e deixar os outros serviços de sistemas situados no user-space (espaço do usuário) em forma de processos normais (chamados de servers). II - O kernel monolítico executa cada serviço básico do sistema como gerenciamento de memória, manipulação de interrupções e comunicação I/O, sistemas de arquivos, no espaço do kernel. III - Na estrutura do microkernel tanto o núcleo como como os demais serviços são executados em modo kernel. IV - No kernel monolítico o sistema operacional é escrito como uma coleção de rotinas, ligadas a um único grande programa binário executável. Assinale a alternativa que contém a(s) afirmação(ões) correta(s): Somente I, II e III Somente I, II e IV Somente I, III e IV Somente I e III Somente II, III e IV 3 a Questão (Ref.: 201201228344) Fórum de Dúvidas (0) Saiba (0) Qual instrução não precisa ser executada em modo privilegiado? Desativar interrupções por tempo Limpar memória Obter a hora corrente Ativar interrupções por tempo Iniciar um processo 4 a Questão (Ref.: 201201226745) Fórum de Dúvidas (0) Saiba (0) Quais das instruções só podem ser executadas pelo kernel de um sistema operacional: I ¿ Desabilitar todas as interrupções II ¿ Ler o horário do relógio III ¿ Alterar o horário do relógio IV ¿ Alterar o mapa de memória III e IV I, II e IV I, II e III I, III e IV II 5 a Questão (Ref.: 201201222281) Fórum de Dúvidas (0) Saiba (0) Marque a alternativa INCORRETA em relação ao conceito de sistemas operacionais: Atua como uma interface entre o usuário e o computador. Um sistema operacional é responsável por gerenciar os recursos computacionais. Um sistema operacional deve facilitar acesso aos recursos do sistema, assim como compartilhá-los de forma organizada e protegida. São componentes básicos de um sistema operacional: interface com o usuário; gerência do processador; gerência de memória; gerência de dispositivos; sistema de arquivos. É impossível fazer uso de um computador que não tenha um sistema operacional instalado. 6 a Questão (Ref.: 201201226730) Fórum de Dúvidas (0) Saiba (0) A CITAÇÃO " Principalmente usado em controle de processos, telecomunicações, etc. O SO monitora várias entradas que afetam a execução de processos, mudando os modelos de computadores do ambiente, e assim afetando as saídas, dentro de um período de tempo garantido (normalmente < 1 segundo)". REFERE-SE A: MULPROCESSADOR MULTITAREFA TIME SHERING INTERATIVO TEMPO REAL Aula 02 1. Suponha que um usuário acionou um programa que, ao ser carregado, solicitou a digitação de uma senha. Quando o programa foi acionado, o processo passou pelos estados "pronto" e "executando". Em seguida o programa ficou no estado "espera", pois dependia de uma operação de E/S (leitura do teclado) para prosseguir. Quando o usuário informar a senha o processo passará do estado "espera" diretamente para o estado "execução"? R: Não. O processo passa para o estado "pronto" e aguarda até que o sistema operacional o selecione para execução. 2. Os sistemas operacionais criam estruturas de controle, chamadas processo, para controlar a execução dos programas, sejam do usuário ou do próprio sistema. Essa estrutura registra informações sobre a situação do processo durante todo seu processamento, sendo uma dessas informações o estado do processo. Avalie as sentenças a seguir e assinale a correto: R: O escalonador organiza a fila de processos em estado de PRONTO. Para escalonadores preemptivos existe a possibilidade de determinar uma fatia de tempo (time slice) para que o processo se mantenha em estado de EXECUÇÃO, após esse tempo o processo retorna para a fila de PRONTO. 3. À instância de um programa em execução chamamos processo. Cada processo no sistema pode estar em algum de seus estados em certo momento. Um processo no estado executando passa para o estado pronto, quando: R: ocorre quando o processo é interrompido e novo processo será selecionado 4. Suponha que um usuário esteja utilizando um editor de texto em um terminal Windows. Em um dado momento ele nota que o computador ficou lento. O usuário confirma que aparentemente não há nenhum programa sendo executado além do Windows e do Word. Ao conferir no gerenciador de tarefas, ele observa que existe um novo processo chamado "backup". Entretanto, não há nenhuma interface para lidar com esse processo. Neste caso, podemos dizer que o processo "backup" é um processo do tipo: R: Background. 5. Suponha que um usuário acionou um programa que, ao ser carregado, solicitou a digitação de uma senha. Quando o programa foi acionado, o processo passou pelos estados "pronto" e "executando". Em seguida o programa ficou no estado "espera", pois dependia de uma operação de E/S (leitura do teclado) para prosseguir. Quando o usuário informar a senha o processo passará do estado "espera" diretamente para o estado "executando"? R: Não. O processo passa para o estado "pronto" e aguarda até que o sistema operacional o selecione para execução. 6. Para melhor análise do desempenho dos processos com os diferentes tipos de escalonamento existentes, os processos são classificados em dois tipos: CPU- bound e I/O-bound. Com esse conceito definido podemos afirmar que: R: Os processos CPU-bound levam vantagem em escalonamentos feitos com o mecanismo de preempção por tempo, enquanto os processos I/O-bound se beneficiam através de mecanismos de prioridade dinâmica. Aula 03 1. Threads são fluxos de execução distintos dentro de um mesmo processo. Assinale a afirmativa que NÃO está de acordo com o conceito de threads. R: Fornecem a interface entre os processos e o sistema operacional sendo um mecanismo de proteção ao núcleo. 2. Um thread é Fluxo de execução e parte integrante de um processo e o multithreading é a associação de vários fluxos de execução a um único processo. Julgue as sentenças em verdadeiras (V) ou falsas (F). 1. Thread é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente. 2. Cada thread tem o mesmo contexto de hardware e compartilha o mesmo o espaço de memória (endereçado a um mesmo processo-pai), porém o contexto de software é diferente. 3.Um dos benefícios do uso das threads é que quando um thread espera por um recurso um outro do mesmo grupo pode estar sendo executado. Marque a opção correta. R: 1.V - 2.F - 3.V 3. 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 estruturasde 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. R: As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da primeira. 4. Threads são fluxos de execução distintos dentro de um mesmo processo. É a unidade de execução de um sistema. Qual das afirmativas abaixo não estão de acordo com o conceito de threads ? R: Fornecem a interface entre os processos e o sistema operacional sendo um mecanismo de proteção ao núcleo. 5. Considere uma aplicação baseada em threads em um sistema operacional com suporte a threads de kernel. Se uma das threads desta aplicação for bloqueada para aguardar um acesso ao disco podemos afirmar que as demais threads deste processo: R: Poderão continuar executando se não dependerem da thread que foi bloqueada. 6. Uma das diferenças entre threads em modo usuário e threads em modo kernel é: R: A thread em modo kernel é escalonada diretamente pelo sistema operacional e a de usuário não. Aula 04 1. 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: R: Starvation 2. Considere as seguintes afirmativas relativas à ocorrência de "deadlocks" (ou impasses). I. A estratégia de tratamento de "deadlocks" conhecida como detecção requer que se determine uma condição suficiente a que eles ocorram. Uma vez determinada a condição, o tratamento por detecção consiste em verificar sua validade e, em caso afirmativo, concluir que existe um "deadlock". II. As estratégias conhecidas como prevenção e detecção para o tratamento de "deadlocks" são complementares uma à outra: Enquanto a primeira guia o projeto dos algoritmos de compartilhamento de recursos para que "deadlocks" jamais ocorram, a segunda trata de impedir que ocorram quaisquer condições necessárias à ocorrência de "deadlocks". III. Para que ocorra um "deadlock" é necessário que haja um ciclo de espera envolvendo um determinado conjunto de processos. Uma estratégia comum de prevenção é a criação de algoritmos de compartilhamento de recursos que impeçam a ocorrência desses ciclos. Assinale a alternativa CORRETA: R: Apenas as afirmativas I e III são verdadeiras. 3. Embora ambos tenham seu escalonamento feito pelo gerenciamento de processos, threads e processos são estruturalmente distintos. Qual é a principal diferença entre eles? Escolha a alternativa correta. R: Threads possuem contexto simplificado. 4. Analise o texto a seguir: "Preciso de canetas e apagador para a aula. Peguei as canetas, mas parei para conversar um pouco. Ao tentar pegar o apagador fiquei sabendo que outro professor pegou o apagador para um reunião não programada e aguardava a caneta que não estava mais sobre a mesa para começar a reunião. Fiquei esperando que o apagador fosse devolvido e, como isso não aonteceu, resolvi guardar as canetas para a segunda aula e continuar aguardando o apagador. Fiquei sabendo que o outro professor também não começou a reunião pois ficou aguardando as canetas e também resolveu aguardar." Nesta situação pode-se identificar a ocorrência de: R: Um deadlock em função da exclusão mútua no acesso aos dois recursos 5. Em programação concorrente existe uma condição na qual um processo nunca é executado, pois processos de prioridade maior sempre são executados antes. Assinale a assertiva que descreve o nome desta condição: R: Starvation 6. Starvation é uma situação que ocorre quando: R: Pelo menos um processo é continuamente postergado e não executa. Aula 05 1. O problema do buffer limitado de tamanho N é um problema clássico de sincronização de processos: um grupo de processos utiliza um buffer de tamanho N para armazenar temporariamente itens produzidos; processos produtores produzem os itens, um a um, e os armazenam no buffer; processos consumidores retiram os itens do buffer, um a um, para processamento. O problema do buffer limitado de tamanho N pode ser resolvido com a utilização de semáforos, que são mecanismos de software para controle de concorrência entre processos. Duas operações são definidas para um semáforo s: wait(s) e signal(s). Considere o problema do buffer limitado de tamanho N cujos pseudocódigos dos processos produtor e consumidor estão mostrados na tabela abaixo. Pode-se resolver esse problema com a utilização dos semáforos mutex, cheio e vazio, inicializados, respectivamente, com 1, 0 e N. A partir dessas informações, para que o problema do buffer limitado de tamanho N cujos pseudocódigos foram apresentados possa ser resolvido a partir do uso dos semáforos mutex, cheio e vazio, é necessário que comando_a, comando_b, comando_c, comando_d, comando_e, comando_f, comando_g e comando_h correspondam, respectivamente, às operações? R: wait(vazio), wait(mutex), signal(mutex), signal(cheio), wait(cheio), wait(mutex), signal(mutex) e signal(vazio). 2. Para evitar os problemas causados pelo compartilhamento de recursos entre processos executados de forma concorrente foram propostos mecanismos de exclusão mútua. Os mecanismos de exclusão mútua são classificados entre soluções de hardware e soluções de software. Das alternativas abaixo, marque a unica que apresenta uma solução de HARDWARE para o problema da exclusão mútua. R: Instrução test-and-set. 3. No contexto de processos, como pode ocorrer uma condição de corrida? R: Uma condição de corrida pode ocorrer quando dois ou mais processos estão lendo ou escrevendo algum dado compartilhado e o resultado final depende de qual e quando executa precisamente. 4. Deadlock pode ser definido como uma situação em que um processo aguarda por um recurso que nunca estará disponível ou um evento que nunca ocorrerá. Para que ocorra a situação de deadlock, algumas condições são necessárias simultaneamente. Assinale alternativa que contém todas essas condições: R: Exclusão mútua, espera por recurso e não-preempção. 5. 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 sendo: R: Um trecho de programa onde existe o compartilhamento de algum recurso que não permite o acesso concomitante por mais de um processo 6. No âmbito de sistemas operacionais, uma seção ou região crítica é a: R: parte do programa que acessa dados compartilhados.
Compartilhar