sábado, 6 de outubro de 2018

SISTEMAS OPERACIONAIS - AULA 02 - PROCESSOS

Processo é um conceito chave no funcionamento de um Sistema Operacional:

I. Um processo é um programa em execução.
II. Cada processo possui instruções que serão executadas e um espaço de endereçamento em que pode ler e escrever.
III. Um processo pode resultar na execução de outros processos, chamados de processos filhos, que compartilham o espaço de endereçamento com o processo pai.

Assinale a alternativa correta:
I e III estão corretas.
II e III estão corretas.
I e II estão corretas.
Todas estão corretas.
Somente a I está correta.


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:
Não há nenhuma relação entre os estados de pronto e de execução
O escalonador seleciona processos que estejam no estado de pronto e os coloca em execução, obedecendo os critérios estabelecidos
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
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
Sempre que um processo é criado, ele entra no estado de execução sem necessidade de escalonamento


Marque a opção que melhor representa a afirmação a seguir. "Armazena o conteúdo dos registradores gerais da UCP, além dos registradores de uso específico, como program counter (PC), stack pointer (SP) e registrador de status".
Contexto de Software
Contexto de Hardware
Espaço de Endereçamento
Thread
Limites


Qual a diferença entre processos e threads?
Quando um processo pai morre seus filhos morrem. Já em threads isso não funciona assim.
Processos "falam" entre si e Threads não.
Processos tem estados e divisões. Já threads não tem.
Processos se comunicam através do espaço de endereçamento. Threads através de mensagens.
Uma thread pode alterar o conteúdo da memória de outra, já processo nã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:
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.
Os processos I/O-bound podem levar vantagem  em qualquer escalonamento baseado composto com critérios de prioridade
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
Não faz diferença o tipo de escalonamento, pois sempre os processos CPU-bound levam vantagem sobre os processos I/O-bound
Independente do tipo de escalonamento, os processos I/O-bound levam vantagem sobre os processos CPU-bound


"O Sistema deve ser capaz de carregar um programa na memória e executá-lo. O programa deve poder terminar sua execução tanto em modo normal quanto anormal (indicando o erro)". O texto se refere a qual serviço do sistema operacional?
Execução de Programas;
Contabilização;
Alocação de recursos;
Manipulação de sistema de Arquivos;
Operação de I/O;


Chama-se de processo a instância de um programa em execução . Cada processo no sistema pode estar em algum de seus estados em certo momento. Um processo no estado executando passa para o estado pronto, quando:
ocorre quando o processo deve aguardar um recurso
ocorre quando o processo é interrompido e novo processo será selecionado
término do programa
ocorre quando a solicitação de recurso é atendida
ocorre apenas na admissão


Existem três estados de um processo: Pronto, Executando e Bloqueado. Com relação as estados de um processo, as seguintes afirmações são verdadeiras (V) ou falsas (F)?
( ) Quando um processo que está Executando não pode continuar sua execução por necessitar de algum evento para continuar (E/S, por exemplo) ele passa para o estado de Pronto.
( ) Um processo que está no estado Pronto passa para o estado Executando quando é escolhido pelo Escalonador de Processos.
( ) Um processo que está no estado Bloqueado passa para o estado Pronto quando o evento esperado pelo processo ocorre.
( ) Em um computador multiprogramado vários processos podem estar no estado de Pronto simultâneamente.

A alternativa que corresponde ao preenchimento das colunas, na sequência, é:
F, V, F, V
V, V, V, V
F, V, V, V
V, F, V, V
F, V, V, F


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 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 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 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 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


Qual a diferença básica entre um processo e um programa?
Um processo é um programa em disco. Um programa é um processo em execução.
Um processo é um thread. Um programa é um arquivo em disco.
Um programa é um processo em execução. Um processo é um arquivo em disco.
Um processo é um programa em execução. Um programa é um arquivo em disco.
Um programa é um conjunto de processos. Um processo é uma unidade básica.


Um processo, segundo Machado, é formado por três partes, conhecidas como contexto de hardware, contexto de software e espaço de endereçamento.A figura ilustra, de maneira abstrata, os componentes da estrutura de um processo, que juntos, mantêm todas as informações necessárias a execução de um programa. Sobre os componentes é correto afirmar que:
o contexto de software armazena o conteúdo dos registradores gerais da UCP, além dos registradores de uso específico, como program counter(PC), stack pointer (SP) e registrador de status(PSW).
o contexto de hardware de um processo é composto por três grupos de informações sobre o processo:identificação, quotas e privilégios.
o contexto de hardware mantém informações nos registradores do processador, enquanto um processo está em execução, mas não pode salvá-las caso o processo seja interrompido.
o espaço de endereçamento armazena o conteúdo dos registradores gerais da UCP, além dos registradores de uso específico, como program counter(PC), stack pointer (SP) e registrador de status(PSW).
o contexto de hardware mantém informações nos registradores do processador, enquanto um processo está em execução, podendo salvá-las caso o processo seja interrompido.


A maioria dos sistemas operacionais conta com programas que resolvem problemas comuns ou desenvolvem operações comuns. Tais programas incluem navegadores de WEB, Processadores e formatadores de texto, geradores de planilhas, sistemas de banco de dados. Como são conhecidos esses programas?
Programas Nativos;
Programas residentes;
Programas de sistemas;
Sistemas integrados
Aplicativos;


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 é bloqueado.
III Quando termina a fatia de tempo do processo em execução.
Todas estão incorretas.
Todas estão corretas.
Apenas I e III estão corretas.
Apenas I e II estão corretas.
Apenas II e III estão corretas.


