Sunteți pe pagina 1din 5

Sistemas Operacionais 2016.

2: Lista de exerccios - Unidade 1

Captulo 1 - Introduo a Sistemas Operacionais

1. Quais so as trs finalidades principais de um sistema operacional?


R: Executar programas do usurio e diminuir os seus problemas
Tornar o uso do computador mais conveniente
Usar o hardware do computador de uma forma mais eficiente

2. De que modo a diferena entre modalidade de kernel e modalidade de usurio funciona


como um tipo rudimentar de sistema de proteo (segurana)?
R: modalidade de usurio qualquer tipo de mecanismo que controle o acesso de
processos ou usurios aos recursos que um sistema de computao defina. Fazendo com
que tal mecanismo deve fornecer os meios para a especificao dos controles a serem
impostos e meios para sua imposio.
J a do Kernel, trata da responsabilidade de um sistema se defender contra
ataques externos e internos. Ex: vrus, vermes, ataque de recusa de servios( usa todos os
recursos de um sistema, fazendo com que os usurios legtimos fiquem fora do sistema),
roubo de identidade e roubo de servio

3. Quais das instrues a seguir devem ser privilegiadas?


a. Configurar o valor do temporizador (timer).
b. Ler o relgio.
c. Limpar a memria.
d. Emitir uma instruo de exceo.
e. Desativar interrupes.

f. Modificar entradas na tabela de s tatus de dispositivos.
g. Passar da modalidade de usurio para a de kernel.
h. Acessar dispositivo de I/O.

4. Cite duas razes que tornam os c aches teis. Que problemas eles resolvem? Que
problemas eles causam? Se um cache pode ser aumentado at o tamanho do
dispositivo para o qual est armazenando (por exemplo, um cache to extenso quanto
um disco), por que no lhe dar esse tamanho e eliminar o dispositivo?
R: Quando dois ou mais componente( realizam com velocidade diferente nas
transferncias) precisarem trocar dados. Os caches oferecem um buffer de velocidade
intermediria para solucionar o problema de transferncia. mais rpido o dispositivo
encontrar os dados na cache, do que esperar por um dispositivo mais lento. Os dados no
cache precisam ser mantidos consistentes com os dados nos componentes. O cache
tambm precisar ser atualizado caso algum componente tenha alguma mudana no valor
dos dados, esse um grande problema em sistemas multiprocessados em especial. Um
componente poder ser excludo por um cache que tenha o mesmo tamanho se ambos
tiverem a capacidade iguais para salvar o estado e se o cache for acessvel, porque
armazenamento que tende a ser mais rpido, tende a ser mais caro.

5. Em um ambiente de multiprogramao e tempo compartilhado, vrios usurios


compartilham o sistema simultaneamente. Essa situao pode resultar em diversos
problemas de segurana.
a. Cite dois desses problemas.
R: Roubo ou cpia de programas ou dados
Uso de recursos do sistema ( CPU, Memria, espao em disco,
perifricos) sem a contabilidade devida

b. Podemos assegurar o mesmo nvel de segurana em uma mquina de


tempo compartilhado como em uma mquina dedicada? Explique sua
resposta.
R: No, porque simplesmente mais fcil proteger uma mquina
dedicada por ter apenas 1 (um) usurio por vez. Enquanto que a de mquina de
tempo compartilhado fica um pouco mais difcil, devido o seu compartilhamento

6. Qual o objetivo das interrupes? Em que uma interrupo difere de uma exceo?
As excees podem ser geradas intencionalmente por um programa de usurio? Caso
possam, com que propsito?
R: Fazer notificaes do hardware para o SO. O que difere que a interrupes
manda notificaes do hardware para o SO, enquanto que exceo manda do programa
para o SO. Sim, com o propsito de alertar o SO sobre algum erro.

Captulo 2 - Estruturas do Sistema Operacional

7. Qual a finalidade das chamadas de sistema?


R: Fornecer uma interface com os servios disponibilizado por um SO

8. Qual a finalidade do interpretador de comandos? Por que ele , usualmente, separado


do kernel?
R: capturar e executar o prximo comando especificado pelo usurio. Porque o
interpretador de comandos tende a ficar em estado de mudanas.

9. Qual a finalidade dos programas de sistema?


R: fornece um ambiente apropriado para o desenvolvimento e execuo de
programas

10. Qual a principal vantagem da abordagem em camadas para o projeto de sistemas?


Quais as desvantagens da abordagem em camadas?
R: Simplicidade de simplicidade e depurao. As desvantagens da abordagem em
camadas o desempenho do sistema, porque cada pedido solicitado por uma aplicao vai
demorar para chegar at o dispositivo perifrico devido ao empilhamento de vrias
camadas. Outra desvantagem a definio inapropriada das diversas camadas, devido que
uma camada de nvel superior pode usar apenas camadas de nvel mais baixo, fazendo
com que o planejamento dessas camadas sejam cuidadosas.

11. Liste cinco servios fornecidos por um sistema operacional e explique como cada um
deles conveniente para os usurios. Em que casos seria impossvel que programas
de nvel de usurio fornecessem esses servios? Explique sua resposta.
R:

12. Como um sistema poderia ser projetado para permitir a escolha de sistemas
ootstrap
operacionais a partir dos quais realizar a inicializao? O que o programa b
teria de fazer?
R:
13. Os servios e funes fornecidos por um sistema operacional podem ser divididos em
duas categorias principais. Descreva resumidamente as duas categorias e discuta em
que elas diferem.

