Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação: CCT0245_AV_201401318363 » SISTEMAS OPERACIONAIS Tipo de Avaliação: AV Aluno: Professor: MAURO CESAR CANTARINO GIL MARCELO BARBOSA CARNEIRO MARCELO RIBEIRO DE OLIVEIRA Turma: 9005/AE Nota da Prova: 5,0 Nota de Partic.: 2 Data: 18/06/2015 08:30:14 1a Questão (Ref.: 201401361977) Pontos: 1,5 / 1,5 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: O algoritmo ira dar erro nos acessos as variaveis pois ocorrera uma competicao entre as chamadas, por exemplo se o processo B for chamado e o processo A ainda nao tiver sido concluido. A soluçao seria oscalculos das variaveis A e C devem ficar dentro da threads enquanto B, D e X devem ficar fora dela. 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.: 201401365983) Pontos: 0,0 / 0,5 Uma das medidas utilizadas para avaliar o desempenho de um critério de escalonamento é denominadothroughput. Esta medida informa: A fração do tempo de processador utilizada pelo processo no último minuto. O número de processos executados em um determinado intervalo de tempo. O tempo decorrido entre a submissão de uma tarefa até a saída do primeiro resultado produzido. A taxa de utilização da CPU O tempo decorrido entre a admissão de um processo no sistema até o seu término 3a Questão (Ref.: 201401961034) Pontos: 0,0 / 1,0 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: Memória virtual Swapping Dinamic memory acess (DMA) Page faults Trashing 4a Questão (Ref.: 201401580469) Pontos: 0,5 / 0,5 Processadores atuais incluem mecanismos para o tratamento de situações especiais, conhecidas como interrupções. Em uma interrupção, o fluxo normal de instruções é interrompido para que a causa da interrupção seja tratada. Com relação a esse assunto, assinale a opção CORRETA. O processador pode auto interromper-se para tratar exceções de execução, tais como um erro em uma operação aritmética, uma tentativa de execução de instrução ilegal ou uma falha de página em memória virtual. O uso de interrupção para realizar entrada ou saída de dados somente é eficiente quando o periférico trata grandes quantidades de dados, como é o caso de discos magnéticos e discos ópticos. Para periféricos com pouco volume de dados, como teclados e mouses, o uso de interrupção é ineficiente. Rotinas de tratamento de interrupção devem ser executadas com o mecanismo de interrupção inibido, pois esse tipo de rotina não permite aninhamento. Quando uma interrupção ocorre, o próprio processador salva todo o seu contexto atual, tais como registradores de dados e endereço e códigos de condição, para que esse mesmo contexto possa ser restaurado pela rotina de atendimento da interrupção. As operações de entrada e saída geram interrupções de forma síncrona à execução do processador, para que nenhuma instrução fique incompleta devido à ocorrência da interrupção. 5a Questão (Ref.: 201401971645) Pontos: 0,5 / 0,5 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 Exclusão mútua Starvation Deadlock Espera ocupada 6a Questão (Ref.: 201401361965) Pontos: 0,5 / 0,5 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 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 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 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 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. 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. 7a Questão (Ref.: 201401961072) Pontos: 0,5 / 0,5 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: I, III e IV apenas II e III apenas I e IV II, III e IV I, II e III 8a Questão (Ref.: 201401382202) Pontos: 0,5 / 0,5 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 a III está correta. Apenas a II está correta. Apenas I e II estão corretas. Apenas I e III estão corretas. Apenas II e III estão corretas. 9a Questão (Ref.: 201401412405) Pontos: 1,0 / 1,5 Existem dois tipos de escalonamento os preemptivos e não preemptivos. Qual a diferença entre eles? Dê pelo menos um exemplo de algoritmo de escalonamento preemptivo e não preemptivo. Resposta: Preemptivos pemite a inclusao de umaordem de prioridade para execuçao, permite tambem que possa ser colocado em espera seja por tempo de execuçao ou pela entrada de um novo processo com maior prioridade. Nao-preemptivo por sua vez nao permite esta mudança. Como exemplo de algoritmos temos o por prioridade e o shortest-job-first em que o menor processo é executado primeiro. Gabarito: No escalonamento não-preemptivo o sistema operacional não interrompe o processo em execução para subsituí-lo por outro processo. Já o preemptivo é caracterizado pela possibilidade do sistema opercional interromper um processo emexecução e passaá-lo para o estado de pronto. Exemplos: não-preemptivo: fifo, sjf preemptivo: escalonamento circular, por prioridades, por múltiplas filas Fundamentação do(a) Professor(a): No escalonamento não-preemptivo o sistema operacional não interrompe o processo em execução para subsituí-lo por outro processo. Já o preemptivo é caracterizado pela possibilidade do sistema opercional interromper um processo emexecução e passaá-lo para o estado de pronto. Exemplos: não- preemptivo: fifo, sjf preemptivo: escalonamento circular, por prioridades, por múltiplas filas 10a Questão (Ref.: 201401971929) Pontos: 0,0 / 1,0 Dentre as funcionalidades de um sistema de arquivos, podemos considerar INCORRETA a seguinte função. Garantir a validade do arquivo. Prover acesso a dispositivos diferentes. Prover rotinas para acesso. Evitar a fragmentação interna na memória principal. Atender às requisições de armazenamento e recuperação de informações.
Compartilhar