Buscar

AV Sistemas Operacionais 2015-1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.

Outros materiais