Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação: CCT0245_AV_201509027981 » SISTEMAS OPERACIONAIS Tipo de Avaliação: AV Aluno: 201509027981 - STEVEM PRADO DE OLIVEIRA BARCELOS Professor: MAURO CESAR CANTARINO GIL Turma: 9004/AB Nota da Prova: 3,5 Nota de Partic.: 1 Av. Parcial 2 Data: 17/11/2017 19:31:39 1a Questão (Ref.: 201509042557) Pontos: 0,0 / 1,0 Suponha que um programador precisou desenvolver um programa para solucionar a seguinte equação: X = (100 x 3) + (2 x (A + 30)) + (20 - 2) + (3 x B) Para otimizar o processamento, este programador optou por dividir a equação em partes menores e distribuí-las em diferentes threads. O resultado foi: PROGRAM EQUACAO; VAR X, A, B, C, D: integer; BEGIN A := (100*3); B := 2 * (A + 30); C := (20-2); D := (3 * B); X := A + B + C + D; END. O algoritmo acima contém um erro, que ilustra a complexidade do uso de threads. Descreva o erro do algoritmo acima e apresente uma solução para este problema. Resposta: Gabarito: Haverá um problema de sincronização entre os threads. Uma das soluções para este problema seria executar criar threads apenas para as instruções que atribuem valores as variáveis "A" e "C". A atribuição de valores às variáveis "B", "C" e "X" devem ficar fora dos trheads. 2a Questão (Ref.: 201509092974) Pontos: 0,0 / 1,0 Na execução de processos existem duas importantíssimas rotinas que são o escalonador e o dispatcher. Uma destas rotinas depende da outra para sua execução. Descreva a função de cada uma delas e responda qual a rotina que depende da outra para ser executada? Resposta: Gabarito: Escalonador é o responsável por implementar os critérios da política de escalonamento dos processos e o dispatcher é o repsonsável pela troca de contexto dos processos. Após o escalonado determinar qual processo deve fazer uso do processor, o dispatcher irá realizar a troca. Sendo assim é o dispatcher que depende do escalonador. 3a Questão (Ref.: 201509041603) Pontos: 1,0 / 1,0 Marque a alternativa INCORRETA em relação ao conceito de sistemas operacionais: 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 é responsável por gerenciar os recursos computacionais. Atua como uma interface entre o usuário e o computador. É impossível fazer uso de um computador que não tenha um sistema operacional instalado. Um sistema operacional deve facilitar acesso aos recursos do sistema, assim como compartilhá-los de forma organizada e protegida. 4a Questão (Ref.: 201509641643) Pontos: 0,0 / 1,0 Um processo, segundo Machado, é formado 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 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. 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 de um processo é composto por três grupos de informações sobre o processo:identificação, quotas e privilégios. 5a Questão (Ref.: 201509269208) Pontos: 0,0 / 1,0 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. 1.V -2.V - 3.V 1.V - 2.F - 3.V 1.F - 2.F - 3.V 1.F - 2.V - 3.F 1.V -2.F - 3.F 6a Questão (Ref.: 201509603639) Pontos: 0,0 / 1,0 Em programação concorrente, quando um processo nunca é executado ("morre de fome"), pois processos de prioridade maior sempre o impedem de ser executado, diante desta situação podemos concluir que ocorreu: Exclusão mútua Espera ocupada Bloqueio Starvation Deadlock 7a Questão (Ref.: 201509047809) Pontos: 1,0 / 1,0 A diferença entre espera ocupada e bloqueio de um processo é: Na espera ocupada o recurso requisitado é liberado mais rapidamente do que no bloqueio O processo que se encontra em espera ocupada é mais prioritário que o processo que se encontra bloqueado 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. A Espera ocupada é utilizada para evitar condições de corrida, enquanto bloqueio é utilizado para controlar o número de processos ativos no sistema Não há diferença. Espera ocupada e bloqueio são apenas duas maneiras de se implementar exclusão mútua 8a Questão (Ref.: 201509062509) Pontos: 1,0 / 1,0 Você é um engenheiro de sistemas e está projetando um sistema operacional. No seu projeto você contemplou uma arquitera 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? First-In-First-Out (FIFO) Por Prioridade Shortest-Job-First (SJF) Não preemptivo Circular 9a Questão (Ref.: 201509638090) Pontos: 0,5 / 0,5 Qual a técnica aplicada à gerência de memória para programas que esperam por memória livre para serem executados. Onde o sistema escolhe um processo residente, que é transferido da memória principal para a memória secundária (swap out) geralmente disco, e posteriormente, o processo pode ser carregado de volta da memória secundária para a principal (swap in) e pode continuar sua execução como se nada tivesse ocorrido. Técnica de overlay Memória Virtual por Segmentação Swapping Memória Virtual por Paginação Alocação Contígua Simples 10a Questão (Ref.: 201509652311) Pontos: 0,0 / 0,5 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 usuários e ao equipamentos Orientados a blocos e a caracteres Orientados à páginas e blocos Orientados a páginas e segmentos Observação: Estou ciente de que ainda existe(m) 1 questão(ões) não respondida(s) ou salva(s) no sistema, e que mesmo assim desejo finalizar DEFINITIVAMENTE a avaliação. Data: 17/11/2017 19:44:56 Período de não visualização da prova: desde 16/11/2017 até 28/11/2017.
Compartilhar