sexta-feira, 29 de março de 2013

Sistemas Operacionais - 5º Período.

By: Ariadne Gomes.


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?

Nascido - > Pronto - > Em execução     -->      em espera
                                                                 -->       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.


Nenhum comentário:

Postar um comentário