Вы находитесь на странице: 1из 4

Universidade Federal da Bahia

Lista #1 Sistemas Operacionais MATA58 *


Prof. Vinicius Petrucci

* Baseado no livro: Operating System Concepts, by Silberschatz, Galvin and Gagne, 2013.

1) Descreva os objetivos principais de um sistema operacional.

2) O que multiprogramao? Descreva as razes e benefcios em usar


multiprogramao.

3) Explique como a distino entre execuo em modo supervisor (kernel) e modo


usurio (userspace) uma forma bsica de proteo (segurana) do sistema
operacional.

4) Quais das seguintes instrues devem ser privilegiadas? (A) Set valor do relgio
(clock); (B) Ler valor do relgio (clock); (C) Limpar memria; (D) Desligar
interrupes; (E) Chavear modo usurio/kernel; (F) Acessar dispositivo E/S (e.g.,
disco).

5) Defina os conceitos: turnaround time, response time, e throughput.

6) Qual a principal dificuldade que um projetista deve lidar no desenvolvimento de


um sistema operacional de tempo real?

7) D duas razes pelas quais caches so teis. Quais os problemas que o uso de
caches resolvem e quais os problemas que causam?

8) Qual o propsito das chamadas de sistema (system calls)?

9) Quais so as principais atividades de um sistema operacional em relao ao


gerenciamento de processos?

10) Quais so as principais atividades de um sistema operacional com relao ao


gerenciamento de memria?

11) Qual o propsito do interpretador de comandos (e.g., shell BASH)? Por que
normalmente separado do kernel?

12) Quais so as chamadas de sistema (system calls) que devem ser executada por
um interpretador de comandos (shell) a fim de iniciar/executar um novo processo?
13) Usando o programa abaixo, diga qual valor ser exibido (em LINE A).

14) Incluindo o processo pai inicial, quantos processos so criados pelo programa
mostrado abaixo:

15) Quando um processo cria um novo processo usando o fork(), quais dos seguintes
estados so compartilhados entre o processo pai e o processo filho? (A) Stack
(pilha); (B) Heap; (C) Segmentos de memria compartilhada.

16) Apresente trs exemplos de programas em que multithreading pode fornecer


melhor desempenho do que uma soluo usando apenas uma thread (single-
threaded).
17) Descreva as aes tomadas pelo kernel para realizar a troca de contexto entre
threads.

18) Quais recursos so necessrios quando uma thread criada? Qual a diferena
entre a criao/gerenciamento de uma thread e de um processo?

19) Descrever quais circunstncias so mais adequadas para cada tipo de mecanismo
de sincronizao (bloqueio/lock): (1) spin-locks, (2) mutexes, (3) semforos e (4)
variveis de condio (condition wait/signal).

20) Explique por que spinlocks no so apropriados para sistemas com um nico
processador, porm so adequados em sistemas com mltiplos processadores.

21) Mostrar que, caso as operaes de wait() e signal() usadas em semforos no


forem executadas atomicamente, ento o principio da excluso mtua pode ser
violado.

22) Qual a diferena entre mutexes e semforos?

23) Ilustrar como um semforo binrio pode ser utilizado para implementar excluso
mtua entre n processos.

24) possvel ter um impasse (deadlock) envolvendo apenas um nico processo?


Explique sua resposta.

25) possvel ter um impasse (deadlock) entre duas ou mais threads de um nico
processo? Explique sua resposta.

26) Um algoritmo de escalonamento de CPU determina uma ordem para a execuo


de seus processos. Dado que temos N processos para serem escalonados em um
determinado processador, quantas formas diferentes de escalonamento so
possveis? D uma frmula geral em funo de um valor de N.

27) O que significa inanio (starvation) em um ambiente multitarefa?

28) Explique a diferena entre escalonamento preemptivo e no-preemptivo.

29) Considere os seguintes processos (P1, P2, e P3) que chegam no sistema para
execuo nos tempos indicados (arrival time) abaixo; e que cada processo ir
executar por tempo correspondente conhecido (burst time).

Para responder as questes abaixo, use escalonamento no-preemptivo e tome as


decises com base na informao que voc tem no tempo que a deciso de
escalonamento deve ser realizada.

a. Qual a mdia do turnaround time para esses processos usando o


algoritmo de escalonamento FCFS (first-come, first-serve)?
b. Qual a mdia do turnaround time para esses processos usando o
algoritmo de escalonamento SJF (shortest-job first)?

c. esperado que o algoritmo SFJ tenha melhor desempenho, mas note que
escolhemos rodar o processo P1 no tempo 0 porque no sabamos que dois
processos curtos iriam chegar logo depois. Calcule a mdia do turnaround
time considerando que a CPU esteja ociosa na primeira unidade de tempo e
s ento a partir do tempo 1 utilize o escalonamento SJF. Lembre-se de
que os processos P1 e P2 esto esperando durante esse tempo ocioso,
ento o tempo de espera (waiting time) pode crescer. Este algoritmo
poderia ser conhecido como um escalonamento que conhece o
comportamento futuro dos processos.

30) Muitos algoritmos de escalonamento de CPU so parametrizveis. Por exemplo, o


algoritmo RR (round-robin) requer um parmetro para indicar o quantum (time
slice). Esses algoritmos representam na verdade um conjunto de algoritmos (por
exemplo, o conjunto de algoritmos RR para todo quantum possvel). Um conjunto
de algoritmos pode incluir um outro (por exemplo, o algoritmo FCFS o algoritmo
RR com tamanho infinito de quantum). Qual a relao (se houver) entre os
seguintes pares de algoritmos:

a. Priority (baseado em prioridades) e SJF


b. Priority e FCFS
c. RR e SJF

31) Suponha que um algoritmo de escalonamento favorea os processos que tm


utilizado o tempo mnimo do processador no passado recente de execuo. Por
que esse algoritmo permite favorecer programas que realizam intensamente
operaes de E/S (processos I/O-bound) e ainda permite que os processos que
fazem uso intenso de CPU no morram por inanio (starvation)?

32) Cite duas diferenas entre endereos lgicos e fsicos.

33) Qual o papel da MMU (memory management unit)?

34) Por que os tamanhos de pginas devem ser potncias de 2?

35) Em que circunstncias ocorrem falhas de pgina (page faults)? Descreva as aes
tomadas pelo sistema operacional quando ocorre uma falha de pgina.

36) Considere a seguinte seqncia de referncia de pginas:

1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6.

Quantas falhas de pgina ocorreria para os seguintes algoritmos de substituio,


assumindo um, dois, trs, quatro, cinco, seis ou sete parties (frames)? Lembre-
se de que uma partio/frame uma subdiviso da memria fsica e todas as
parties se encontram inicialmente vazias; dessa forma, as primeiras pginas
nicas custaro todas uma falha cada uma.

a) Politica LRU
b) Politica FIFO
c) Politica tima

Вам также может понравиться