Um processo é formado por três partes onde guarda todas as informações do programa em execução, analise as afirmativas sobre estas partes:
I. O contexto de hardware não ocorre em sistemas de tempo compartilhado (multiprogramados), no qual há um revezamento na utilização do processador pelos processos.
II. Através do contexto de hardware, o sistema operacional é capaz de efetuar a troca de um processo por outro no processador, esta operação é conhecida como troca de contexto.
III. A troca de contexto envolve os registradores do processador. Um processador possui vários registradores entre os de usos gerais e os especificos, tais como o Program Conter e o stack Pointer.
IV. Quando um processo é criado, o sistema operacional especifica os limites e características de recursos que o processo pode alocar. Estas informações são armazenadas no contexto de  software.
V. O espaço de endereçamento, é responsável pela execução das instruções de um programa, para isso as instruções e os dados do programa são carregados em uma área de memória pertencentes ao processo para serem executados.
Somente as afirmativas I, III e V são verdadeiras.
As afirmativas I, II, III, IV e V são verdadeiras.
Somente as afirmativas II, III e IV são verdadeiras.
Somente as afirmativas II e V são verdadeiras.
Somente as afirmativas I, II e IV são verdadeiras.


Um processo preemptivo é aquele que:
Pode ser interrompido contudo há prejuízo ao seu processamento
Que executa por tempo indeterminado cabendo somente ao kernel liberar o processador
Que não pode liberar o processador
Pode ser interrompido sem que haja prejuízo ao seu processamento
Que executa por tempo indeterminado cabendo somente a ele liberar o processador


Em um sistema multiprogramável há um padrão de compartilhamento do processador entre os diversos processos em execução. Conforme avança a execução de um processo, o seu estado pode ser alterado. Existem, basicamente, três estados de um processo: Pronto, Executando e Em Espera. Com relação as estados de um processo, é incorreto afirmar que:
e) Um processo que está Executando passa para o estado de Pronto se for preemptado pelo Escalonador de Processos
d) Um processo que está no estado Em Espera passa para o estado Pronto quando o evento esperado pelo processo ocorre.
b) Um processo que está no estado Pronto passa para o estado Executando quando é escolhido pelo Escalonador de Processos.
a) Em um computador multiprogramado vários processos podem estar no estado de Pronto simultâneamente
c) Quando um processo que está Executando não pode continuar sua execução por necessitar de algum evento para continuar (E/S, por exemplo) ele passa para o estado de Pronto


Suponha que um usuário acionou um programa que, ao ser carregado, solicitou a digitação de uma senha. Quando o programa foi acionado, o processo passou pelos estados "pronto" e "executando". Em seguida o programa ficou no estado "espera", pois dependia de uma operação de E/S (leitura do teclado) para prosseguir. Quando o usuário informar a senha o processo passará do estado "espera" diretamente para o estado "execução"?
sim, pois independente da quantidade de CPU´s ele será executado.
Não. O processo passa para o estado "pronto" e aguarda até que o sistema operacional o selecione para execução.
Sim. Mas somente se o computador tiver mais de uma CPU.
Não. O processo ficará em estado de "espera" e aguarda até que o sistema operacional o selecione para execução.
Sim. Assim que liberar o processador ele será executado.


Uma alternativa para o aumento de desempenho de sistemas computacionais é o uso de processadores com múltiplos núcleos, chamados multicores. Nesses sistemas, cada núcleo, normalmente, tem as funcionalidades completas de um processador, já sendo comuns, atualmente, configurações com 2, 4 ou mais núcleos. Com relação ao uso de processadores multicores, e sabendo que threads são estruturas de execução associadas a um processo, que compartilham suas áreas de código e dados, mas mantêm contextos independentes, analise as seguintes asserções. Ao dividirem suas atividades em múltiplas threads que podem ser executadas paralelamente, aplicações podem se beneficiar mais efetivamente dos diversos núcleos dos processadores multicores
**************************porque**************************
o sistema operacional nos processadores multicores pode alocar os núcleos existentes para executar simultaneamente diversas seqüências de código, sobrepondo suas execuções e, normalmente, reduzindo o tempo de resposta das aplicações às quais estão associadas.
Acerca dessas asserções, assinale a opção correta.
Tanto a primeira quanto a segunda asserções são proposições falsas.
As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da primeira.
As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira.
A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira.
A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa.


Suponha que um usuário acionou um programa que, ao ser carregado, solicitou a digitação de uma senha. Quando o programa foi acionado, o processo passou pelos estados "pronto" e "execução". Em seguida o programa ficou no estado "espera", pois dependia de uma operação de E/S (leitura do teclado) para prosseguir. Quando o usuário informar a senha o processo passará para qual estado?
CRIADO
TERMINADO
EXECUÇÃO
PRONTO
ESPERA


Em sistemas multiprogramáveis os processos podem assumir diferentes estados. Os três estados mais importantes são: running (execução); ready (pronto); e wait (espera). Mudanças entre esses estados podem ocorrer a qualquer momento. Assinale dentre as assertivas seguir a unica mudança de estado que NÃO pode acontecer:
EXECUÇÃO para ESPERA
EXECUÇÃO para PRONTO
ESPERA para EXECUÇÃO
PRONTO para EXECUÇÃO
ESPERA para PRONTO

Nenhum comentário:

Postar um comentário