Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: SISTEMAS OPERACIONAIS Avaliação: CCT0245_AV_201207133485 Data: 01/09/2017 20:31:07 (F) Critério: AV Aluno: 201207133485 - ADEMAR DA SILVA CORRÊA JUNIOR Professor: MARCELO RIBEIRO DE OLIVEIRA Turma: 9001/AA Nota Prova: 2,0 de 8,0 Nota Partic.: 0,5 Av. Parcial.: 2,0 Nota SIA: 2,5 pts SISTEMAS OPERACIONAIS 1a Questão (Ref.: 689511) Aula 3: CLONE: Threads 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: a 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", "D" e "X" devem ficar fora dos trheads. 2a Questão (Ref.: 239682) Aula 6: Condição de corrida Pontos: 0,0 / 1,0 Sabemos que o sistema operacional é a mais importante plataforma lógica de um sistema computacional e que, através de suas gerências, controlam todas as operações e funcionalidades. Um dos grandes desafios é estabelecer uma política de escalonamento eficiente que proporcione à CPU um fluxo de processos considerável, minimizado o tempo de resposta e, consequentemente, maximizando a vazão de tarefas. Diante desta consideração responda as perguntas a seguir: a) Como se classificam os tipos de escalonamento? b) Descreva as políticas de escalonamento: Por prioridades e Shortest-Job-First (SJF) Resposta: a Gabarito: a)Preemptivo e Não-preemptivo. b)Por prioridade A cada processo que alcança o estado de pronto é associada uma prioridade de execução. Os processos de maior prioridade são escalonados preferencialmente. Este tipo de preempção é implementado através de um clock, que interrompe o processador em determinados intervalos de tempo, para que a rotina de escalonamento reavalie prioridades e, se necessário, escalone outro processo. O processo interrompido volta para a fila de prontos. Shortest-Job-First (SJF) cada processo é associado ao seu tempo de execução. Dessa forma, quando o processador está livre, o processo em estado de pronto que precisar de menos tempo de UCP para terminar seu processamento é selecionado para execução (shortest-job-first). 3a Questão (Ref.: 15759) Aula 1: Classificação Pontos: 1,0 / 1,0 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: Todo sistema multitarefa é também multiusuário. Sistemas monotarefa podem ser multiusuário. Sistemas monousuário são obrigatoriamente monotarefa. Alguns sistemas multiusuário são também multitarefa Todo sistema multiusuário é também multitarefa. Gabarito Comentado. 4a Questão (Ref.: 10795) Aula 2: Processos Pontos: 0,0 / 1,0 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? ESPERA PRONTO TERMINADO EXECUÇÃO CRIADO Gabarito Comentado. 5a Questão (Ref.: 670530) Aula 3: Gerencia de Processos Pontos: 0,0 / 1,0 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 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 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 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 Gabarito Comentado. 6a Questão (Ref.: 705848) Aula 4: CONDIÇÃO DE CORRIDA Pontos: 0,0 / 1,0 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. Um processo deve permanecer executando uma região crítica por tempo finito 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 É permitido que mais de um processo, em execução, possa executar, simultaneamente, uma região crítica Não pode haver nem deadlock nem starvation Quando não houver processo executando uma região crítica qualquer processo que solicitar acesso deverá obtê-lo imediatamente Gabarito Comentado. 7a Questão (Ref.: 227857) Aula 5: sincronização entre processos Pontos: 0,0 / 0,5 Diversos conceitos são fundamentais para que se implemente concorrência entre processos. Região Crítica é um desses conceitos, que pode ser melhor definido como sendo: Um trecho de programa onde existe algum recurso cujo acesso é dado por uma prioridade Um trecho de programa cujas instruções podem ser executadas em paralelo e em qualquer ordem Um trecho de programa que deve ser executado em paralelo com a Região Crítica de outro programa Um trecho de programa onde existe algum recurso a que somente o sistema operacional pode ter acesso Um trecho de programa onde existe o compartilhamento de algum recurso que não permite o acesso concomitante por mais de um programa Gabarito Comentado. 8a Questão (Ref.: 573042) Aula 6: GERÊNCIA DE TEMPO DE CPU Pontos: 0,0 / 0,5 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. FCFS ¿ First come, first served. FIFO ¿ First in, first out. SJF ¿ Shortest Job First. Gabarito Comentado. 9a Questão (Ref.: 238721) Aula 7: Gerência de Alocação MemóriaPontos: 0,5 / 0,5 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: Segmentação de memória Journaling Alocação de memória Memória Virtual Paginação de Memória Gabarito Comentado. 10a Questão (Ref.: 238900) Aula 9: Dispositivo de E/S Pontos: 0,5 / 0,5 Em relação aos modelos de entrada e saída, considere: 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 II, III e IV, apenas I, II, III e IV. I, II e III, Apenas I, II e IV, apenas I, III e IV, apenas Gabarito Comentado.
Compartilhar