By: Ariadne Gomes.
Nascido
- > Pronto - > Em execução --> em
espera
Exercícios
fixação Sistemas Operacionais
1.
Defina
os seguintes estados de um processo:
Estado de execução: o processo está sendo executado em um processador.
Estado de pronto: o processo poderia ser executado em um processador se
houvesse algum disponível.
Estado bloqueado: o processo está aguardando a ocorrência de algum
evento para prosseguir.
2.
Liste
abaixo serviços fundamentais aos processos prestados pelos Sistemas
Operacionais.
Criam processos, destroem processos, retomam processos,
mudam a prioridade de um processo, bloqueiam processos, acordam(ativam)
processos, despacham processos e capacitam os processos à comunicação
interprocessos.
3. O que significa Estados de um Processo?
Significa que um processo passa por uma série de estados de processo
distinto, são eles:
Estado de
execução: o processo está sendo executado em um processador.
Estado de
pronto: o processo poderia ser executado em um processador se houvesse algum
disponível.
Estado
bloqueado: o processo está aguardando a ocorrência de algum evento para
prosseguir.
4.
O
que significa Estados de Transição?
Existem 4 tipos de estados de transição, são eles: quando
um processo é despachado ele transita do ponto de pronto para em execução (1),
quando o quantum de um processo expira, ele transita de em execução para pronto
(2), quando um processo é bloqueado ele transita de em execução para bloqueado
(3) e quando um evento ocorre ele transita de bloqueado para pronto (4).
5.
Quais
informações são mantidas num PCB?
Número de identificação de processo, estado do processo,
contador de programa, prioridade de escalonamento, credenciais, um ponteiro
para o processo pai, ponteiros para os processos filhos, ponteiros para
localizar os dados e instruções do processo na memória e ponteiros para
recursos alocados.
6.
Defina
o que é suspensão de um processo.
É quando o processo é retirado indefinidamente da disputa
por tempo em um processador, sem ser destruído. É útil para detectar ameaças à
segurança e para depuração de software.
7.
O
que é chaveamento de contexto?
É a troca do processo em execução por um processo
previamente pronto.
8.
Defina
Thread.
É às vezes chamado de processo leve. Existem threads de
instrução e de controle. Os threads compartilham espaço de endereço e outras
informações globais com seu próprio processo. Devem ser gerenciados pelo
sistema operacional ou pela aplicação de usuário.
9.
Qual
ou quais os principais motivos para a criação de Threads?
Os threads tornaram-se proeminentes por cauda de
tendências subsequentes em relação: Ao projeto de software, ao desempenho e à cooperação.
Todo thread transita entre uma série de estados, os threads e os processos têm
muitas operações em comum.A criação de thread não requer que o sistema
operacional inicialize recursos compartilhados entre os processos pai e os
respectivos threads.
10. Quais são os estados de uma Thread?
Estado nascido, estado pronto, estado em execução, estado
morto, estado bloqueado, estado de espera, estado adormecido.
11. Como é o ciclo de vida de uma Thread?
--> adormecido
--> morto
--> bloqueado
12. Quais são as operações de Threads que
são comuns a processos?
Criar, sair, suspender, retomar, dormir, acordar.
13. Sobre operações com Threads defina as
seguintes:
a. Cancelar :
indica que um thread deve ser terminado, mas não garante que será terminado
porque os threads podem mascarar o sinal de cancelamento.
b. Associar:
Para que um thread primário aguarde até que todos os outros terminem, ele
associa a esses threads. O thread que se associa é bloqueado até que o thread
ao qual ele se associou termine.
14. Quantos e quais são os modelos de
Threads?
São três os modelos de Threads: Threads de usuário, de
núcleo e uma combinação de ambos.
15. Defina:
a. Threads de usuários:
executam operações de suporte a threads no espaço do usuário.
b.
Threads
de núcleo: tentam resolver as limitações dos threads de usuário
mapeando cada thread para o seu próprio contexto de execução.
c.
Thread
de usuários/núcleos (combinação):Implementação da combinação
de threads de usuário e de núcleo.
16)
Quais
são as três finalidades principais de um sistema operacional?
·
Oferecer um ambiente para um usuário de
computador executar programas no hardware de forma eficiente e conveniente
·
Alocar os recursos separados do computador de
acordo com a necessidade para a solução de determinado problema
·
Atuar como um programa de controle fazendo a
supervisão da execução dos programas do usuário e gerenciando a operação e
controle dos dispositivos de E/S.
17)
Quais são
as principais diferenças entre sistemas operacionais para computadores de
grande porte (mainframes) e computadores pessoais?
Geralmente
os sistemas operacionais para computadores de grande porte (mainframes) possuem
requisitos mais simples do que para computadores pessoais e precisam alternar
rapidamente entre diferentes tarefas. Eles não precisam se preocupar com a
interação comum usuário tanto quanto um computador pessoal. Como resultado, um
sistema operacional para computador pessoal, precisa se preocupar com o tempo
de resposta para um usuário interativo e com o compartilhamento de tempo.
18)
Liste as
quatro etapas que são necessárias para se executar um programa em uma máquina
completamente dedicada.
·
Reservar tempo de máquina.
·
Carregar o programa manualmente para a memória.
·
Carregar o endereço inicial e iniciar a
execução.
·
Monitorar e controlar a execução do programa a
partir do console.
4 4) Enfatizamos a necessidade de que um sistema
operacional faça uso eficaz do hardware de computação. Quando é apropriado que
um sistema operacional deixe de lado esse princípio e “desperdice” recursos?
Por que esse sistema não é realmente desperdiçador?
Sistemas
monousuários devem maximizar o uso do sistema para o usuário. Uma GUI poderia
“desperdiçar” ciclos de CPU, mas otimiza a interação do usuário com o sistema.
19) Qual é a
principal dificuldade que um programador precisa contornar na escrita de um
sistema operacional para um ambiente de tempo real?
A principal dificuldade é manter
o sistema operacional dentro das restrições de tempo fixas de um sistema de
tempo real. Se o sistema não completar uma tarefa em certo período de tempo, ele
pode causar uma quebra do sistema inteiro que está executando. Portanto, ao
escrever um sistema operacional para um sistema de tempo real, o desenvolvedor
precisa estar certo de que esses esquemas de escalonamento não permitem que o
tempo de resposta ultrapasse a restrição de tempo.
20) Considere
as diversas definições do sistema operacional. Considere se o sistema operacional
deverá incluir aplicações como navegadores Web e programas de correio.
Argumente tanto contra como a favor, e dê suporte à sua resposta.
Aplicações como navegadores Web
e ferramentas de e-mail estão realizando um papel cada vez mais importante nos
sistemas desktop modernos. Para cumprir esse papel, eles precisam ser incorporados
como parte do sistema operacional. Ao fazer isso, eles podem oferecer melhor
desempenho e melhor integração com o restante do sistema. Além disso, essas
aplicações importantes podem ter o mesmo estilo do software do sistema
operacional.
21) Como a
distinção entre modo kernel e modo usuário funciona como uma forma rudimentar
de sistema de proteção (segurança)?
Estabelecendo um conjunto de
instruções privilegiadas que só possam ser executadas quando estiver no modo
monitor, o sistema operacional tem garantia de controle do sistema inteiro o
tempo todo.
8) Alguns computadores protegiam o sistema
operacional colocando – o em uma partic]cão da memória que não poderia ser
modificada pelo job do usuário ou pelo próprio sistema operacional. Descreva
duas dificuldades que você acredita que poderiam surgir com tal esquema.
Os dados exigidos pelo sistema
operacional (senhas, controles de acesso, informações contábeis etc.) teriam de
ser armazenados ou passados pela memória desprotegida e, portanto, estariam
acessíveis a usuários não autorizados.
22)A internet
é uma LAN ou uma WAN?
Wan.
23) Quais
são as cinco principais atividades de um sistema operacional em relação à
gerência de processos?
·
A criação e a exclusão de processos do sistema e
do usuário.
·
A suspensão e a retomada de processos.
·
A provisão de mecanismos para o sincronismo de
processo.
·
A provisão de mecanismos para a comunicação
entre processos.
·
A provisão de mecanismos para o tratamento de
deadlock.
24)Qual é a
finalidade dos programas do sistema?
Os programas de sistema podem
ser considerados como pacotes de chamadas de sistema úteis. Eles oferecem a
funcionalidade básica para os usuários, e por isso os usuários não precisam
escrever seus próprios programas para solucionar problemas comuns.
25) Liste
cinco serviços fornecidos por um sistema operacional. Explique como cada um
oferece conveniência aos usuários. Explique também em quais casos seria
impossível para os programas em nível de usuário oferecerem esses serviços?
·
Execução de programa. O sistema operacional
carrega o conteúdo (ou seções) de um arquivo para a memória e inicia sua
execução. Um programa em nível de usuário poderia não ser confiável para alocar
devidamente o tempo de CPU.
·
Operações de E/S. Discos, fitas, linhas seriais
e outros dispositivos precisam ter comunicação em um nível muito baixo. O
usuário só precisa especificar o dispositivo e a operação que atuará sobre ele,
enquanto o sistema converte essa requisição em comandos específicos do
dispositivo ou controlador. Não se pode confiar que os programas no nível do
usuário acessarão apenas os dispositivos aos quais devem ter acesso e que
somente os acessarão quando não estiverem sendo usados.
·
Manipulação do sistema de arquivos. Existem
muitos detalhes na criação, exclusão, alocação e nomeação de arquivos que os
usuários não terão de realizar. Os blocos de espaço no disco são usados por
arquivos e precisam ser rastreados. A exclusão de um arquivo exige a remoção
das informações do arquivo de nomes e a liberação dos blocos alocados. As
proteções também precisam ser verificadas para garantir o acesso apropriado ao
arquivo. Os programas do usuário não poderiam garantir a aderência aos métodos
de proteção, nem se pode confiar neles para alocar apenas blocos livres e desalocar
blocos na exclusão do arquivo.
·
Comunicações. A troca de mensagens entre os
sistemas requer que as mensagens sejam transformadas em pacotes de informação,
enviadas ao controlador de rede, transmitidas por um meio de comunicação e
remontadas pelo sistema de destino. É preciso que haja ordem nos pacotes e
correção de dados. Novamente, os programas do usuário não poderiam coordenar o
acesso ao dispositivo da rede, ou então poderiam receber pacotes destinados a
outros processos.
·
Detecção de erros. A detecção de erros ocorre
nos níveis de hardware e de software. No nível de hardware, todas as
transferências de dados precisam ser inspecionadas para garantir que os dados não
tenham sido adulterados em trânsito. Todos os dados na mídia precisam ser
verificados para garantir que não sejam alterados desde que foram gravados na
mídia. No nível de software, a mídia precisa ser verificada em busca da
consistência dos dados; por exemplo, se a quantidade de blocos de armazenamento
alocados e não alocados combina com a quantidade total no dispositivo. Os erros
são constantemente independentes do processo (por exemplo, a adulteração dos
dados em um disco), de modo que é preciso haver um programa global (o sistema
operacional) que trate de todos os tipos de erros. Além disso, processando os
erros pelo sistema operacional, os processos não precisam conter código para
apanhar e corrigir todos os erros possíveis em um sistema.
Baixar Exercícios de Fixação: Aqui.
Baixar Exercícios de Fixação: Aqui.
Comentários
Postar um comentário