Exerccios Livros MAIA_Sistemas Operacionais

Embed Size (px)

Citation preview

Exerccios:Fundamentos de Sistemas Operacionais ___________________________________________________________________

Captulo 1 - Viso geral de um Sistema Operacional 1. Como seria utilizar um computador sem um sistema operacional? Quais so suas duas principais funes? 2. Explique o conceito de mquina virtual. Qual a grande vantagem em utilizar este conceito. 3. Defina o conceito de uma mquina de nveis ou camadas. 4. Quais os tipos de sistemas operacionais existentes? 5. Porque dizemos que existe uma sub-utilizao de recursos em sistemas monoprogramveis? 6. Qual a grande diferena entre sistemas monoprogramveis e sistemas multiprogramveis? 7. Quais as vantagens dos sistemas multiprogramveis? 8. Um sistema monousurio pode ser um sistema multiprogramvel? D um exemplo. 9. Quais so os tipos de sistemas multiprogramveis? 10. O que caracteriza o processamento batch? Quais as aplicaes podem ser processadas neste tipo de ambiente? 11. Como funcionam os sistemas de tempo compartilhado? Quais as vantagens em utiliz-los? 12. Qual a grande diferena entre sistemas de tempo compartilhado e tempo real? Quais as aplicaes so indicadas para sistemas de tempo real? 13. O que so sistemas com mltiplos processadores e quais as vantagens em utiliz-los? 14. Qual a grande diferena entre sistemas fortemente acoplados e fracamente acoplados? 15. O que um sistema fracamente acoplado? Qual a diferena entre sistemas operacionais de rede e sistemas operacionais distribudos?

_________________________________________________________________Prof. Marco Antonio Gomes

1

Exerccios:Fundamentos de Sistemas Operacionais ___________________________________________________________________

Captulo 2 - Conceitos de Hardware e Software 1. Quais so as unidades funcionais de um sistema computacional? 2. Quais so os componentes de um processador e quais so as suas funes? 3. Como a memria principal de um computador organizada? 4. Descreva os ciclos de leitura e gravao da memria principal. 5. Qual o nmero mximo de clulas endereadas e, arquiteturas com MAR de 16, 32 e 64 bits? 6. O que so memrias volteis e no-volteis? 7. Conceitue memria cache e apresente as principais vantagens de seu uso. 8. Diferencie as funes bsicas entre a memria principal e a memria secundria? 9. Diferencie as funes bsicas dos dispositivos de E/S? 10. Caracterize os barramentos processador-memria, E/S e backplane. 11. Como a tcnica de pipelining melhora o desempenho dos sistemas computacionais? 12. Compare as arquiteturas de processadores RISC e CISC. 13. Conceitue a tcnica de benchmark e explique a sua realizao. 14. Por que o cdigo-objeto gerado pelo tradutor ainda no pode ser executado? 15. Por que a execuo de programas interpretados mais lenta que a de programas compilados? 16. Quais as funes do linker? 17. Qual a principal funo do loader? 18. Quais as facilidades oferecidas pelo depurador? 19. Pesquise comandos disponveis em linguagens de controle de sistemas operacionais. 20. Explique o processo de ativao (boot) do sistema operacional.

_________________________________________________________________Prof. Marco Antonio Gomes

2

Exerccios:Fundamentos de Sistemas Operacionais ___________________________________________________________________

Captulo 3 - Concorrncia 1. O que concorrncia e como este conceito est presente nos sistemas operacionais multiprogramveis? 2. Por que o mecanismo de interrupo fundamental para a implementao da multiprogramao? 3. Explique o mecanismo de funcionamento das interrupes. 4. O que so eventos sncronos e assncronos? Como estes eventos esto relacionados ao mecanismo de interrupo e exceo? 5. D exemplos de eventos associados ao mecanismo de exceo. 6. Qual a vantagem de E/S controlada por interrupo comparada com a tcnica de polling? 7. O que DMA e qual a vantagem desta tcnica? 8. Como a tcnica de buffering permite aumentar a concorrncia em um sistema computacional? 9. Explique o mecanismo de spooling de impresso. 10. Em um sistema multiprogramvel, seus usurios utilizam o mesmo editor de textos (200Kb), compilador (300 Kb), software de correio eletrnico (200 Kb) e uma aplicao coorporativa (500 Kb). Caso o sistema no implemente reentrncia, qual o espao de memria principal ocupado pelos programas quando 10 usurios estiverem utilizando todas as aplicaes simultaneamente? Qual o espao liberado quando o sistema implementa reentrncia em todas as aplicaes? 11. Por que a questo da proteo torna-se fundamental em ambientes multiprogramveis?

