Prévia do material em texto
Um sistema operacional multitarefa tem como característica fundamental: A execução simultânea de processos Uso de interface gráfica Ser também multiusuário A execução concorrente de processos Uso simultâneo de mais de uma unidade de disco. Assinale a questão abaixo, indicando as afirmações corretas. Em um sistema multiprogramado, contendo uma única CPU, a alternância da execução dos processos permite que processos distintos executem em tempos sequencialmente próximos. Embora, está execução transmita ao usuário a impressão de que estão sendo processados paralelamente, é possível afirmar que neste caso os processos não podem executar no mesmo instante de tempo, visto que há apenas uma CPU disponível. Sobre a execução de processos em um sistema multiprogramado é possível afirmar: Se o processo possuir várias threads, o sistema operacional poderá atender todas as thread utilizando paralelismo real. O Sistema poderá causar Pseudoparalelismo, apenas se houver mais de uma CPU, ou seja, se o sistemas for fortemente acoplado. Se adicionarmos 3 CPUs, o sistema não poderá ser multiprocessado e multiprogramado. A alternância da execução dos processos em tempos sequencialmente próximos causa paralelismo real. A alternância da execução dos processos em tempos seqüencialmente próximos causa ao usuário a ilusão de que os processos estão executando paralelamente, ou seja, Pseudoparalelismo. Os sistemas operacionais podem ser classificados quanto às atribuições do kernel, dividindo-se em: arquitetura monolítica, arquitetura em camadas e arquitetura microkernel. Marque a alternativa CORRETA: A arquitetura em camadas tem como vantagem o alto desempenho. A arquitetura monolítica é a que tem a implementação mais complexa. Na arquitetura monolítica, caso um serviço pare, o kernel não é comprometido, já que a principal função do núcleo é gerenciar a comunicação (troca de mensagens) entre as aplicações e os serviços. A arquitetura microkernel caracteriza-se por se tratar de um conjunto de módulos que funcionam como se fosse um único programa. A maioria dos sistemas operacionais atuais é desenvolvida usando a arquitetura em camadas, já que há pelo menos a camada "usuário" e a camada "kernel". Os sistemas operacionais podem ser classificados em relação a possibilidade de concorrência entre processos e a possibilidade de uso concorrente por mais de um usuário. Neste contexto podemos afirmar que: Sistemas monotarefa podem ser multiusuário. Todo sistema multitarefa é também multiusuário. Sistemas monousuário são obrigatoriamente monotarefa. Todo sistema multiusuário é também multitarefa. Alguns sistemas multiusuário são também multitarefa Em relação aos tipos de Sistemas Operacionais, marque qual opção N Ã O faz sentido. Sistemas Multiusuários e Multitarefas Sistemas Multitarefas com Múltiplos usuários Sistemas Monotarefas com mais de um usuário Sistemas Monousuário e Multitarefas Sistemas Monousuários e Monotarefas A arquitetura microkernel caracteriza-se por conter um núcleo simples e enxuto que gerencia a troca de mensagens entre os serviços do sistema operacional. Assinale a opção que representa um exemplo de sistema operacional que adota esta arquitetura: Windows 7 Windows XP Linux Windows Vista MINIX 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: INTERATIVO TIME SHARING MULTITAREFA MULPROCESSADOR TEMPO REAL Um Sistema Operacional (SO) realiza o gerenciamento: (I)_________________, que inclui o fornecimento do sistema de arquivos para a representação de arquivos e diretórios e o gerenciamento do espaço em dispositivos com grande capacidade de armazenamento de dados. (II)________________, que são a unidade básica de trabalho do SO. Isso inclui a sua criação, sua exclusão e o fornecimento de mecanismos para a sua comunicação e sincronização. (III)_______________, controlando que partes estão sendo usadas e por quem. Além disso, é responsável pela alocação e liberação dinâmica de seu espaço. As lacunas I, II e III são, correta e respectivamente, preenchidas por: de I/O - de tempos de CPU - de RAM de armazenamento - de processos - de memória de arquivos - de barramentos - de discos em memória secundária - de serviços - em memória principal de discos - de threads - de cache Um sistema operacional pode ser definido como um conjunto de rotinas executado pelo processador. Também é certo dizer que o sistema operacional atua como uma interface entre o usuário e o computador. Marque a alternativa INCORRETA em relação ao conceito de sistemas operacionais: Um sistema operacional deve compartilhar os recursos do sistema de forma organizada e protegida É impossível fazer uso de um computador que não tenha um sistema operacional Um sistema operacional é responsável por gerenciar os recursos computacionais 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 Um sistema operacional deve facilitar acesso aos recursos do sistema (badesc 2010) Um sistema informatizado opera 24 horas por dia, por meio de uma conexão direta ao computador central, realizando todas as solicitações no momento em que as transações ocorrem, com destaque pelo menor tempo de resposta, requisito de suma importância para a sua eficiência e performance. Duas aplicações para emprego desse sistema são exemplificadas pelo controle de passagens de grandes companhias aéreas ou rodoviárias e pela monitoração do lançamento de um foguete. Por suas características, esse sistema opera na modalidade de processamento conhecida como: off-line e real time. on-line e real time. off-line e time sharing. on-line e time sharing. batch e real time. O que é multiprogramação? Processamento centralizado. Processamento paralelo. Processamento distribuído. Técnica que permite a troca de informações entre a memória principal e a memória secundária. Técnica que permite que vários processos estejam em memória ao mesmo tempo. Para que uma aplicação execute instruções privilegiadas deverá efetuar: uma solicitação ao administrador do sistema a execução de um programa específico uma chamada ao sistema o acesso com uma conta privilegiada. uma interrupção Em um sistema multiprogramável, um processo ativo pode estar nos seguintes estados latência, espera ou atividade espera, pronto ou interrupção espera, pronto ou execução interrupção, pronto ou execução latência, pronto ou atividade A maioria dos autores classifica os sistemas operacionais entre os seguintes tipos: sistemas monotarefa ou multitarefa, sistemas monousuário ou multiusuário, sistemas monoprocessados ou multiprocessados. Em relação a essas classificações, marque a alternativa correta: Em sistemas operacionais multitarefa monoprocessados a execução de diferentes programas é simultânea. Todo sistema operacional multiusuário é ao mesmo tempo um sistema multitarefa. Um sistema operacional multiprocessado não énecessariamente um sistema multitarefa. Um sistema operacional multitarefa é necessariamente um sistema multiprocessado. Todo sistema operacional multitarefa é necessariamente um sistema multiusuário. Analise as seguintes instruções: 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. Quais dessas instruções só podem ser executadas pelo kernel de um sistema operacional? III e IV II I, II e IV I, III e IV I, II e III 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 II I, II e III I, II e IV III e IV I, III e IV Em sistemas multiprogramáveis os processos podem assumir diferentes estados. Os três estados mais importantes são: running (execução); ready (pronto); e wait (espera). Mudanças entre esses estados podem ocorrer a qualquer momento. Assinale dentre as assertivas seguir a unica mudança de estado que NÃO pode acontecer: EXECUÇÃO para PRONTO ESPERA para EXECUÇÃO PRONTO para EXECUÇÃO ESPERA para PRONTO EXECUÇÃO para ESPERA 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"? Sim. Mas somente se o computador tiver mais de uma CPU. Não. O processo passa para o estado "pronto" e aguarda até que o sistema operacional o selecione para execução. Sim. Assim que liberar o processador ele será executado. sim, pois independente da quantidade de CPU´s ele será executado. Não. O processo ficará em estado de "espera" e aguarda até que o sistema operacional o selecione para execução. Processos podem ser classificados como CPU-bound ou I/O bound, de acordo com a utilização elevada do processador(UCP) e dos dispositivos de entrada/saída(E/S), respectivamente. Analisando os gráficos abaixo podemos afirmar que : tanto o gráfico 1 quanto o gráfico 2 representam processos de I/O bound. o gráfico 1 representa um processo de I/O bound e o gráfico 2 representra um processo de CPU-bound. tanto o gráfico 1 quanto o gráfico 2 representam processos de CPU-bound. o gráfico 2 representa um processo de I/O bound e o gráfico 1 representra um processo de CPU-bound. ao longo do tempo o gráfico 1 representa um processo de I/O bound, já no gráfico 2 não é possível verificar o tipo de processo que representa. Um processo divide-se, basicamente, em três partes: contexto de hardware, contexto de software e espaço de endereçamento. Assinale a alternativa que representa exemplos de componentes do contexto de hardware: Endereços de memória principal alocados. Owner. Registrador PC e registrador status. PID e UID. Prioridade de execução. Um processo do tipo CPU-bound é aquele que faz poucas operações de entrada e saída. Por outro lado, processos do tipo I/O-bound são aqueles que fazem muita leitura de disco ou requerem muita interação com o usuário. Desta forma, conclui-se que os processos que ficam a maior parte do tempo nos estados "pronto" e "executando" são os processos do tipo: I/O-bound. CPU-bound. Não é possível classificar o processo com as informações fornecidas. CPU-bound e I/O-bound ao mesmo tempo. O processo em questão não é CPU-bound nem I/O-bound. 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: foreground. CPU-bound. I/O-bound. monotarefa. background. O processo de um sistema operacional é definido como sendo "um programa em execução". Um processo pode assumir estados diferentes e consequentemente, ocorre mudanças entre os estados. Com relação a estas mudanças de estado, marque a opção que NÃO é possível acontecer. Bloqueado para pronto Execução para bloqueado pronto para execução Execução para pronto bloqueado para execução Marque a opção que melhor representa a afirmação a seguir. Armazena o conteúdo dos registradores gerais da UCP, além dos registradores de uso específico, como program counter (PC), stack pointer (SP) e registrador de status¿. Contexto de Software Contexto de Hardware Limites Thread Espaço de Endereçamento 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 correta. O estado de EXECUÇÃO representa o processo aguardando ser escalonado, ou seja, o processo depende da escolha por parte do sistema operacional para que possa executar seu código (instruções) A transição entre os três estados (PRONTO, ESPERA E EXECUÇÃO) é possível em ambos os sentidos. O estado de ESPERA representa o processo aguardando o fim da fatia de tempo de umprocesso em EXECUÇÂO O escalonador também pode selecionar processo em ESPERA para execução. 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 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: Underground. Daemon. Background. Foreground. Thread. Um processo, segundo Machado, é formada por três partes, conhecidas como contexto de hardware, contexto de software e espaço de endereçamento.A figura ilustra, de maneira abstrata, os componentes da estrutura de um processo, que juntos, mantêm todas as informações necessárias a execução de um programa. Sobre os componentes é correto afirmar que: o contexto de software armazena o conteúdo dos registradores gerais da UCP, além dos registradores de uso específico, como program counter(PC), stack pointer (SP) e registrador de status(PSW). o contexto de hardware de um processo é composto por três grupos de informações sobre o processo:identificação,quotas e privilégios. o espaço de endereçamento armazena o conteúdo dos registradores gerais da UCP, além dos registradores de uso específico, como program counter(PC), stack pointer (SP) e registrador de status(PSW). o contexto de hardware mantém informações nos registradores do processador, enquanto um processo está em execução, mas não pode salvá-las caso o processo seja interrompido. o contexto de hardware mantém informações nos registradores do processador, enquanto um processo está em execução, podendo salvá-las caso o processo seja interrompido. Qual a diferença básica entre um processo e um programa? Um processo é um programa em disco. Um programa é um processo em execução. Um programa é um conjunto de processos. Um processo é uma unidade básica. Um processo é um programa em execução. Um programa é um arquivo em disco. Um programa é um processo em execução. Um processo é um arquivo em disco. Um processo é um thread. Um programa é um arquivo em disco. 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"? Não. O processo ficará em estado de ¿espera¿ e aguarda até que o sistema operacional o selecione para execução. Sim. Assim que liberar o processador ele será executado. Sim. Mas somente se o computador tiver mais de uma CPU. Não. O processo passa para o estado "pronto" e aguarda até que o sistema operacional o selecione para execução. sim, pois independente da quantidade de CPU´s ele será executado. 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 "execução". 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á para qual estado? PRONTO EXECUÇÃO CRIADO ESPERA TERMINADO Em relação ao conceito de processos, marque a assertiva CORRETA: Quando há duas instâncias de um mesmo programa em execução, pode-se dizer que há um único processo responsável pelas duas instâncias. Quando há duas instâncias de um mesmo programa em execução, pode-se dizer que há dois processos diferentes (um para cada instância). Apenas sistemas operacionais monotarefa suportam mais de uma instância de um programa em execução. Quando há duas instâncias de um mesmo programa em execução, pode-se dizer que há dois processos iguais. Sistemas multitarefa não suportam mais de uma instância do mesmo programa em execução. Sabe-se que cada processo tem seu próprio contexto de software, contexto de hardware e espaço de endereçamento. Threads de um mesmo processo compartilham o mesmo contexto de software e espaço de endereçamento, apesar de terem contexto de hardware próprio. De acordo com as afirmações, marque a alternativa correta. O uso de threads representa ganhos em termos de desempenho, pois durante a interrupção de um thread apenas o espaço de endereçamento precisa ser salvo, já que o contexto de software e de hardware são os mesmos entre os vários threads O uso de threads não influencia no desempenho, pois durante a interrupção de um thread é necessário salvar o contexto de hardware, de software e espaço de endereçamento O uso de threads diminui o desempenho, pois durante a interrupção de um thread é necessário salvar o contexto de hardware, de software e espaço de endereçamento. O uso de threads representa ganhos em termo de desempenho, pois durante a interrupção de um thread apenas o contexto de software precisa ser salvo, já que o contexto de hardware e o espaço de endereçamento são os mesmos entre os vários threads. O uso de threads representa ganhos em termos de desempenho, pois durante a interrupção de um thread apenas o contexto de hardware precisa ser salvo, já que o contexto de software e o espaço de endereçamento são os mesmos entre os vários threads 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. Fornecem a interface entre os processos e o sistema operacional sendo um mecanismo de proteção ao núcleo Compartilhamento de recursos Melhor aproveitamento na fatia de tempo Utilização de múltiplos processadores Economia de tempo de processamento Uma das diferenças entre threads em modo usuário e threads em modo kernel é: A thread em modo usuário não pode utilizar funções do sistema operacional e a thread em modo kernel pode. Uma thread em modo kernel bloqueada bloqueia todo o processo obrigatoriamente e a em modo usuário não bloqueia. A thread em modo kernel depende de uma biblioteca para ser utilizada e a thread em modo usuário não depende. Uma thread em modo kernel não pode executar instruções privilegiadas e a em modo usuário pode. A thread em modo kernel é escalonada diretamente pelo sistema operacional e a de usuário não. O uso de interrupções é fundamental para a existência de: dispositivos de hardware como teclado e disco dispositivos de hardware como monitor e impressora Sistemas multitarefa bibliotecas de software comunicação de dados Uma das diferenças entre threads de usuário e threads de kernel e: A thread de usuário não pode utilizar funções do sistema operacional e a thread de kernel pode. A thread de kernel depende de uma biblioteca para ser utilizada e a de usuário não depende. A thread de kernel é escalonada diretamente pelo sistema operacional e a de usuário não. Uma thread de kernel não pode executar instruções privilegiadas e a de usuário pode. Uma thread de kernel bloqueada bloqueia todo o processo obrigatoriamente e a de usuário não bloqueia. 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 ? Compartilhamento de recursos Fornecem a interface entre os processos e o sistema operacional sendo um mecanismo de proteção ao núcleo Melhor aproveitamento na fatia de tempo Economia de tempo de gerenciamento Utilização de múltiplos processadores Sabe-se que cada processo tem seu próprio contexto de software, contexto de hardware e espaço de endereçamento. Já as threads de um mesmo processo compartilham o mesmo contexto de software e espaço de endereçamento, apesar de terem contexto de hardware próprio. Isto posto, marque a assertiva VERDADEIRA: O uso de threads representa ganhos em termos de desempenho, pois durante a interrupção de um thread apenas o contexto de hardware precisa ser salvo, já que o contexto de software e o espaço de endereçamento são os mesmos entre os vários threads. O uso de threads diminui o desempenho, pois durante a interrupção de um thread é necessário salvar contexto de hardware, de software e espaço de endereçamento. O uso de threads representa ganhos em termos de desempenho, pois durante a interrupção de um thread apenas o espaço de endereçamento precisa ser salvo, já que o contexto de software e de hardware sãoos mesmos entre os vários threads. O uso de threads não influencia no desempenho, pois durante a interrupção de um thread é necessário salvar contexto de hardware, de software e espaço de endereçamento. O uso de threads representa ganhos em termos de desempenho, pois durante a interrupção de um thread apenas o contexto de software precisa ser salvo, já que o contexto de hardware e o espaço de endereçamento são os mesmos entre os vários threads. 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: Serão bloqueadas também para impedir a ocorrência de erros Não serão bloqueadas mas ficaram aguardando o desbloqueio da thread que solicitou o acesso ao disco Poderão continuar executando se não dependerem da thread que foi bloqueada Serão interrompidas provocando um erro no processo. Terão a prioridade reduzida para aguardar o desbloqueio da thread que solicitou o acesso ao disco 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. Threads apenas podem ocorrer em processadores multicore. Processos apenas podem ocorrer em sistemas de grande porte. Apenas threads podem ser executados em paralelo. Threads possuem o mesmo contexto de software Processos executam mais rapidamente. 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: Uma condição de corrida Um deadlock em função da exclusão mútua no acesso aos dois recursos Um deadlock que poderá ser solucionado quando o professor desistir da aula. Um evento que será solucionado assim que terminar a aula Um deadlock que poderá ser solucionado se um dos professores tirar o recurso das mãos do outro. Em programação concorrente, quando um processo nunca é executado ("morre de fome"), pois processos de prioridade maior sempre o impedem de ser executado, podemos concluir que ocorreu ? Bloqueio do processo Starvation Espera ocupada Deadlock Exclusão mútua 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: Exclusão mútua Espera ocupada Bloqueio Starvation Deadlock O trecho do código-fonte de um programa que, ao ser executado, requer um recurso e pode levar o sistema a uma Condição de Corrida é denominado? Seção Crítica Seção Problemática Seção de Saída Seção de Entrada Seção Restante Exclusão mútua é uma técnica usada em programação concorrente para evitar acesso simultâneo a um recurso compartilhado, acesso esse denominado por REGIÃO CRÍTICA. Julgue as sentenças a seguir e marque a INCORRETA. Quando não houver processo executando uma região crítica qualquer processo que solicitar acesso deverá obtê-lo imediatamente Um processo deve permanecer executando uma região crítica por tempo finito É permitido que mais de um processo, em execução, possa executar, simultaneamente, uma região crítica Um processo interrompido fora de uma região crítica não pode impedir que outro processo tenha acesso a esta região crítica Não pode haver nem deadlock nem starvation O trecho do código-fonte de um programa que, ao ser executado, requer um recurso e pode levar o sistema a uma condição de corrida é denominado: Região restante Região de entrada Região de saída Região problemática Região crítica Starvation é uma situação que ocorre quando: Pelo menos um evento espera por um evento que não vai ocorrer. Pelo menos um processo é continuamente postergado e não executa. Quando Quantum está acima de 400 ms O processo tenta mas não consegue acessar uma variável compartilhada. A prioridade de um processo é ajustada de acordo com o tempo total de execução do mesmo. No âmbito de sistemas operacionais, uma seção ou região crítica é a: parte do programa que acessa dados compartilhados. área do programa que é executada 80% do tempo. parte da memória usada para operações criptográficas. área do sistema operacional que contém o código do loader. área da memória que contém dados compartilhados. 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. Primeiro algoritmo Segundo algoritmo Algoritmo de Peterson. Algoritmo de Dekker. Instrução test-and-set. No contexto de processos, como pode ocorrer uma condição de corrida? Uma condição de corrida é uma técnica computacional aplicada aos processos para que os mesmos sejam comparados com relação ao tempo de execução. Uma condição de corrida é uma técnica utilizada para medir o tempo de execução de um processo. Uma condição de corrida ocorre quando um ou mais processos iniciam a execução concomitante e competem no tempo para terminar primeiro. 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. Não haverá condição de corrida em sistemas multitarefa. A exclusão mútua deve afetar apenas os processos concorrentes somente quando um deles estiver fazendo acesso ao recurso compartilhado. A parte do código do programa onde é feito o acesso ao recurso compartilhado é denominada de: Aplicação Concorrente Espera Ocupada Exclusão Mútua de Execução Região Crítica Condição de Corrida Nos sistemas operacionais multitarefa é necessário controlar a concorrência de acesso aos recursos e dispositivos, evitando assim a perda de dados. Analise as sentenças abaixo que tratam desse assunto e, em seguida, assinale a alternativa correta: I. Os mecanismos que garantem a comunicação entre processos concorrentes e o acesso a recursos compartilhados são chamados mecanismos de sincronização II. Semáforo e monitor são soluções de software para implementação de exclusão mútua entre a região crítica de processos concorrentes, garantindo assim a sincronização III. O monitor aumenta a responsabilidade do programador na implementação das variáveis de controle, uma vez que o compilador se encarrega de realizar a exclusão mútua Somente a senteça II está correta. Somente a sentença II e III estãocorretas Somente as sentenças I e II estão corretas Somente a sentença III está correta Somente a senteça I está correta. O semáforo possui regras de acesso. Analise as regras abaixo que permitem o acesso adequado ao semáforo e, em seguida, assinale a alternativa correta: I. O semáforo deve ser inicializado com um valor não negativo. II. A operação DOWN decrementa o semáforo; III. A operação UP incrementa o semáforo; IV. Se o semáforo valer zero e for decrementado, o processo entra em estado de pronto Estão corretas as sentenças: apenas I e IV I, II e III II, III e IV apenas II e III I, III e IV 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: Exclusão mútua e espera por recurso. Exclusão mútua, espera por recurso e não-preempção. Espera por recurso e não-preempção. Não-preempção. Exclusão mútua e não-preempção. 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: Um trecho de programa onde existe o compartilhamento de algum recurso que não permite o acesso concomitante por mais de um programa Um trecho de programa que deve ser executado em paralelo com a Região Crítica de outro programa Um trecho de programa cujas instruções podem ser executadas em paralelo e em qualquer ordem Um trecho de programa onde existe algum recurso cujo acesso é dado por uma prioridade Um trecho de programa onde existe algum recurso a que somente o sistema operacional pode ter acesso O projeto de um escalonador adequado, deve levar em conta uma série de diferentes necessidades, ou seja, o projeto de uma política de escalonamento deve contemplar os seguintes objetivos. Dentre as ações abaixo, julgue a INCORRETA. Manter o processador ocupado o maior parte do tempo possível. Minimizar o número usuários interativos do sistema. Maximizar a taxa de atendimento (vazão) do sistema (throughput). Oferecer tempos de resposta razoáveis. Balancear o tempo de CPU entre as tarefas. Em um sistema operacional, um processo pode, em um dado instante de tempo, estar em um de três estados: em execução, pronto ou bloqueado. Considere as afirmativas abaixo sobre as possíveis transições entre estes estados que um processo pode realizar. I. Do estado em execução para o estado bloqueado II. Do estado em execução para o estado pronto III. Do estado pronto para o estado bloqueado IV. Do estado bloqueado para o estado em execução Quais são as afirmativas verdadeiras? Somente as afirmativas II, III e IV são verdadeiras. Todas as afirmativas são verdadeiras. Somente as afirmativas I, II, III são verdadeiras. Somente as afirmativas II e III são verdadeiras. Somente as afirmativas I e II são verdadeiras. Os processos no sistema operacional que possuem um timer, chamado de quantum, onde todos os processos ganham o mesmo valor de quantum para rodarem na CPU, caracterizam o escalonamento de processos do tipo: RR - Round-Robin. SRT - Shortest Remaining Time. FIFO - First in, first out. SJF - Shortest Job First. FCFS - First come, first served. A gerência do processador apresenta alguns critérios que devem ser considerados em uma política de escalonamento. Qual o critério de escalonamento que representa o número de processos executados em um determinado intervalo de tempo? Tempo de processador Tempo de Turnaround Throughput Tempo de Espera Utilização do Processador Suponha o seguinte cenário: você é um engenheiro de sistemas e está projetando um sistema operacional. No seu projeto você contemplou uma arquitetura de sistema operacional multiprogramado no qual vários processos serão executados de forma concorrente. Imagine que, neste contexto, seja importante que o sistema operacional adote como critério de escalonamento a escolha dos processos que tiverem o menor tempo de processador ainda por executar. Neste caso optaria por adotar qual critério de escalonamento? Por Prioridade Circular Shortest-Job-First (SJF) First-In-First-Out (FIFO) Não preemptivo 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 II estão corretas. Apenas II e III estão corretas. Apenas I e III estão corretas. Apenas a II está correta. Apenas a III está correta. Os processos no sistema operacional que possuem um timer, chamado de quantum, onde todos os processos ganham o mesmo valor de quantum para rodarem na CPU, caracterizam o escalonamento de processos do tipo: SRT ¿ Shortest Remaining Time. SJF ¿ Shortest Job First. FCFS ¿ First come, first served. RR ¿ Round-Robin. FIFO ¿ First in, first out. Considerando o momento em que a UCP encontra-se livre, ela será entregue ao processo que tiver o menor tempo de duração para o próximo surto de UCP, caso o sistema operacional esteja utilizando um algoritmo de escalonamento: SJF Múltiplas Filas FCFS FIFO Round Robin A fragmentação interna ou externa ocorre durante o processo de alocação de memória para um processo. Correlacione o método de alocação com o tipo de fragmentação que pode ocorrer: Contíguo estático - Contíguo relocável - Contíguo dinâmico - Paginação I- Fragmentação interna II- Fragmentação interna III- Fragmentação externa IV- Fragmentação interna I - II - III - IV I - IV - III - II I - III - II - IV I - IV - II - III I - II - IV - III A maioria dos sistemas operacionais da atualidade utiliza o recurso chamado Memória Virtual. Uma das funções da Memória Virtual é a paginação ou troca (swapping). Assinale a alternativa que contém a afirmação correta a respeito do swapping. Swapping é a capacidade de troca de componentes de hardware de um computador, mesmo que o mesmo esteja ligado. O swapping é uma técnica de endereçamento que faz com que cada processo enxergue sua área de memória como um segmento contíguo. A principal função do swapping é impedir que um processo utilize endereço de memória que não lhe pertença. Swapping possibilita ao sistema operacional e às aplicações o uso de mais memória do que a fisicamente existente em um computador. O swapping é um mecanismo necessário em computadores de 64 bits que permite o endereçamento de memórias superiores a 4 Gbytes. Os modelos de alocação particionada estática e dinâmica permitem, respectivamente: fragmentação externa e interna fragmentação somente na última partição em ambos os casos Fragmentação relocável e não relocável Fragmentação paginada e não paginada fragamentação interna e externa A maioria dos sistemas operacionais da atualidade utiliza o recurso chamado Memória Virtual. Uma das funções da Memória Virtual é a paginação ou troca (swapping). Assinale a alternativa que contém a afirmação correta a respeito do swapping:O swapping é um mecanismo necessário em computadores de 64 bits que permite o endereçamento de memórias superiores a 4 Gbytes. Swapping possibilita ao sistema operacional e às aplicações o uso de mais memória do que a fisicamente existente em um computador. Swapping é a capacidade de troca de componentes de hardware de um computador, mesmo que o mesmo esteja ligado. A principal função do swapping é impedir que um processo utilize endereço de memória que não lhe pertença. O swapping é uma técnica de endereçamento que faz com que cada processo enxergue sua área de memória como um segmento contíguo. Quando se trata sobre a gerência da memória principal, um ponto que crucial que deve ser considerado é a fragmentação. Neste sentido assinale a alternativa INCORRETA sobre o tipo de ocorrência de fragmentação para o tipo de alocação em memória principal. Fragmentação externa na alocação por segmentação. Fragmentação interna na alocação particionada estática. Fragmentação externa na alocação particionada dinâmica. Fragmentação interna na alocação por paginação. Fragmentação externa na alocação por paginação. 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 consiste 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. Selecione a assertiva que descreve o nome desta técnica: Trashing Memória virtual Dinamic memory acess (DMA) Swapping Page faults 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? Memória virtual Page faults Swapping Trashing Dinamic memory acess (DMA) Considerando uma lista de blocos livres para gerência de alocação de memória, em que consiste o algoritmo first fit (primeiro encaixe)? O algoritmo first fit não está relacionado com gerência de alocação de memória, mas com gerência de processador em um sistema multiprocessado. Ele serve para alocar o primeiro processador disponível ao processo que foi escalonado. O algoritmo first fit consiste em modificar a lista de blocos livres para que ela disponibilize um espaço livre para um processos solicitante o mais breve possível. O algoritmo first fit consiste em fazer o gerenciador de memória procurar pelo primeiro espaço na lista de blocos livres que seja grande o suficiente para os requisitos do processo solicitante. O algoritmo first fit consiste em fazer o gerenciador de memória procurar pelo espaço na lista de blocos livres que seja o menor possível para os requisitos do processo solicitante. O algoritmo first fit consiste em fazer o gerenciador de memória procurar pelo espaço na lista de blocos livres que se adeque melhor aos requisitos do processo solicitante. Um computador com endereços de 32 bits usa uma tabela de páginas de dois níveis. Os endereços virtuais são divididos em um campo de 11 bits para o primeiro nível da tabela, outro campo de 11 bits para o segundo nível e um último campo para o desloamento. Quantas páginas podem existir neste sistema? 210 211 232 212 222 Considerando um sistema com memória paginada é correto afirmar que: Poderá ocorrer fragmentação interna em qualquer página de um processo Poderá ocorrer fragmentação interna na última página de um processo Não há fragmentação em nenhuma página Poderá ocorrer fragmentação externa na última página de um processo Poderá ocorrer fragmentação externa em qualquer página de um processo Um computador com um endereço de 32 bits usa uma tabela de páginas de dois níveis. Os endereços virtuais são divididos em um campo de 8 bits para o primeiro nível da tabela, outro de 12 bits para o segundo nível e um último campo para o deslocamento. O número de páginas que pode vir a existir no espaço de endereçamento virtual e o tamamanho da página são respectivamente: 1M e 1M 1M e 4K 4K e 8K 4K e 1M 20M e 12K No contexto de gerência de memória, por que o algoritmo de substituição de páginas ótimo não pode ser implementado? porque é muito complexo. porque exige uma quantidade de memória muito grande. porque não há poder computacional suficiente nos dias atuais. porque não é possível prever qual página será menos acessada no futuro. o hardware necessário seria absurdamente caro. Com relação ao gerenciamento de memória com paginação em sistemas operacionais, assinale a opção correta. Todas as páginas de um processo em execução devem ser mantidas na memória física enquanto o processo não tiver terminado. Um processo somente pode ser iniciado se o sistema operacional conseguir alocar todas as páginas de código desse processo. As páginas utilizadas por um processo, sejam de código ou de dados, devem ser obrigatoriamente armazenadas na partição de swap do disco, quando o processo não estiver sendo executado. O espaço de endereçamento virtual disponível para os processos pode ser maior que a memória física disponível. Um processo somente pode ser iniciado se o sistema operacional conseguir alocar um bloco contíguo de páginas do tamanho da memória necessária para execução do processo. Suponha que um determinado processo precise de mais memória do que há disponível na memória principal. No passado essa situação já foi um problema. Atualmente, com a técnica de memória virtual, é possível que um processo faça uso de mais memória do que há disponível na memória principal. Em relação a esta técnica, é correto afirmar que: os programas são limitados pelo tamanho da memória física disponível. os programas são vinculados apenas à memória secundária. as memórias principal e secundária são combinadas, dando ao usuário a ilusão de existir uma memória maior do que a memória principal. os programas são vinculados a endereços físicos da memória principal. não há limite para a alocação de programas na memória. Qual o tamanho da página de um sistema sabendo-se que o endereço é composto por 20 bits, onde 7 identificam a página e os demais o deslocamento dentro da página? 20 endereços 128 endereços 7 endereços 8K endereços 128 K endereços Suponha que um programador esteja medindo o desempenho de seus programas. Para este programador, é muito importante saber o tempo totalque o processo leva desde sua criação até o seu término. Os sistemas operacionais atuais disponibilizam uma série de informações que podem auxiliar este programador. Marque a alternativa que representa a informação que este programador precisa: Utilização do processador Tempo de espera Tempo de turnaround Throughtput Tempo de resposta A utilização de dispositivos com DMA é indicado para: Dispositivos de alta prioridade Qualquer dispositivo de Entrada ou de Saída Dispositivos que necessitam de intervenção do usuário Dispositivos muito mais rápidos que o processador Dispositivos que efetuam grande transferência de dados para a memória. Estamos terminando o primeiro semestre de 2010 e os principais lançamentos no mercado da informática se concentram nos produtos digitais portáteis, especialmente os netbooks, os tablets e os smartphones. E esse nicho do mercado desperta a atenção e acirra a briga das empresas pelos sistemas operacionais. O iPhone OS4 (da Apple), o Windows 7 (da Microsoft) e o Android (da Google) são alguns dos mais "badalados" nesse momento, dos quais são demandadas características de gerenciamento de: Dispositivos de E/S genéricos como, por exemplo, leitores de Blu-Ray, mini DV e teclados USB Memórias com tecnologia flash cada vez maiores e mais lentas, o que faz crescer a necessidade de disco rígido externo para essas plataformas de portáteis Dispositivos de E/S mais específicos como, por exemplo, display multitouch, webcam, cartões de memória Processadores específicos que consomem mais energia e por isso aumentam a freqüência de recarga das baterias O cenário apresentado não é aplicável, pois o mesmo não é uma realidade de mercado. Indique se será gerada uma interrupção de hardware ou uma exceção em cada situação abaixo: - Erro de divisão por zero. - Violação de acesso a uma área de memória não permitida. - Controladora de HD indica o término de uma operação de E/S - Um clique no mouse. - Disparo do alarme do temporizador. exceção - interrupção - interrupção - interrupção - exceção. exceção - exceção - interrupção - interrupção - interrupção. interrupção - interrupção - interrupção - exceção - interrupção. interrupção - interrupção - exceção - exceção - interrupção. interrupção - interrupção - interrupção - exceção - exceção. Todas as rotinas do sistema operacional que tem como função se comunicar com os dispositivos de Entrada/Saída em nível de hardware. São os softwares tradutores que recebem comandos do sistema operacional para um hardware específico. Essa é a definição diz respeito aos: Backups Controladores Ghost Subsistemas de E/S Drivers Suponha que determinada unidade de disco tenha 4.000 cilindros numerados de 0 a 3999. A unidade atualmente está atendendo a uma requisição no cilindro 53 e a requisição anterior foi no cilindro 55. Sabe-se que a unidade de disco utiliza o escalonamento SCAN e que a fila de requisições pendentes é: 98, 183, 37, 122, 11, 124, 60 e 67 Qual das requisições pendentes será a segunda a ser atendida? 60 11 98 67 37 São algortimos de escalonamento de acesso ao disco: Scan e gang scheduling FCFS e round robin C-scan e prioridade Scan e FCFS C-Scan e round robin Indique se será gerada uma interrupção de hardware ou uma exceção em cada situação abaixo: - Erro de divisão por zero. - Violação de acesso a uma área de memória não permitida. - Controladora de HD indica o término de uma operação de E/S - Um click no mouse. - Disparo do alarme do temporizador. interrupção - interrupção - interrupção - exceção - interrupção. exceção - exceção - interrupção - interrupção - interrupção. interrupção - interrupção - exceção - exceção - interrupção. interrupção - interrupção - interrupção - exceção - exceção. exceção - interrupção - interrupção - interrupção - exceção. Os dispositivos de E/S podem ser classificados de diferentes maneiras, com relação ao tipo de transferência de dados são classificados em: Orientados a hardware e software Orientados a páginas e segmentos Orientados a blocos e a caracteres Orientados a usuários e ao equipamentos Orientados à páginas e blocos Em um sistema monoprocessado, um escalonador pode interromper o processo em execução? Marque a resposta correta com a justificatia correta. Não, nenhum processo pode ser interrompido quando está de posse do processador. Sim, o sistema operacional emite um aviso para o escalonador executar a interrupção. Não, o escalonador é um processo e não pode executar nenhuma operação enquanto não estiver de posse do processador. Sim, o escalonador deve interromper o processo no final da fatia de tempo destinada ao processo que está em execução. Depende do sistema operacional. Um aluno de Sistemas Operacionais está elaborando, através de um processador de textos, um trabalho sobre Sistemas de Arquivos. O computador utilizado pelo aluno possui um Sistema Operacional com blocos de 4kb. Ao armazenar o seu trabalho (no disco rígido da máquina) o aluno observou que o tamanho do arquivo é de 182kb. Quantos blocos o Sistema Operacional irá alocar para armazenar o trabalho do aluno? 4 blocos 47 blocos 46 blocos 45 blocos 128 blocos Um arquivo é constituído por informações logicamente relacionadas que podem representar instruções (executável) ou dados (texto). Qual das opções NÃO é considerado um atributo. Tipo Tamanho Proteção Usuário Estrutura Analise as quatro sentenças abaixo sobre sistema de arquivos e, em seguida, assinale a única alternativa correta: I. Na alocação contígua a tabela de alocação contém uma entrada (com bloco inicial e tamanho em blocos) para cada arquivo; II. Para controle de espaços livres temos pelo menos três formas: mapa de bit, lista encadeada e tabela de blocos livres; III. Na alocação indexada, para se ter acesso a um determinado bloco é necessário percorrer a lista até o bloco desejado; IV. Na alocação encadeada a tabela de alocação contém um índice para cada arquivo. Somente as sentenças III e IV estão corretas Somente as sentenças I, II e IV estão corretas Somente as sentenças II e III estão corretas Somente as sentenças I e II estão corretas Todas as sentenças estão corretas Uma das questões importantes na implementação de armazenamento de arquivos é a manutenção do controle de blocos de discos relacionados a arquivos. Para isso, são utilizados vários métodos em diferentes sistemas operacionais, sobre os quais é INCORRETA a seguinte afirmação A alocação indexada utiliza uma estrutura de dados chamada i-node que ocupa normalmente um espaço menor do que a FAT (File Allocation Table) na memória principal A alocação de espaço contínuo apresenta alto desempenho e, com o tempo de utilização, reduz o nível de fragmentação do disco Na alocação de espaço contínuo de disco, o controle sobre onde os blocos de um arquivo estão resume-se a saber apenas o endereço em disco do primeiro bloco e o número de blocos do arquivo Na alocação por lista encadeada, o sistema operacional, para chegar ao bloco n, a partir do início do arquivo, deve ler os n - 1 blocos antes dele, prejudicando o acesso aleatório ao arquivo A alocação por lista encadeada usando uma tabela na memóriaprincipal (FAT - File Allocation Table) é utilizada pelo sistema operacional MS-DOS Controle de Processos, Gerenciamento de arquivo, Gerenciamento de Dispositivos, Manutenção de Informações e Comunicações são as cinco categorias principais de chamadas de sistemas, quais das alternativas abaixo se refere a chamadas de sistemas da categoria "Gerenciamento de arquivos"? create, delete communication connection; send, receiver messages; Read, write, reposition; Get time or date, set time or date end, abort; Sobre os métodos de alocação de espaço em disco, marque a alternativa incorreta: Na alocação encadeada, como os blocos dos arquivos estão espalhados pelo disco rígido, há uma diminuição no tempo de acesso destes arquivos.. Na alocação contígua um arquivo ocupa um conjunto de blocos sequenciais. Na alocação encadeada, o diretório contém um ponteiro para o primeiro bloco do arquivo, este bloco, por sua vez, aponta para o próximo, e assim sucessivamente. Na alocação indexada todos os ponteiros para os blocos de um arquivo são colocados em um mesmo bloco chamado bloco de índices. A alocação encadeada permite que os blocos de um arquivo sejam alocados de forma não contígua no disco. Um device driver, ou simplesmente driver, tem como função implementar a comunicação do subsistema de E/S com os dispositivos de E/S. Sendo assim, um device driver é bem definido na alternativa: permite a comunicação entre o sistema computacional e o mundo externo. recebe comandos gerais sobre acessos aos dispositivos, traduzindo-os para comandos específicos, que poderão ser executados pelos controladores. manipula diretamente os dispositivos de E/S. realiza as funções comuns a todos os tipos de dispositivos. torna as operações de E/S mais simples para o usuário bem como suas aplicações.