Buscar

AV. Sistemas Operacionais

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 3 páginas

Prévia do material em texto

Fechar 
 
Avaliação: CCT0245_AV_201511459646 » SISTEMAS OPERACIONAIS 
Tipo de Avaliação: AV 
Aluno: 201511459646 - FRANSUELLEN DE OLIVEIRA FELIX 
Professor: MAURO CESAR CANTARINO GIL Turma: 9006/AD 
Nota da Prova: 8,0 Nota de Partic.: 1 Av. Parcial 2 Data: 23/11/2017 13:58:38 
 
 
 1a Questão (Ref.: 201511517388) Pontos: 0,5 / 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 thread B está utilizando o valor de A, assim como a thread D está utilizando 
o valor de B. Ou seja ambas necessitam do valor de A para a sua operação, causando 
uma região crítica, ou seja ambas estão compartilhando o valor de A em diferentes 
processos. Solução: Na thread D deveria utilizar o valor da Thread C, pois esta não está 
sendo utilizada em nenhum outro processo. 
 
 
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.: 201511567805) Pontos: 0,5 / 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: O função do escalonador é de determinar em uma fila de prontos qual processo 
será executado primeiro. O dispatcher coloca o processo em estado de pronto. O 
escalonador depende do dispatcher. 
 
 
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.: 201511522516) Pontos: 1,0 / 1,0 
Um sistema operacional multitarefa tem como característica fundamental: 
 
 
Ser também multiusuário 
 A execução concorrente de processos 
 
Uso de interface gráfica 
 
A execução simultânea de processos 
 
Uso simultâneo de mais de uma unidade de disco. 
 
 4a Questão (Ref.: 201511521408) Pontos: 1,0 / 1,0 
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. 
 
 O escalonador também pode selecionar processo em ESPERA para execução. 
 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 
 A transição entre os três estados (PRONTO, ESPERA E EXECUÇÃO) é possível 
em ambos os sentidos. 
 O estado de ESPERA representa o processo aguardando o fim da fatia de tempo 
de umprocesso em EXECUÇÂO 
 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) 
 
 
 5a Questão (Ref.: 201511744039) Pontos: 1,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.F - 3.V 
 
1.V -2.F - 3.F 
 
1.V -2.V - 3.V 
 
1.F - 2.F - 3.V 
 
1.F - 2.V - 3.F 
 
 
 6a Questão (Ref.: 201512078470) Pontos: 1,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: 
 
 
Espera ocupada 
 
Bloqueio 
 Starvation 
 
Deadlock 
 
Exclusão mútua 
 
 7a Questão (Ref.: 201512116450) Pontos: 1,0 / 1,0 
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 o compartilhamento de algum recurso 
que não permite o acesso concomitante por mais de um processo 
 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 
 
 8a Questão (Ref.: 201511521406) Pontos: 1,0 / 1,0 
Os sistemas operacionais criam estruturas de controle, chamadas processo, para 
controlar a execução dos programas de usuário. Essa estrutura registra informações 
sobre a situação do processo durante todo seu processamento, sendo uma dessas 
informações o estado do processo. Quanto aos estados básicos de um processo podemos 
afirmar que: 
 
 
Ao solicitar uma operação de E/S (por exemplo, entrada de dados pelo usuário via 
teclado) um processo que esteja em execução fica aguardando a conclusão da 
operação no estado de pronto 
 
O estado de execução está diretamente associado aos dispositivos de E/S, ou seja, 
um processo que aguarda a conclusão de um operação de E/S encontra-se nesse 
estado 
 O escalonador seleciona processos que estejam no estado de pronto e os coloca em 
execução, obedecendo os critérios estabelecidos (tempo, prioridade) 
 
Não há nenhuma relação entre os estados de pronto e de execução 
 
Sempre que um processo é criado, ele entra no estado de execução sem 
necessidade de escalonamento. 
 
 
 9a Questão (Ref.: 201512127103) Pontos: 0,5 / 0,5 
A maioria dos sistemas operacionais da atualidade utiliza o recurso chamado Memória 
Virtual. Uma das funções da Memória Virtual é a paginação ou troca (swapping). Assinale 
a alternativa que contém a afirmação correta a respeito do swapping. 
 
 
O swapping é um mecanismo necessário em computadores de 64 bits que permite o 
endereçamento de memórias superiores a 4 Gbytes. 
 
Swapping é a capacidade de troca de componentes de hardware de um computador, 
mesmo que o mesmo esteja ligado. 
 
A principal função do swapping é impedir que um processo utilizeendereço de 
memória que não lhe pertença. 
 Swapping possibilita ao sistema operacional e às aplicações o uso de mais memória 
do que a fisicamente existente em um computador. 
 
O swapping é uma técnica de endereçamento que faz com que cada processo 
enxergue sua área de memória como um segmento contíguo. 
 
 10a Questão (Ref.: 201512127142) Pontos: 0,5 / 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 blocos e a caracteres 
 
Orientados a páginas e segmentos 
 
Orientados à páginas e blocos 
 
Orientados a hardware e software 
 
Orientados a usuários e ao equipamentos 
 
 
 
Período de não visualização da prova: desde 16/11/2017 até 28/11/2017.

Continue navegando