14. Quais so os dois modelos de comunicao entre processos? Quais so os pontos forte
e fracos das duas abordagens?
R:Troca de mensagens = pontos forte: facilidade na troca de mensagens por meio
da caixa de mensagem / pontos fracos: no tem certeza se todos os processos vo ler as
mensagens e pode tambm gerar sobrecarga.
Memria compartilhada = pontos forte: tem um bom desempenho, podendo
encher a memria toda ou no / pontos fracos: problemas na parte de proteo e
sincronizao entre os processos que esto sendo compartilhado a memria.

15. Qual a principal vantagem da abordagem de m icrokernel para o projeto de sistemas?


Como os programas de usurio e servios do sistema interagem em uma arquitetura de
microkernel? Quais so as desvantagens do uso da abordagem de m icrokernel?
R: Conseguir fazer extenso do SO. Caso o usurio queira acessar um arquivo, ele
teria que interagir com o servidor de arquivos, fazendo com que o programa cliente e
servidor nunca se interage diretamente. Deixando esse servio para o microkernel, fazendo
com que eles se comuniquem indiretamente. Sua desvantagem que seu desempenho
pode ser afetado pelo aumento do overhead de funes de sistema.

16. Quais so as vantagens do uso de mdulos de k ernel carregveis?


R: apresenta uma abordagem mais flexvel do que em camadas, devido ao mdulo
que pode chamar qualquer outro mdulo. Outra vantagem que os mdulos no precisam
invocar a transmisso de mensagens para se comunicarem, como acontece no
microkernels, deixando ento o mdulo de k ernel carregveis mais eficiente.

Captulo 3 - Processos

17. Quais so os possveis estados de um processo? Explique cada um.


R: O primeiro, estado o novo: o processo est sendo criado
O segundo, estado de executando: as instrues estos endo executadas
O terceiro, o estado de esperando: o processo est esperando algum evento
O quarto, o pronto: nesse, o processo est pronto para executar, apenas
esperando para ser atribudo a um processador
O quinto, o terminando: O processo termina sua execuo

18. Descreva as diferenas entre o scheduling de curto prazo, de mdio prazo e de longo
prazo.
R: Curto prazo: Processos prontos para serem executados, o de curto prazo oq
comanda quem vai sair ou ser executado.
Mdio prazo: Ta entre o curto e o longo prazo, ele pode pausar os processos
caso o sistema fique sobrecarregado
Longo prazo: Quem vai ser criado e depois colocado na fila de prontos

19. Descreva as aes executadas por um kernel para a mudana de contexto entre
processos.
R: No geral, o SO precisa salvar o estado do processo que est em execuo e
fazer um restauramento do estado de processo escalonado para poder ser executado em
seguida. Para salvar o estado de um processo includo valores de todos os registradores
da CPU, sem contar tambm da locao da memria. Essas trocas de contexto tambm
precisam realizar vrias operaes especficas, uma delas o esvaziamento de caches de
dados e instrues.
20. Incluindo o processo-pai inicial, quantos processos so criados pelo programa mostrado
no cdigo abaixo?

#include <stdio.h>
#include <unistd.h>
int main()
{
int i;
for (i = 0; i < 4; i++)
fork();
return 0;
}

Prtica: Construa uma rvore de processos no seu sistema operacional. Para obter
informaes sobre processos do sistema UNIX ou Linux, use o comando ps ael. Use o
comando man ps para obter mais informaes sobre o comando ps. O gerenciador de
tarefas, nos sistemas Windows, no fornece a ID do processo-pai, mas a ferramenta
monitor de processos, disponvel em technet.microsoft.com, fornece uma ferramenta de
rvore de processos.
Captulo 4 - Threads

21. Fornea dois exemplos de programao em que a criao de mltiplas threads


proporciona melhor desempenho do que uma soluo com uma nica thread.
R: Servidor Web que atenda para cada requisito em uma thread separada
Quando usa uma aplicao paralela, tendo uma multiplicao de matrizes em
que em alguma parte dela pode conter atuao em paralelo

22. Fornea dois exemplos de programao em que a criao de mltiplas threads n o


proporciona melhor desempenho do que uma soluo com uma nica thread.
R: Um programa que pssimo para usar threads so os sequenciais
O programa de Shell, que precisa t sempre monitorando seu prprio espao de
trabalho

23. Cite duas diferenas entre threads de nvel de usurio e threads de nvel de kernel. Sob
que circunstncias um tipo melhor do que o outro?
R: As threads no nvel de usurio no conhecidas pelo Kernel, mas o kernel est
informado sobre as threads do kernel. O Kernel escalonada pelas threads do kernel,
enquanto que as threads do usurio so escalonadas pela bibliotecas de threads.

24. Que recursos so usados quando um thread criada? Em que eles diferem daqueles
usados quando um processo criado?
R: A threads normalmente utilizam poucos recursos do que

25. Considere um sistema multicore e um programa com mltiplos t hreads escrito com o
uso do modelo muitos-para-muitos de criao de threads. Faa o nmero de t hreads de
nvel de usurio no programa ser maior do que o nmero de ncleos de processamento
no sistema. Discuta as implicaes de desempenho dos cenrios a seguir.
a. O nmero de threads do kernel alocados ao programa menor do que o nmero de
ncleos de processamento.
b. O nmero de threads do kernel alocados ao programa igual ao nmero de ncleos de
processamento.
c. O nmero de threads do kernel alocados ao programa maior do que o nmero de
ncleos de processamento, porm menor do que o nmero de threads de nvel de
usurio.

S-ar putea să vă placă și