_________________________________________________________________Prof. Marco Antonio Gomes

3

Exerccios:Fundamentos de Sistemas Operacionais ___________________________________________________________________

Captulo 4 - Estrutura do Sistema operacional 1. O que ncleo do sistema e quais so suas principais funes? 2. O que uma system call e qual a sua importncia para a segurana do sistema? Como as system calls so utilizadas por um programa? 3. O que so instrues privilegiadas e no-privilegiadas? Qual a relao dessas instrues com os modos de acesso? 4. Quais das instrues a seguir devem ser executadas apenas no mode kernel? Desabilitar todas as interrupes; Consultar a data e a hora do sistema; Alterar a data e a hora do sistema; Alterar informaes residentes no ncleo do sistema; Somar duas variveis declaradas dentro do programa; Realizar um desvio para uma instruo dentro do prprio programa; Acessar diretamente posies no disco. 5. Explique como funciona a mudana dos modos de acesso e d um exemplo de como um programa faz uso deste mecanismo. 6. Como o kernel do sistema operacional pode ser protegido pelo mecanismo de modos de acesso? 7. Compare as arquiteturas monolticas e de camadas.Quais as vantagens e desvantagens de cada arquitetura? 8. Como funciona o modelo cliente-servidor na arquitetura microkernel? Quais so as vantagens e desvantagens dessa arquitetura? 9. Por que a utilizao da programao orientada a objetos um caminho natural para o projeto de sistemas operacionais?

_________________________________________________________________Prof. Marco Antonio Gomes

4

Exerccios:Fundamentos de Sistemas Operacionais ___________________________________________________________________

Captulo 5 - Processo 1. Defina o conceito de processo. 2. Por que o conceito de processo to importante no projeto de sistemas multiprogramveis? 3. possvel que um programa execute no contexto de um processo e no execute no contexto de um processo e no execute no contexto de um outro? Por qu? 4. Quais partes compem um processo? 5. O que contexto de hardware de um processo e como a implementao da troca de contexto? 6. Qual a funo do contexto de software? Exemplifique cada grupo de informao. 7. O que espao de endereamento de um processo? 8. Como o sistema operacional implementa o conceito de processo? Qual a estrutura de dados indicada para organizar os diversos processos na memria principal? 9. Defina os estados (cinco) possveis de um processo. 10. D um exemplo que apresente todas as mudanas de estado de um processo, juntamente com o evento associado a cada mudana. 11. Diferencie processos multithreads, subprocessos e processos independentes. 12. Explique a diferena entre processos foreground e background. 13. Qual a relao entre o processo e a arquitetura microkernel? 14. D exemplos de aplicaes CPU-bound e I/O-bound. 15. Justifique com um exemplo a frase o sinal est para o processo assim como as interrupes e excees esto para o sistema operacional. 16. Explique como a eliminao de um processo utiliza o mecanismo de sinais.

_________________________________________________________________Prof. Marco Antonio Gomes

5

Exerccios:Fundamentos de Sistemas Operacionais ___________________________________________________________________

Captulo 6 - Thread 1. Como uma aplicao pode implementar concorrncia em um ambiente monothread? 2. Quais os problemas de aplicaes concorrentes desenvolvidas em ambientes monothreads? 3. O que um ambiente monothread e quais as vantagens de sua utilizao? 4. Explique a diferena entre unidades de alocao de recursos e unidade de escalonamento. 5. Quais as vantagens e desvantagens do compartilhamento do espao de endereamento entre threads de um mesmo processo? 6. Compare os pacotes de threads em modo usurio e modo kernel. 7. Qual a vantagem do scheduler activations comparado ao pacote hbrido? 8. D exemplos do uso de threads no desenvolvimento de aplicativos como editores de texto e planilhas eletrnicas. 9. Como o uso de threads pode melhorar o desempenho de aplicaes paralelas em ambientes com mltiplos processadores? 10. Quais os benefcios do uso de threads em ambiente cliente-servidor? 11. Como o uso de threads pode ser til em arquiteturas microkernel?

_________________________________________________________________Prof. Marco Antonio Gomes

6

Exerccios:Fundamentos de Sistemas Operacionais ___________________________________________________________________

