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.F | ||
1.F - 2.V - 3.F | ||
1.V -2.V - 3.V | ||
1.V - 2.F - 3.V | ||
1.F - 2.F - 3.V |
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 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 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 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 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 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 interrupções é fundamental para a existência de: | ||
Sistemas multitarefa | ||
bibliotecas de software | ||
dispositivos de hardware como teclado e disco | ||
dispositivos de hardware como monitor e impressora | ||
comunicação de dados |
1a Questão (Ref.: 201202189735) |
Durante a execução de um programa
podem ocorrer eventos inesperados, que causem um desvio forçado no fluxo de
execução de um programa. Esses eventos são conhecidos por interrupção ou
exceção. Em relação ao conceito de interrupção e exceção, é correto afirmar
que:
|
||
|
||
|
Uma grande diferença entre a
interrupção e a exceção é que no caso da interrupção o próprio programador
pode escrever uma rotina de tratamento, evitando que o programa seja
encerrado.
|
|
|
Exceções partem de eventos síncronos
e previsíveis.
|
|
|
É através das exceções que o sistema
operacional sincroniza diferentes atividades, como rotinas, programas dos
usuários e dispositivos.
|
|
|
O mecanismo de interrupções ser
implementado em sistemas operacionais multitarefa e monotarefa.
|
|
|
Uma exceção independe da instrução
que está sendo executada, pois é sempre gerada por algum evento externo ao
programa.
|
|
2a Questão
|
Para melhor análise do desempenho dos processos com os diferentes
tipos de escalonamento existentes, os processos são classificados em dois
tipos: CPU-bound e I/O-bound. Com esse conceito
definido podemos afirmar que:
|
||
|
||
|
Independente do tipo de escalonamento, os processos I/O-bound levam
vantagem sobre os processosCPU-bound
|
|
|
Os processos I/O-bound podem levar
vantagem em qualquer escalonamento baseado composto com critérios
de prioridade
|
|
|
Os processos CPU-bound levam vantagem em
escalonamentos feitos com o mecanismo de preempção por tempo, enquanto os
processos I/O-bound se beneficiam através de mecanismos de
prioridade dinâmica.
|
|
|
Não faz diferença o tipo de escalonamento, pois sempre os
processos CPU-bound levam vantagem sobre os processos I/O-bound
|
|
|
Os processos I/O-bound levam vantagem em
escalonamentos feitos com o mecanismo de preempção por tempo, enquanto os
processos CPU-bound se beneficiam através de mecanismos de
preempção por prioridade
|
|
3a Questão (Ref.: 201202417295)
|
Pontos: 0,5 / 0,5
|
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.F - 2.F - 3.V
|
|
|
1.F - 2.V - 3.F
|
|
|
1.V - 2.F - 3.V
|
|
|
1.V -2.V - 3.V
|
|
|
1.V -2.F - 3.F
|
|
4a Questão (Ref.: 201202189712)
|
P
|
Deadlock pode ser definido como uma
situação em que um processo aguarda por um recurso que nunca estará
disponível ou um evento que nunca ocorrerá. Para que ocorra a situação de
deadlock, algumas condições são necessárias simultaneamente. Assinale
alternativa que contém todas essas condições:
|
||
|
||
|
Exclusão mútua e espera por recurso.
|
|
|
Não-preempção.
|
|
|
Exclusão mútua e não-preempção.
|
|
|
Espera por recurso e não-preempção.
|
|
|
Exclusão mútua, espera por recurso e
não-preempção.
|
|
5a Questão (Ref.: 201202445700)
|
|
Considere as seguintes afirmativas
relativas à ocorrência de "deadlocks" (ou impasses).
I. A estratégia de tratamento de "deadlocks" conhecida como detecção requer que se determine uma condição suficiente a que eles ocorram. Uma vez determinada a condição, o tratamento por detecção consiste em verificar sua validade e, em caso afirmativo, concluir que existe um "deadlock". II. As estratégias conhecidas como prevenção e detecção para o tratamento de "deadlocks" são complementares uma à outra: Enquanto a primeira guia o projeto dos algoritmos de compartilhamento de recursos para que "deadlocks" jamais ocorram, a segunda trata de impedir que ocorram quaisquer condições necessárias à ocorrência de "deadlocks". III. Para que ocorra um "deadlock" é necessário que haja um ciclo de espera envolvendo um determinado conjunto de processos. Uma estratégia comum de prevenção é a criação de algoritmos de compartilhamento de recursos que impeçam a ocorrência desses ciclos. Assinale a alternativa CORRETA: |
||
|
||
|
Apenas as afirmativas I e III são
verdadeiras.
|
|
|
Apenas a afirmativa I é verdadeira.
|
|
|
Apenas a afirmativa II é verdadeira.
|
|
|
Apenas a afirmativa III é verdadeira.
|
|
|
Apenas as afirmativas II e III são
verdadeiras.
|
|
6a Questão (Ref.: 201202406725)
|
Pontos: 0,5 / 0,5
|
No gerenciamento de processos existem
várias estratégias de escalonamento. Correlacione os tipos de escalonamento com
a estratégia correspondente:
FCFS
- SJF - Round Robin
- Múltiplas Filas
I- o primeiro que chega é o primeiro
a ser atendido
II- o menor primeiro
III- escalonamento circular
IV- filas com prioridades diferentes
|
||
|
||
|
II - III - I - IV
|
|
|
III - I - II - IV
|
|
|
III - II - I - IV
|
|
|
I - II - III - IV
|
|
|
II - I - III - IV
|
|
7a Questão (Ref.: 201202194381)
|
Pontos: 1,0 / 1,0
|
No contexto de gerência de memória,
por que o algoritmo de substituição de páginas ótimo não pode ser implementado?
|
||
|
||
|
O algoritmo de substituição de
páginas ótimo não pode ser implementado porque não há poder computacional
suficiente nos dias atuais.
|
|
|
O algoritmo de substituição de
páginas ótimo não pode ser implementado porque é muito complexo.
|
|
|
O algoritmo de substituição de
páginas ótimo não pode ser implementado porque não é possível prever qual
página será menos acessada no futuro.
|
|
|
O algoritmo de substituição de
páginas ótimo não pode ser implementado porque exige uma quantidade de
memória muito grande.
|
|
|
O algoritmo de substituição de
páginas ótimo não pode ser implementado porque o hardware necessário seria
absurdamente caro.
|
|
8a Questão (Ref.: 201202409556)
|
|
Quais são as diferenças entre as
threads de usuário e threads suportado do kernel? Em que circunstâncias é um
tipo de "melhor" do que o outro?
|
|
|
|
| |
Gabarito: Threads de usuário não têm suporte no kernel, então eles são muito baratos para criar, destruir, e alternar. Threads de kernel são mais caros porque são necessárias chamadas do sistema para criar e destruí-las e o kernel deve programá-los. Estas são mais poderosos porque eles são programados de forma independente e podem ser bloqueadas individualmente. |
|
Suponha um posto de abastecimento que
venda apenas gasolina. Este posto tem 5 (cinco) caixas para que os clientes
façam o pagamento. Cada caixa executa uma instância de um programa que
atualiza o estoque (em litros) de gasolina. O arquivo que contém o estoque
fica em um servidor, sendo compartilhado entre os cinco caixas. Sempre que um
cliente faz o pagamento, o sistema do caixa faz, basicamente, três operações:
1.
Lê o arquivo de
estoque para saber a quantidade de litros que há em estoque.
2.
Subtrai do estoque a
quantidade de litros comprada pelo cliente.
3.
Grava o arquivo de
estoque com a quantidade de litros calculada no passo "2".
Considerando a situação exposta,
descreva que problemas podem decorrer do compartilhamento do recurso
"arquivo de estoque" pelos cinco processos executados de forma
concorrente.
|
|
|
|
| |
Gabarito: O arquivo de estoque pode ser gravado de forma inconsistente. Se um caixa já tiver executado o passo 1 ou 2 e ainda não tiver executado o passo 3 (ou seja, a gravação do arquivo) e outro caixa executar o passo 1, esse segundo caixa irá fazer uma leitura do arquivo de estoque desatualizado, desconsiderando a operação realizada pelo primeiro caixa. Dessa forma, quando o segundo caixa fizer a gravação, a operação realizada pelo primeiro caixa terá sido ignorada. |
|
10a Questão (Ref.: 201202194473)
|
|
Estamos terminando o primeiro semestre de 2010 e os
principais lançamentos no mercado da informática se concentram nos produtos
digitais portáteis, especialmente os netbooks, os tablets e os smartphones. E
esse nicho do mercado desperta a atenção e acirra a briga das empresas pelos
sistemas operacionais. O iPhone OS4 (da Apple), o Windows 7 (da Microsoft) e
o Android (da Google) são alguns dos mais "badalados" nesse
momento, dos quais são demandadas características de gerenciamento de:
|
||
|
||
|
Memórias com tecnologia flash cada vez maiores e mais lentas, o que
faz crescer a necessidade de disco rígido externo para essas plataformas de
portáteis
|
|
|
Dispositivos de E/S genéricos como, por exemplo, leitores de Blu-Ray,
mini DV e teclados USB
|
|
|
Processadores específicos que consomem mais energia e por isso
aumentam a freqüência de recarga das baterias
|
|
|
O cenário apresentado não é aplicável, pois o mesmo não é uma
realidade de mercado.
|
|
|
Dispositivos de E/S mais específicos como, por exemplo, display
multitouch, webcam, cartões de memória
|
Nenhum comentário:
Postar um comentário