Baixe o app para aproveitar ainda mais
Prévia do material em texto
Coletânea de Exercícios – Sistemas Operacionais – 2016-01 O que é multiprogramação? a) Processamento paralelo. b) Técnica que permite a troca de informações entre a memória principal e a memória secundária. c) Processamento centralizado. d) Técnica que permite que vários processos estejam em memória ao mesmo tempo. e) Processamento distribuído. Para que uma aplicação execute instruções privilegiadas deverá efetuar: a) a execução de um programa específico b) uma chamada ao sistema c) o acesso com uma conta privilegiada. d) uma interrupção e) uma solicitação ao administrador do sistema 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: a) Sistemas monousuário são obrigatoriamente monotarefa. b) Todo sistema multiusuário é também multitarefa. c) Alguns sistemas multiusuário são também multitarefa d) Sistemas monotarefa podem ser multiusuário. e) Todo sistema multitarefa é também multiusuário. 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) 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. b) A arquitetura microkernel caracteriza-se por se tratar de um conjunto de módulos que funcionam como se fosse um único programa. c) 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". d) A arquitetura em camadas tem como vantagem o alto desempenho. e) A arquitetura monolítica é a que tem a implementação mais complexa. 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: a) de discos - de threads - de cache b) de armazenamento - de processos - de memória c) de arquivos - de barramentos - de discos d) em memória secundária - de serviços - em memória principal e) de I/O - de tempos de CPU - de RAM Em um sistema multiprogramável, um processo ativo pode estar nos seguintes estados a) latência, espera ou atividade b) interrupção, pronto ou execução c) espera, pronto ou execução d) latência, pronto ou atividade e) espera, pronto ou interrupçã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: a) CPU-bound. b) Não é possível classificar o processo com as informações fornecidas. c) I/O-bound. d) O processo em questão não é CPU-bound nem I/O-bound. e) CPU-bound e I/O-bound ao mesmo tempo. 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. a) 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) b) O escalonador também pode selecionar processo em ESPERA para execução. c) 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 d) O estado de ESPERA representa o processo aguardando o fim da fatia de tempo de umprocesso em EXECUÇÂO e) A transição entre os três estados (PRONTO, ESPERA E EXECUÇÃO) é possível em ambos os sentidos. Qual a diferença básica entre um processo e um programa? a) Um programa é um conjunto de processos. Um processo é uma unidade básica. b) Um programa é um processo em execução. Um processo é um arquivo em disco. c) Um processo é um thread. Um programa é um arquivo em disco. d) Um processo é um programa em disco. Um programa é um processo em execução. e) Um processo é um programa em execução. 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 "execução"? a) sim, pois independente da quantidade de CPU´s ele será executado. b) Não. O processo ficará em estado de "espera" e aguarda até que o sistema operacional o selecione para execução. c) Sim. Mas somente se o computador tiver mais de uma CPU. d) Sim. Assim que liberar o processador ele será executado. e) Não. O processo passa para o estado "pronto" e aguarda até que o sistema operacional o selecione para execução. 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? a) PRONTO b) ESPERA c) EXECUÇÃO d) CRIADO e) TERMINADO 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: a) 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). b) 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. c) o contexto de hardware de um processo é composto por três grupos de informações sobre o processo: identificação, quotas e privilégios. d) 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). e) 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. Threads sãofluxos 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 ? a) Utilização de múltiplos processadores b) Economia de tempo de gerenciamento c) Melhor aproveitamento na fatia de tempo d) Fornecem a interface entre os processos e o sistema operacional sendo um mecanismo de proteção ao núcleo e) Compartilhamento de recursos Podemos verificar informações sobre os processos em execução utilizando o gerenciador de tarefas do sistema operacional Windows e no Linux com o comando PS. Dentre as informações fornecidas podemos destacar o PID (process identification ou identificador do processo), que faz parte a) do contexto de hardware do processo. b) do gerenciamento de arquivo. c) do controle de memória do processo. d) do contexto de software do processo. e) do espaço de endereçamento do processo. 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. a) A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa. b) A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira. c) As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da primeira. d) Tanto a primeira quanto a segunda asserções são proposições falsas. e) As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira. Uma das diferenças entre threads em modo usuário e threads em modo kernel é: a) Uma thread em modo kernel não pode executar instruções privilegiadas e a em modo usuário pode. b) Uma thread em modo kernel bloqueada bloqueia todo o processo obrigatoriamente e a em modo usuário não bloqueia. c) A thread em modo kernel é escalonada diretamente pelo sistema operacional e a de usuário não. d) A thread em modo kernel depende de uma biblioteca para ser utilizada e a thread em modo usuário não depende. e) A thread em modo usuário não pode utilizar funções do sistema operacional e a thread em modo kernel pode. 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. a) Compartilhamento de recursos b) Economia de tempo de processamento c) Melhor aproveitamento na fatia de tempo d) Utilização de múltiplos processadores e) Fornecem a interface entre os processos e o sistema operacional sendo um mecanismo de proteção ao núcleo Com relação ao conceito de thread, fluxo de dados, julgue os itens a seguir: I. São fluxos de execução distintos dentro de um mesmo processo. II. O kernel N Ã O enxerga essas threads e, por esse motivo, não podem ser gerenciadas individualmente. III. O thread N Ã O é considerado uma solução eficiente para os sistemas modernos a) Todas estão incorretas b) Apenas II e III estão corretas c) Apenas I e III estão corretas d) Todas estão corretas e) Apenas I e II estão corretas 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. a) Processos apenas podem ocorrer em sistemas de grande porte. b) Threads possuem o mesmo contexto de software c) Apenas threads podem ser executados em paralelo. d) Threads apenas podem ocorrer em processadores multicore. e) Processos executam mais rapidamente. Os Sistemas Operacionais estão sujeitos a um fenômeno denominado deadlock. Para que uma situação de deadlock seja criada, as seguintes condições devem acontecer simultaneamente: a) transferência excessiva de páginas (thrashing), não preempção (no preemption), espera circular (circular wait) e falha de escalonamento (scheduling fail). b) exclusão mútua (mutual exclusion), monopolização de recursos (hold and wait), não preempção (no preemption) e espera circular (circular wait). c) exclusão mútua (mutual exclusion), transferência excessiva de páginas (thrashing), superposição de processos (process overlapping) e espera circular (circular wait). d) exclusão mútua (mutual exclusion), monopolização de recursos (hold and wait), superposição de processos (process overlapping) e falha de escalonamento (scheduling fail). e) transferência excessiva de páginas (thrashing), superposição de processos (process overlapping), monopolização de recursos (hold and wait) e não preempção (no preemption). 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 aconteceu, 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 podemos identificar a ocorrência de: a) Um deadlock que poderá ser solucionado se um dos professores tirar o recurso das mãos do outro. b) Um evento que será solucionado assim que terminar a aula c) Um deadlock que poderá ser solucionado quando o professor desistir da aula. d) Um deadlock em função da exclusão mútua no acesso aos dois recursos e) Uma condição de corrida 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: a) Bloqueio b) Espera ocupada c) Exclusão mútua d) Starvation e) Deadlock 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 ? a) Bloqueio do processo b) Deadlock c) Espera ocupada d) Starvation e) Exclusão mútua 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: a) Região de entrada b) Região crítica c) Região problemática d) Região restante e) Região de saída 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: a) I, III e IV b) I, II e III c) apenas II e III d) apenas Ie IV e) II, III e IV 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: a) Um trecho de programa que deve ser executado em paralelo com a Região Crítica de outro programa b) Um trecho de programa onde existe algum recurso a que somente o sistema operacional pode ter acesso c) Um trecho de programa cujas instruções podem ser executadas em paralelo e em qualquer ordem d) Um trecho de programa onde existe algum recurso cujo acesso é dado por uma prioridade e) Um trecho de programa onde existe o compartilhamento de algum recurso que não permite o acesso concomitante por mais de um processo São técnicas utilizadas na sincronização entre processos? I. Starvation II. Instruções TSL III. Semáforos IV. Monitores a) Todas as afirmativas são verdadeiras. b) Somente as afirmativas II, III e IV são verdadeiras. c) Somente as afirmativas I, II, III são verdadeiras. d) Somente as afirmativas II e III são verdadeiras. e) Somente as afirmativas I e II são verdadeiras. No âmbito de sistemas operacionais, uma seção ou região crítica é a: a) área do programa que é executada 80% do tempo. b) parte da memória usada para operações criptográficas. c) área da memória que contém dados compartilhados. d) parte do programa que acessa dados compartilhados. e) área do sistema operacional que contém o código do loader. 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: a) Espera Ocupada b) Aplicação Concorrente c) Condição de Corrida d) Região Crítica e) Exclusão Mútua de Execução São técnicas utilizadas na sincronização entre processos: I. Starvation II. Instruções TSL III. Semáforos IV. Monitores a) Todas as afirmativas são verdadeiras. b) Somente as afirmativas II, III e IV são verdadeiras. c) Somente as afirmativas II e III são verdadeiras. d) Somente as afirmativas I e II são verdadeiras. e) Somente as afirmativas I, II, III são verdadeiras. Suponha um sistema operacional multiprogramado no qual há vários processos sendo 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. Assinale a alternativa que representa o critério de escalonamento adequado para a situação descrita: a) Por Prioridade b) First-In-First-Out (FIFO) c) Paginação d) Shortest-Job-First (SJF) e) Translation Lookaside Buffer (TLB) 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? a) Circular b) First-In-First-Out (FIFO) c) Não preemptivo d) Shortest-Job-First (SJF) e) Por Prioridade A política de escalonamento utilizada pelo sistema operacional para fazer a gerência do processador, que é caracterizada pela possibilidade de o sistema operacional interromper um processo em execução e passá-lo para o estado de pronto, com o objetivo de alocar outro processo no processador, é chamada de escalonamento: a) temporal b) não preemptivo c) atemporal d) preemptivo e) seletivo 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 pronto para o estado em execução II. Do estado pronto para o estado bloqueado III. Do estado bloqueado para o estado em execução IV. Do estado bloqueado para o estado pronto Quais são as afirmativas verdadeiras? a) Somente as afirmativas III e IV são verdadeiras. b) Somente as afirmativas I e III são verdadeiras. c) Somente as afirmativas II e III são verdadeiras. d) Somente as afirmativas I e IV são verdadeiras. e) Todas as afirmativas são verdadeiras. Em relação à política de escalonamento por preempção, é correto afirmar que o sistema operacional: a) executa apenas processos em monoprogramação b) possui capacidade limitada e processos simples c) executa tipicamente o processo tipo BATCH. (em lote) d) executa apenas processos que ainda não estão ativos e) pode interromper um processo em execução, com o objetivo de alocar outro processo na UCP Em quais situações um processo é escalonado para executar em um sistema monoprocessado? I. Quando o processo em execução finaliza. I. Quando o processo em execução não é bloqueado. III. Quando termina a fatia de tempo do processo em execução. a) Apenas a III está correta. b) Apenas a II está correta. c) Apenas I e III estão corretas. d) Apenas II e III estão corretas. e) Apenas I e II estão corretas. Considerando uma lista de blocos livres para gerência de alocação de memória, em que consiste o algoritmo first fit (primeiro encaixe)? a) 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. b) 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. c) 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. d) 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. e) 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. 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? a) Trashing b) Memória virtual c) Page faults d) Dinamic memory acess (DMA) e) Swapping Os modelos de alocação particionada estática e dinâmica permitem, respectivamente: a) fragmentação somente na última partição em ambos os casos b) Fragmentação paginada e não paginada c) Fragmentação relocável e não relocável d) fragmentação externa e interna e) fragamentação interna e externa Considerando as estratégias de alocação de partições em um sistema que possui particionamento dinâmico analise as sentenças abaixo e selecione a opçãoque indica as sentenças corretas. i) o método first-fit possui a alocação mais rápida ii) o método best-fit aloca o menor partição possível iii) nos métodos best-fit e worst-fit a alocação não precisa ser contígua iv) o método worst-fit gera muito desperdício de memória a) i e ii b) ii e iii c) ii e iv d) i e) i e iv 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: a) Trashing b) Page faults c) Dinamic memory acess (DMA) d) Swapping e) Memória virtual Ao dividir a memória física em blocos de tamanho fixo (quadros) e dividir a memória lógica (espaço de endereçamento de processos) em blocos do mesmo tamanho (páginas) e permitir que as páginas sejam carregadas em quaisquer quadros disponíveis, estaremos implementando: a) Alocação de memória b) Journaling c) Paginação de Memória d) Segmentação de memória e) Memória Virtual Um sistema operacional trabalha com gerência de memória por páginas (paginação). O espaço de endereçamento virtual do sistema dividido em páginas de tamanho 25bytes. Existem quatro processos a serem executados nesse sistema, todos com códigos relocáveis, cujos tamanhos são: A(113bytes), B(37bytes), C(96bytes), D(100bytes). Diante desse cenário podemos afirmar que: a) O processo D ocasionará menor fragmentação quando todas as suas páginas estiveram carregadas na memória física e caso o novo tamanho de página seja de 10bytes a fragmento causado por este processo não se altera, apesar do mapeamento ser dificultado b) O processo B ocasionará menor fragmentação quando todas as suas páginas estiveram carregadas na memória física e caso o novo tamanho de página seja de 10bytes a fragmento causado por este processo não se altera, apesar do mapeamento ser facilitado c) O processo D ocasionará maior fragmentação quando todas as suas páginas estiveram carregadas na memória física e caso o novo tamanho de página seja de 10bytes a fragmento causado por este processo aumentará significativamente d) O processo C terá uma tabela de páginas maior que o processo A tanto para este tamanho de página como para páginas de tamanho 10bytes e) O processo A terá uma tabela de páginas menor que todos os outros processos, muito embora o mapeamento seja facilitado se o tamanho da página do sistema for menor Suponha que um programador esteja medindo o desempenho de seus programas. Para este programador, é muito importante saber o tempo total que 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: a) Throughtput b) Tempo de espera c) Tempo de turnaround d) Utilização do processador e) Tempo de resposta 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: a) 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. b) os programas são limitados pelo tamanho da memória física disponível. c) os programas são vinculados a endereços físicos da memória principal. d) os programas são vinculados apenas à memória secundária. e) não há limite para a alocação de programas na memória. 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? a) 232 b) 222 (2 elevado a 22) c) 212 d) 210 e) 211 Um computador tem 8 molduras de página, atualmente ocupadas pelas páginas abaixo. Página Carga Último Acesso 0 123 270 1 231 250 2 101 278 3 145 279 4 123 253 5 109 167 6 132 198 7 143 185 Dados os momentos de carga e último acesso, a próxima página a ser retirada pela política LRU (menos recentemente utilizada) é: a) 0 b) 5 c) 6 d) 2 e) 3 Em um sistema com gerenciamento de memória paginado o endereço é composto por 32 bits, sendo 10 reservados para a identificação da página. Qual o tamanho da página? a) 16KB b) 4MB c) 32MB d) 4KB e) 8MB 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: a) Orientados a usuários e ao equipamentos b) Orientados a hardware e software c) Orientados à páginas e blocos d) Orientados a blocos e a caracteres e) Orientados a páginas e segmentos O gerenciamento dos sistemas de entrada/saída de dados é normalmente implementado em duas camadas: uma responsável pelo controle do dispositivo e outra, pelo gerenciamento de entrada/saída. Por que isso representa um projeto eficiente? Escolha a alternativa correta. a) Porque permite o uso de duas linguagens de programação na sua implementação, pois o controle do dispositivo exige a programação em linguagem de máquina. b) Porque permite evitar o uso de DMA para a operação de entrada/saída. c) Porque permite o compartilhamento dos dispositivos de entrada/saída através do gerenciamento de entrada/saída. d) Porque permite separar as operações de entrada das operações de saída de dados. e) Porque permite separar características de hardware de características funcionais do dispositivo de entrada/saída. 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. a) interrupção - interrupção - interrupção - exceção - interrupção. b) interrupção - interrupção - interrupção - exceção - exceção. c) interrupção - interrupção - exceção - exceção - interrupção. d) exceção - exceção - interrupção - interrupção - interrupção. e) exceção - interrupção - interrupção - interrupçã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: a) Subsistemas de E/S b) Ghost c) Controladores d) Backups e) Drivers O sistema operacional é responsável por uma ou mais das seguintes atividades relacionadas ao gerenciamento de disco: (I) Gerenciamento do espaço livre. (II) Alocação do armazenamento. (III) Interpretação de comandos. (IV) Escalonamento do disco. Está correto o que se afirma em: a) I, II, III e IV. b) I, III e IV, apenas. c) I, II e III, apenas. d) II, III e IV, apenas. e) I, II eIV, apenas. Os dispositivos de entrada e saída de um sistema computadorizado são classificados quanto à comunicação, transferência de dados e forma de comunicação. O DMA é uma das formas de comunicação dos dispositivos, sendo assim julgue as sentenças. I. Na entrada e saída mapeada, o programa vê os dispositivos periféricos como endereços de memória, mandando dados para eles como se estivesse escrevendo na memória. II. No modo de transferência simples o controlador de DMA devolve o controle de barramento à CPU a cada transferência de um byte (ou palavra); no modo de transferência por bloco o controlador de DMA não devolve o controle do barramento à CPU até que toda a transferência tenha sido efetuada. III. Na entrada e saída mapeada, se cada dispositivo tem seus registradores de controle em uma página diferente do espaço de endereçamento, o sistema operacional pode dar a um usuário o controle sobre dispositivos específicos, simplesmente incluindo as páginas desejadas em sua tabela de páginas. IV. Os controladores de DMA que usam endereçamento de memória física para suas transferências requerem que o sistema operacional converta o endereço virtual do buffer de memória pretendido em um endereço físico e escreva esse endereço físico no registrador de endereço do DMA. Está correto o que se afirma em: a) I, II e III, apenas. b) II, III e IV, apenas. c) I, II, III e IV. d) I, III e IV, apenas. e) I, II e IV, apenas. Em um sistema monoprocessado, um escalonador pode interromper o processo em execução? Marque a resposta correta com a justificatia correta. a) Sim, o escalonador deve interromper o processo no final da fatia de tempo destinada ao processo que está em execução. b) Sim, o sistema operacional emite um aviso para o escalonador executar a interrupção. c) Depende do sistema operacional. d) Não, o escalonador é um processo e não pode executar nenhuma operação enquanto não estiver de posse do processador. e) Não, nenhum processo pode ser interrompido quando está de posse do processador. 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: a) manipula diretamente os dispositivos de E/S. b) recebe comandos gerais sobre acessos aos dispositivos, traduzindo-os para comandos específicos, que poderão ser executados pelos controladores. c) realiza as funções comuns a todos os tipos de dispositivos. d) permite a comunicação entre o sistema computacional e o mundo externo. e) torna as operações de E/S mais simples para o usuário bem como suas aplicações. Arquivos e diretórios possuem atributos. Assinale a alternativa que NÃO representa um atributo de um arquivo. a) Permissão de leitura/escrita b) Tipo c) Data de modificação d) Tamanho do bloco e) Nome Dentre os critérios para a escolha de uma organização de arquivo, podemos considerar INCORRETO. a) Menor tempo de acesso. b) Facilidade de atualização. c) Economia em armazenamento. d) Facilidade de manutenção. e) Escolha por tipo Dentre as funcionalidades de um sistema de arquivos, podemos considerar INCORRETA a seguinte função. a) Atender às requisições de armazenamento e recuperação de informações. b) Prover acesso a dispositivos diferentes. c) Garantir a validade do arquivo. d) Evitar a fragmentação interna na memória principal. e) Prover rotinas para acesso. 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. a) Estrutura b) Tamanho c) Tipo d) Proteção e) Usuário 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: a) MULTITAREFA b) MULPROCESSADOR c) INTERATIVO d) TEMPO REAL e) TIME SHARING Um sistema operacional multitarefa tem como característica fundamental: a) A execução simultânea de processos b) Uso de interface gráfica c) Ser também multiusuário d) Uso simultâneo de mais de uma unidade de disco. e) A execução concorrente de processos 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¿. a) Thread b) Contexto de Software c) Limites d) Contexto de Hardware e) Espaço de Endereçamento 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: a) ESPERA para EXECUÇÃO b) ESPERA para PRONTO c) PRONTO para EXECUÇÃO d) EXECUÇÃO para PRONTO e) EXECUÇÃO para ESPERA 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. a) 1.F - 2.F - 3.V b) 1.V -2.V - 3.V c) 1.F - 2.V - 3.F d) 1.V -2.F - 3.F e) 1.V - 2.F - 3.V 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: a) Terão a prioridade reduzida para aguardar o desbloqueio da thread que solicitou o acesso ao disco b) Não serão bloqueadas mas ficaram aguardando o desbloqueio da thread que solicitou o acesso ao disco c) Serão bloqueadas também para impedir a ocorrência de erros d) Poderão continuar executando se não dependerem da thread que foi bloqueada e) Serão interrompidas provocando um erro no processo. 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 podemos identificar a ocorrência de: a) Uma condição de corrida b) Um deadlock em função da exclusão mútua no acesso aos dois recursos c) Um deadlock que poderá ser solucionado se um dos professores tirar o recurso das mãos do outro. d) Um deadlock que poderá ser solucionado quando o professor desistir da aula. e) Um evento que será solucionado assim que terminar a aula Em programação concorrente existe uma condição na qual o processo nunca é executado, pois processos de prioridade maior sempre são executados antes. Assinale a alternativa que descreve o nome desta condição: a) Starvationb) Deadlock c) Bloqueio d) Exclusão mútua e) Espera ocupada 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: a) Não-preempção. b) Espera por recurso e não-preempção. c) Exclusão mútua e não-preempção. d) Exclusão mútua, espera por recurso e não-preempção. e) Exclusão mútua e espera por recurso. No âmbito de sistemas operacionais, uma seção ou região crítica é a: a) parte da memória usada para operações criptográficas. b) parte do programa que acessa dados compartilhados. c) área do sistema operacional que contém o código do loader. d) área do programa que é executada 80% do tempo. e) área da memória que contém dados compartilhados. Em relação aos tipos de Sistemas Operacionais, marque qual opção N Ã O faz sentido. a) Sistemas Monotarefas com mais de um usuário b) Sistemas Multitarefas com Múltiplos usuários c) Sistemas Monousuários e Monotarefas d) Sistemas Monousuário e Multitarefas e) Sistemas Multiusuários e Multitarefas Para que uma aplicação execute instruções privilegiadas deverá efetuar: a) uma interrupção b) o acesso com uma conta privilegiada. c) uma solicitação ao administrador do sistema d) a execução de um programa específico e) uma chamada ao sistema Sabemos que os programas são carregados na memória principal sob a forma de processos e que um mesmo processo pode assumir estados diferentes ao longo do seu ciclo de vida. Sendo assim, os estados genéricos de um processo são: a) Novo, Executando, Esperando, stand by e Terminado b) Transição, Executando, Esperando, Pronto e Terminado c) Novo, Executando, Esperando, Pronto e Terminado d) Novo, Executando, Stand by, Pronto e Terminado e) Novo, Executando, Esperando, Pronto e Zumbi 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. a) O estado de ESPERA representa o processo aguardando o fim da fatia de tempo de um processo em EXECUÇÂO b) A transição entre os três estados (PRONTO, ESPERA E EXECUÇÃO) é possível em ambos os sentidos. c) 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) d) O escalonador também pode selecionar processo em ESPERA para execução. e) 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 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 ? a) Economia de tempo de gerenciamento b) Compartilhamento de recursos c) Fornecem a interface entre os processos e o sistema operacional sendo um mecanismo de proteção ao núcleo d) Melhor aproveitamento na fatia de tempo e) 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. 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. a) 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. b) 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 c) 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 d) 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. e) 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 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 podemos identificar a ocorrência de: a) Um deadlock em função da exclusão mútua no acesso aos dois recursos b) Um evento que será solucionado assim que terminar a aula c) Um deadlock que poderá ser solucionado quando o professor desistir da aula. d) Um deadlock que poderá ser solucionado se um dos professores tirar o recurso das mãos do outro. e) Uma condição de corrida Os Sistemas Operacionais estão sujeitos a um fenômeno denominado deadlock. Para que uma situação de deadlock seja criada, as seguintes condições devem acontecer simultaneamente: a) exclusão mútua (mutual exclusion), monopolização de recursos (hold and wait), não preempção (no preemption) e espera circular (circular wait). b) exclusão mútua (mutual exclusion), monopolização de recursos (hold and wait), superposição de processos (process overlapping) e falha de escalonamento (scheduling fail). c) transferência excessiva de páginas (thrashing), não preempção (no preemption), espera circular (circular wait) e falha de escalonamento (scheduling fail). d) transferência excessiva de páginas (thrashing), superposição de processos (process overlapping), monopolização de recursos (hold and wait) e não preempção (no preemption). e) exclusão mútua (mutual exclusion), transferência excessiva de páginas (thrashing), superposição de processos (process overlapping) e espera circular (circular wait). 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: a) Exclusão mútua, espera por recurso e não-preempção. b) Espera por recurso e não-preempção. c) Não-preempção. d) Exclusão mútua e não-preempção. e) Exclusão mútua e espera por recurso. 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: a) Um trecho de programa onde existe algum recurso cujo acesso é dado por uma prioridade b) Um trecho de programa onde existe algum recurso a que somente o sistema operacional pode ter acessoc) Um trecho de programa que deve ser executado em paralelo com a Região Crítica de outro programa d) Um trecho de programa cujas instruções podem ser executadas em paralelo e em qualquer ordem e) Um trecho de programa onde existe o compartilhamento de algum recurso que não permite o acesso concomitante por mais de um programa Marque a alternativa INCORRETA em relação ao conceito de sistemas operacionais: a) Um sistema operacional deve facilitar acesso aos recursos do sistema, assim como compartilhá-los de forma organizada e protegida. b) Um sistema operacional é responsável por gerenciar os recursos computacionais. c) 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. d) Atua como uma interface entre o usuário e o computador. e) É impossível fazer uso de um computador que não tenha um sistema operacional instalado. 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 I, II e III I, II e IV II I, III e IV 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 : a) 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. b) tanto o gráfico 1 quanto o gráfico 2 representam processos de CPU-bound. c) o gráfico 1 representa um processo de I/O bound e o gráfico 2 representra um processo de CPU-bound. d) tanto o gráfico 1 quanto o gráfico 2 representam processos de I/O bound. e) o gráfico 2 representa um processo de I/O bound e o gráfico 1 representra um processo de CPU-bound. 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¿. a) Contexto de Hardware b) Thread c) Limites d) Espaço de Endereçamento e) Contexto de Software 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. a) Utilização de múltiplos processadores b) Fornecem a interface entre os processos e o sistema operacional sendo um mecanismo de proteção ao núcleo c) Economia de tempo de processamento d) Melhor aproveitamento na fatia de tempo e) Compartilhamento de recursos 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. a) 1.V -2.V - 3.V b) 1.F - 2.F - 3.V c) 1.V - 2.F - 3.V d) 1.F - 2.V - 3.F e) 1.V -2.F - 3.F Em programação concorrente existe uma condição na qual o processo nunca é executado, pois processos de prioridade maior sempre são executados antes. Assinale a alternativa que descreve o nome desta condição: a) Bloqueio b) Espera ocupada c) Deadlock d) Starvation e) Exclusão mútua 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. a) Um processo deve permanecer executando uma região crítica por tempo finito b) Quando não houver processo executando uma região crítica qualquer processo que solicitar acesso deverá obtê-lo imediatamente c) Não pode haver nem deadlock nem starvation d) É permitido que mais de um processo, em execução, possa executar, simultaneamente, uma região crítica e) 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 A diferença entre espera ocupada e bloqueio de um processo é: a) A Espera ocupada é utilizada para evitar condições de corrida, enquanto bloqueio é utilizado para controlar o número de processos ativos no sistema b) O processo que se encontra em espera ocupada é mais prioritário que o processo que se encontra bloqueado c) Não há diferença. Espera ocupada e bloqueio são apenas duas maneiras de se implementar exclusão mútua d) Na espera ocupada, o processo está constantemente gastando CPU (testando uma determinada condição). No bloqueio, o processo desiste de usar a CPU e é acordado quando a condição desejada se torna verdadeira. e) Na espera ocupada o recurso requisitado é liberado mais rapidamente do que no bloqueio 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 a) Somente a sentença II e III estão corretas b) Somente as sentenças I e II estão corretas c) Somente a senteça II está correta. d) Somente a senteça I está correta. e) Somente a sentença III está correta
Compartilhar