Captulo 7 - Sincronizao e comunicao entre processos 1. Defina o que uma aplicao concorrente e d um exemplo de sua utilizao. 2. Considere uma aplicao que utilize uma matriz na memria principal para a comunicao entre vrios processos concorrentes. Que tipo de problema pode ocorrer quando dois ou mais processos acessam uma mesma posio da matriz? 3. O que excluso mtua e como implementada? 4. Como seria possvel resolver os problemas decorrentes do compartilhamento da matriz, apresentado anteriormente, utilizando o conceito de excluso mtua? 5. O que starvation e como podemos solucionar esse problema? 6. Qual o problema com a soluo que desabilita as interrupes para implementar a excluso mtua? 7. O que espera ocupada e qual o seu problema? 8. Explique o que sincronizao condicional e d um exemplo de sua utilizao. 9. Explique o que so semforos e d dois exemplos de sua utilizao: um para a soluo de excluso mtua e outro para a sincronizao condicional. 10. Apresente uma soluo para o problema dos Filsofos, que permita que os cincos pensadores sentem mesa, porm evite a ocorrncia de starvation e deadlocks. 11. Explique o que so monitores e d dois exemplos de sua utilizao: um para a soluo de excluso mtua e outro para sincronizao condicional. 12. Qual a vantagem da forma assncrona de comunicao entre processos e como esta pode ser implementada? 13. O que deadlock, quais as condies para obt-lo e quais so as solues possveis? 14. Em uma aplicao concorrente que controla o saldo bancrio em contas correntes, dois processos compartilham uma regio de memria onde esto armazenados os saldos dos clientes A e B. Os processos executam concorrentemente os seguintes passos:

Processo 1 (cliente A)

Processo 2 (cliente B) 7

_________________________________________________________________Prof. Marco Antonio Gomes

Exerccios:Fundamentos de Sistemas Operacionais ___________________________________________________________________

/* saque em A */ 1a s:=saldo_do-cliente_A; 1b x : = x 200; /* depsito em B */ 1d x := saldo_do_cliente_B; 1e x: = x + 100; 1f saldo_do_cliente_B : = x;

/* saque em B */ 2a. y: =saldo_do-cliente_A; 2b y : = y 200; 2d y := saldo_do_cliente_B; 2e y: = y + 200; 2c saldo_do_cliente_B : = y;

Supondo que os valores dos saldos de A e B sejam, respectivamente, 500 e 900, antes dos processos executarem, pede-se: a.) quais os valores corretos esperados para os saldos dos clientes A e B. b.) Quais os valores finais dos saldos dos clientes se a seqncia temporal de execuo das operaes for: 1a, 2a, 1b, 2b, 1c, 2c, 1d, 2d, 1e, 2e, 1f, 2f? c.) Utilizando semforos, proponha uma soluo que garanta a integridade dos saldos e permita o maior compartilhamento possvel dos recursos entre os processos, no esquecendo a especificao da inicializao dos semforos.

_________________________________________________________________Prof. Marco Antonio Gomes

8

Exerccios:Fundamentos de Sistemas Operacionais ___________________________________________________________________

Captulo 8 - Gerncia dos processadores 1. O que poltica de escalonamento de um sistema operacional? 2. Quais as funes do escalonador e do dispatcher? 3. Quais os principais critrios utilizados em uma poltica de escalonamento? 4. Diferencie os tempos de processador, espera, turnaround e resposta. 5. Diferencie os escalonamentos preemptivos e no-preemptivos. 6. Qual a diferena de escalonamento FIFO e circular? 7. Descreva o escalonamento SJF e o escalonamento por prioridades. 8. Qual a diferena entre preempo por tempo e preempo por prioridades? 9. O que um mecanismo de escalonamento preemptivo? 10. Que tipo de escalonamento as aplicaes de tempo real exigem? 11. O escalonamento por mltiplas filas com realimentao favorece processos CPU-bound ou I/O-bound? Justifique. 12. Considere que cinco processos sejam criados no instante de tempo 0 (P1,P2,P3,P4 e P5) e possuam as caractersticas descritas na tabela a seguir: Processo P1 P2 P3 P4 P5 Tempo de CPU 10 14 5 7 20 Prioridade 3 4 1 2 5

Desenhe um diagrama ilustrando o escalonamento dos processos e seus respectivos tempos de turnaround, Segundo as polticas especificadas a seguir. O tempo de troca de contexto deve ser desconsiderado. a) FIFO b) SJF c) Prioridade (nmero menor implica prioridade maior) d) Circular com fatia de tempo igual a 2 u.t. 13. Considere um sistema operacional com escalonamento por prioridades onde a avaliao do escalonamento realizada com um intervalo mnimo de 5ms. Neste sistema, os processos A e B competem por uma nica CPU. Desprezando os tempos de processamento relativo s funes do sistema operacional, a tabela a seguir fornece os estados dos processos A e B ao longo _________________________________________________________________Prof. Marco Antonio Gomes

