Exercícios de Sistemas operacionais


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
 Certo1.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.
 CertoO 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:
 CertoSistemas multitarefa
bibliotecas de software
dispositivos de hardware como teclado e disco
dispositivos de hardware como monitor e impressora
comunicação de dados
Considere uma aplicação baseada em threads em um sistema operacional com suporte a threads de kernel. Se uma das threads desta aplicação for bloqueada para aguardar um acesso ao disco podemos afirmar que as demais threads deste processo:
Serão bloqueadas também para impedir a ocorrência de erros
Terão a prioridade reduzida para aguardar o desbloqueio da thread que solicitou o acesso ao disco
 CertoPoderão continuar executando se não dependerem da thread que foi bloqueada
Não serão bloqueadas mas ficaram aguardando o desbloqueio da thread que solicitou o acesso ao disco
Serão interrompidas provocando um erro no processo.

Com relação ao conceito de thread, fluxo de dados, julgue os itens a seguir:
  I. São fluxos de execução distintos dentro de um mesmo processo.
  II. O kernel  N Ã O enxerga essas threads e, por esse motivo, não podem ser gerenciadas individualmente.
  III. O thread  N Ã O  é considerado uma solução eficiente para os sistemas modernos
 Todas estão corretas
Apenas II e III estão corretas
Apenas I e III estão corretas
 CertoApenas I e II estão corretas
Todas estão incorretas

Uma das diferenças entre threads de usuário e threads de kernel e:
 Uma thread de kernel bloqueada bloqueia todo o processo obrigatoriamente e a de usuário não bloqueia.

A thread de kernel depende de uma biblioteca para ser utilizada e a de usuário não depende.

Uma thread de kernel não pode executar instruções privilegiadas e a de usuário pode.

A thread de usuário não pode utilizar funções do sistema operacional e a thread de kernel pode.
 CertoA thread de kernel é escalonada diretamente pelo sistema operacional e a de usuário não.

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:
Opção Não Respondida
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.
Opção Marcada Opção Certa
Exceções partem de eventos síncronos e previsíveis.
Opção Não Respondida
É através das exceções que o sistema operacional sincroniza diferentes atividades, como rotinas, programas dos usuários e dispositivos.
Opção Não Respondida
O mecanismo de interrupções ser implementado em sistemas operacionais multitarefa e monotarefa.
Opção Não Respondida
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.

 9a Questão (Ref.: 201202189604)


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


faço trabalhos avulsos de programação em php , javascript , html , VBA-EXCEL e EXCEL formulas avançadas . pode entrar em contato no whatsapp 83988596239. nós combinaremos os valores de acordo com a demanda.

Nenhum comentário:

Postar um comentário

Programando com JS 2 / 5 - Resto 2

  Desafio Leia um valor inteiro N . Apresente todos os números entre 1 e 10000 que divididos por N dão resto igual a 2. Entrada A ...