9

Exerccios:Fundamentos de Sistemas Operacionais ___________________________________________________________________

do tempo, medido em intervalos de 5ms (E=execuo, P=pronto e W=espera). O processo A tem menor prioridade que o processo B. Proc A Proc B 00-04 05-09 10-14 15-19 20-24 25-29 30-34 35-39 40-44 45-49 P P E E E P P P E W E E W W P E E E W W

Proc A Proc B

50-54 55-59 60-64 65-69 70-74 75-79 80-84 85-89 90-94 100105 P E P P E E W W P E W P E E W W P E E -

a) Em que tempos A sofre preempo? b) Em que tempos B sofre preempo? c) Refaa a tabela anterior supondo que o processo A mais prioritrio que o processo B. 14. Como o valor do quantum pode afetar o grau de multiprogramao em um sistema operacional? Qual a principal desvantagem de um quantum com um valor muito pequeno? 15. Considere um sistema operacional que implemente escalonamento circular com fatia de tempo igual a 10 u.t. Em um determinado instante de tempo, existem apenas trs processos (P1,P2 e P3) na fila de pronto, e o tempo de CPU de cada processo 18, 4 e 13 u.t., respectivamente. Qual o estado de cada processo no instante de tempo T, considerando a execuo dos processos P1, P2 e P3, nesta ordem, e que nenhuma operao de E/S realizada? a) T = 8 u.t. b) T = 11 u.t. c) T = 33 u.t. 16. Considere um sistema operacional que implemente escalonamento circular com fatia de tempo igual a 10 u.t. Em determinado instante de tempo, existem apenas trs processos (P1,P2 e P3) na fila de pronto, e o tempo de CPU de cada processo 14, 4 e 12 u.t., respectivamente. Qual o estado de cad processo no instante de tempo T, considerando a execuo dos processos P1, P2 e P3, nesta ordem, e que apenas o processo P1 realiza operaes de E/S? Cada operao de E/S executada aps 5 u.t. e consome 10 u.t. 17. Existem quatro processos (P1, P2, P3 e P4) na fila de pronto, com tempos de CPU estimados em 9, 6, 3 e 5, respectivamente. Em que ordem os processos devem ser executados para minimizar o tempo de turnaraound dos processos? _________________________________________________________________Prof. Marco Antonio Gomes

10

Exerccios:Fundamentos de Sistemas Operacionais ___________________________________________________________________

18. Considere a tabela a seguir onde: Processo P1 P2 P3 P4 Tempo de CPU 40 20 50 30 Prioridade 4 3 1 3

Qual o tempo de turnaround mdio dos processos, considerando o tempo de troca de contexto igual a 0 e a 5 u.t. para os seguintes escalonamentos: a) b) c) d) FIFO SJF Circular com fatia de tempo igual a 20 u.t. Prioridades

_________________________________________________________________Prof. Marco Antonio Gomes

11

Exerccios:Fundamentos de Sistemas Operacionais ___________________________________________________________________

Captulo 9 - Gerncia de memria 1. Quais as funes bsicas de gerncia de memria? 2. Considere um sistema computacional com 40 Kb de memria principal e que utilize um sistema operacional de 10 Kb que implemente alocao contgua de memria. Qual a taxa de sub utilizao da memria principal para um programa que ocupe 20 Kb de memria? 3. Suponha um sistema computacional com 64 Kb de memria principal e que utilize um sistema operacional de 14 Kb que implemente alocao contgua de memria. Considere tambm um programa de 90 Kb, formado por um mdulo principal de 20 Kb e trs mdulos independentes, cada um com 10 Kb, 20 Kb e 30 Kb. Como o programa poderia ser executado utilizando-se apenas a tcnica de overlay? 4. Considerando o exerccio anterior, se o mdulo de 30 Kb tivesse seu tamanho aumentado para 40 Kb, seria possvel executar o programa? Caso no possa, como o problema poderia ser contornado? 5. Qual a diferena entre fragmentao interna e fragmentao externa da memria principal? 6. Suponha um sistema computacional com 128 Kb de memria principal e que utilize um sistema operacional de 64 Kb, que implemente alocao particionada esttica relocvel. Considere tambm que o sistema di inicializado com trs parties: P1 (8 Kb), P2 (24 Kb) e P3 (32 Kb). Calcule a fragmentao interna da memria principal aps a carga de trs programas: PA, PB e PC. a) P1 PA (6 Kb); P2