Академический Документы
Профессиональный Документы
Культура Документы
1. O que ocorrncia e como este conceito esta presente nos sistemas operacionais multiprogramveis?
Concorrncia o princpio bsico para projeto e implementao dos sistemas operacionais multiprogramveis onde possvel o processador executar instrues em paralelo com operaes de E/S. Isso possibilita a utilizao concorrente da UCP por diversos programas sendo implementada de maneira que, quando um programa perde o uso do processador e depois retorna para continuar o processamento, seu estado deve ser idntico ao do momento em que foi interrompido. O programa dever continuar sua execuo exatamente na instruo seguinte quela em que havia parado, aparentando ao usurio que nada aconteceu.
6. Que a vantagem da E/S controlada por interrupo comparada com a tcnica spooling?
Na E/S controlada por interrupo, as operaes de E/S podem ser realizadas de uma forma mais eficiente. Em vez de o sistema periodicamente verificar o estado de uma operao pendente como na tcnica de spooling, o prprio controlador interrompe o processador para avisar do trmino da operao. Com esse mecanismo, o processador, aps a execuo de um comando de leitura ou gravao, permanece livre para o processamento de outras tarefas.
10. Em um sistema multiprogramvel, seus usurios utilizam o mesmo editor de textos (200Kb), compilador (300Kb), software de correio eletrnico (200Kb) e uma aplicao corporativa de (500Kb). 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?
Sem reentrncia, cada usurio teria sua cpia do cdigo na memria totalizando 10 x (200 Kb + 300 Kb + 200 Kb + 500Kb) = 12.000 Kb. Caso a reentrncia seja implementada, apenas uma cpia do cdigo seria necessria na memria principal (200 Kb + 300 Kb + 200 Kb + 500 Kb) totalizando 1.200 Kb. Um total de 10.800 Kb seria liberado da memria principal.
Processos e Threads
1. Defina o conceito de processo.
Um processo pode ser definido como o ambiente onde um programa executado. Este ambiente, alm das informaes sobre a execuo, possui tambm o quanto de recursos do sistema cada programa pode utilizar, como o espao de endereamento, tempo de processador e rea em disco.
3. possvel que um programa execute no contexto de um processo e no execute no contexto de umoutro? Por que?
Sim, pois a execuo de um programa pode necessitar de recursos do sistema que um processo pode possuir enquanto outro no.
O contexto de hardware armazena o contedo dos registradores gerais da UCP, alm dos registradores de uso especfico como program counter (PC), stack pointer (SP) e registrador de status. Quando um processo est em execuo, o seu contexto de hardware est armazenado nos registradores do processador. No momento em que o processo perde a utilizao da UCP, o sistema salva as informaes no contexto de hardware do 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?
O processo implementado pelo sistema operacional atravs de uma estrutura de dados chamada bloco de controle do processo (Process Control Block PCB). A partir do PCB, o sistema operacional mantm todas as informaes sobre o contexto de hardware, contexto de software e espao de endereamento de cada processo.
10. D um exemplo que apresente todas as mudanas de estado de um processo, juntamente com o evento associado a cada mudana.
Estado de Execuo: processo que est sendo processado pela UCP no momento. Estado de Pronto: processo que aguarda para ser executado. Estado de Espera: processo que aguarda por algum evento ou recurso para prosseguir processamento. Estado de Criao: processo cujo PCB j foi criado porm ainda no teve seu processamento iniciado. Estado de Terminado: processo que no pode ter mais nenhum programa executado no seu contexto, porm o sistema operacional mantm suas informaes de controle presentes na memria.
15. Justifique com um exemplo a frase o sinal est para o processo assim como as interrupes e excees esto para o sistema operacional.
Quando ocorre uma diviso por zero, por exemplo, o sistema operacional notificado do problema atravs de uma exceo. Por sua vez, o sistema deve notificar ao processo que gerou o problema atravs de um sinal.
b) Anlise Prtica
Na janela Gerncia de Processos, observe algumas informaes sobre o contexto de software do processo como PID, prioridade, estado do processo e tempo de processador. Na janela Gerncia de Processador, observe o processo transacionando entre estados. Na janela Gerncia de Processador, movimente a barra de Clock de UCP e observe as variaes ocorridas.
a) Prticas de simulao
Reinicialize o simulador. Crie um processo do tipo CPU-bound: janela Gerncia de Processos / Criar janela Criao de Processos / Criar (tipo de processo deve ser CPU-bound). Crie outro processo do tipo I/O-bound: janela Gerncia de Processos / Cria janela Criao de Processos / Criar (tipo de processo deve ser I/O-bound).
b) Anlise Prtica
Na janela Gerncia de Processos, observe as mudanas de estado dos dois processos. Na janela Gerncia de Processador, observe o comportamento dos processos e as mudanas de contexto em funo do tipo I/O-bound e CPU-bound. Na janela Gerncia de Processos, compare a taxa de crescimento do tempo de processador dos dois processos.
c) Questo terica para responder com a ajuda do simulador Analise os efeitos gerados no caso de reduo do tempo gasto na operao de E/S pelo processo I/O-bound. Com o tempo mximo de operao de E/S para o processo I/O-bound, o processo CPUbound ter seu tempo de UCP sempre maior que o outro por no precisar passar pelo estado de espera, somente de pronto. Reduzindo o tempo na operao de E/S pelo processo do tipo I/O-bound ao mnimo ele ficar com uma taxa de crescimento do tempo de UCP igual a do processo do tipo CPU-bound, pois o tempo em que o CPUbound esta em execuo o necessrio para o I/O-bound realizar a operao de E/S e voltar ao estado de pronto. Atividade 3: PCB a) Prticas de simulao
Reinicialize o simulador. Crie dois novos processos: janela Gerncia de Processos / Criar janela Criao de Processos / Criar.
b) Anlise Prtica
Na janela Gerncia de Processos / PCB, observe as informaes sobre o contexto de software e hardware dos processos criados.
Reinicialize o simulador. Ative a janela de Estatsticas em Console SOsim / Janelas / Estatsticas. Crie dois novos processos: janela Gerncia de Processos / Criar janela Criao deProcessos / Criar.
b) Anlise Prtica
Na janela Estatstica, observe as informaes: nmero de processos, estados dos processos e processos escalonados.
b) Anlise Prtica
Na janela Log, observe as informaes sobre as mudanas de estado dos processos observando o tempo que cada processo permanece nos estados de Execuo e Pronto. Reinicialize o simulador parametrizado com um valor de fatia de tempo diferente observe as diferenas na janela Log.
Crie dois novos processos: janela Gerncia de Processos / Cria janela Criao de Processos / Criar.
b) Anlise Prtica
Na janela Gerncia de Processos, observe as informaes sobre o contexto de software dos processos criados. Na janela Gerncia de Processador, observe a concorrncia no uso do processador pelos dois processos. Compare percentualmente os tempos de uso do processador entre os dois processos. Suspenda temporariamente um dos processos na janela Gerncia de Processos / Suspender. Observe os estados dos processos, a concorrncia no uso do processador e novamente compare percentualmente os tempos de uso do processador entre os dois processos. Libere o processo do estado de espera (suspenso) na janela Gerncia de Processos / Prosseguir. Elimine um dos processos na janela Gerncia de Processos / Finalizar.
Gerncia de Recursos
1. O que poltica de escalonamento de um sistema operacional?
Uma poltica de escalonamento composta por critrios estabelecidos para determinar qual processo em estado de pronto ser escolhido para fazer uso do processador.
No escalonamento preemptivo, o sistema operacional pode interromper um processo em execuo e pass-lo para o estado de pronto, com o objetivo de alocar outro processo na UCP. No escalonamento no-preemptivo, quando um processo est em execuo, nenhum evento externo pode ocasionar a perda do uso do processador. O processo somente sai do estado de execuo, caso termine seu processamento ou execute instrues do prprio cdigo que ocasionem uma mudana para o estado de espera.
11. O escalonamento por mltiplas filas com realimentao favorece processos CPUbound ou I/O-bound? Justifique.
Processos I/O-bound so favorecidos neste tipo de escalonamento. Como a probabilidade desse tipo de processo sofrer preempo por tempo baixa, a tendncia que os processos I/O-bound permaneam nas filas de alta prioridade enquanto os processos CPU-bound tendem a posicionarse nas filas de prioridade mais baixa.
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) b) c) d) a) P1 1 0 P3 2 9 P4 3 6 P2 2 4 P5 ............ 5 6 FIFO SJF Prioridade (nmero menor implica prioridade maior) Circular com fatia de tempo igual a 2 u.t.
b)
P3 0 5 P2 2 9 c) P3 0 5 P2 2 9 P4 1 2 3 6 P1 2 2 P5 5 6 P2 3 6 P4 1 2 P5 ........... 5 6 P1 2 2 P2
d) P3 0 5 P2 2 9 P4 12 P1 2 2 P5 5 6 P2
3 6
13. Considere um sistema operacional com escalonamento por prioridades onde a avaliao do escalonamento realizada em um intervalo mnimo de 5ms. Neste sistema, os processos A e B competem por uma nica UCP. 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 do tempo, medido em intervalos de 5 ms (E=execuo, P=pronto e W=espera). O processo A tem menor prioridade que o processo B.
Processo A Processo B 00-04 P E 05-09 P E 10-14 E W 15-19 E W 20-24 E P 25-29 P E 30-34 P E 35-39 P E 40-44 E W 45-49 W W
55-59 E P
6064 P E
6569 P E
7074 E W
75-59 E W
80-84 W P
85-89 W E
90-94 P E
95-99 E -
100-105 E -
c) Refaa a tabela anterior supondo que o processo A mais prioritrio que o processo B.
Processo A Processo B
00-04 E P
05-09 E P
10-14 E P
15-19 E P
20-24 W E
25-29 P E
30-34 E W
35-39 E W
40-44 E P
45-49 W E
55-59 P E
6064 E W
6569 E W
7074 W
75-59 P
80-84 E
85-89 E
90-94 W
95-99 W
100-105 P
106-115 E
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? Um valor de quantum grande pode prejudicar a multiprogramao, na medida em que a ocorrncia de preempes por tempo reduzida, favorecendo os processos CPU-bound e
prejudicando os processos I/O-bound. Um valor de quantum pequeno ocasionaria um grande overhead ao sistema devido a alta frequncia de mudanas de contexto geradas pelas frequentes preempes por tempo. 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 UCP 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. P1: Execuo, P2:Pronto, P3:Pronto b) T = 11 u.t. P1: Pronto, P2:Execuo, P3:Pronto c) T = 33 u.t. P1: Terminado, P2:Terminado, P3:Execuo 16. 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 UCP de cada processo 14, 4 e 12 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 apenas o processo P1 realiza operaes de E/S? Cada operao de E/S executada aps 5 u.t. e consome 10 u.t. a) T = 8 u.t. P1: Espera, P2:Execuo, P3:Pronto b) T = 18 u.t. P1: Pronto, P2:Terminado, P3:Execuo c) T = 28 u.t. P1: Espera, P2:Terminado, P3:Terminado 17. Existem quatro processos (P1, P2, P3 e P4) na fila de pronto, com tempos de UCP estimados em 9, 6, 3 e 5, respectivamente. Em que ordem os processos devem ser executados para minimizar o tempo de turnaround dos processos? A melhor poltica para minimizar o tempo de turnaround seria utilizar o escalonamento SJF na sequncia de execuo P3, P4, P2 e P1. 18. e 19. Considere a tabela a seguir onde Processo P1 P2 P3 P4 Tempo de UCP 40 20 50 30 Prioridade 4 3 1 3
Calcule o tempo de turnaround mdio dos processos considerando que todos foram criados no instante de tempo 0 u.t e que o tempo de troca de contexto igual a 0 e refaa depois com a troca de contexto igual a 5 u.t para os seguintes escalonamentos
FIFO Com troca de contexto=0 u.t. P1 P2 0 0 4 6 0 0 Com troca de contexto=5 u.t P1 P2 0 0 0 4 4 6 0 5 5 SJF Com troca de contexto=0 u.t. P2 P4 0 0 2 5 0 0 Com troca de contexto=5 u.t P2 P4 0 0 0 2 2 5 0 5 5
P3 1 1 0
P4 1 4 0
P3 0 1 7 2 0 0
1 2 5
P4 1 5 5
P1 1 9 0
P3 1 4 0
P1 0 1 6 0 0 0
1 0 5
P3 1 5 5
P1
Circular com fatia de tempo igual a 20 u.t Com troca de contexto=0 u.t P2 P3 P4 P1 0 0 0 0 1 2 4 6 8 0 0 0 0 0 0 Com troca de contexto=0 u.t
P3 1 2 0
P4 1 3 0
P3 1 4 0
P1 0 2 0 0 2 5
P2 0 4 5 0 5 0
P3 0 7 0 0 7 5
P4 0 9 5 1 0 0
P1 1 2 0 1 2 5
P3 1 4 5 1 5 0
P4 1 6 0 1 1 6 7 5 5
P3
b) Anlise Prtica
Crie dois processos com a mesma prioridade (um CPU-bound e outro I/O-bound): janelaGerncia de Processos / Criar janela Criao de Processos / Criar Na janela Gerncia de Processos, observe o tempo de processador de cada processo durante dois minutos e as mudanas de estado. Aps esse perodo anote o tempo de processador de cada processo. Analise o balanceamento no uso do processador pelos dois processos. Na janela Gerncia de Processos finalize os dois processos. Na janela Gerncia de Processador, aumente a fatia de tempo movimentando a barra de Fatia de Tempo. Na janela Gerncia de Processos, observe mais uma vez o tempo de processador de cada processo durante dois minutos e as mudanas de estado. Aps esse perodo anote o tempo de processador de cada processo. Compare os tempos anotados nas duas e
analise o resultado do balanceamento no uso do processador pelos dois processos. Identifique as causas da variao.
b) Anlise Prtica
Crie um processo CPU-bound com prioridade 3 e um outro I/O-bound com prioridade 4: janela Gerncia de Processos / Criar janela Criao de Processos / Criar. Na janela Gerncia de Processos, observe o tempo de processador de cada processo durante dois minutos e as mudanas de estado. Aps esse perodo anote o tempo de processador de cada processo. Verifique a preempo por prioridade que ocorre toda vez que o processo I/O-bound de maior prioridade passa para o estado de Pronto. Analise o balanceamento no uso do processador pelos dois processos comparativamente a Atividade 1.
b) Anlise Prtica
Crie um processo CPU-bound com prioridade 4 e um outro I/O-bound com prioridade 3: janela Gerncia de Processos / Criar janela Criao de Processos / Criar.
Na janela Gerncia de Processos, observe o escalonamento dos dois processos. Analise o problema do starvation.
c) Questes tericas para responder com a ajuda do simulador Por que o problema do starvation pode ocorrer? Starvation ocorre quando um ou mais processos no conseguem obter recursos no sistema eno pode progredir. Neste caso, o processo tem baixa prioridade e pode nunca ser escolhido. Cite duas aes que o administrador do sistema pode realizar quando identificada a situao de starvation em um processo. Aumentar a prioridade do processo no executado, ou suspender a execuo do processo que utiliza a CPU para que o processo em estado de starvation entre na UCP.
b) Anlise Prtica
Crie um processo CPU-bound com prioridade base 3 e mais trs processos I/Obound com prioridade base 4, porm com perfis diferentes (tipo 1, 2 e 3): janela Gerncia de Processos / Criar janela Criao de Processos / Criar. Observe as prioridades base e dinmica dos quatro processos na janela Gerncia de Processos. Identifique os motivos das prioridades dinmicas dos processos variarem ao longo do tempo. Observe na janela de log o valor do incremento recebido na prioridade de cada processo, Identifique o porqu das diferenas nos valores do incremento. Observe na janela de estatsticas o percentual de utilizao da UCP. Suspenda o processo CPU-bound: janela Gerncia de Processos / Suspender. Observe na janela de estatsticas as mudanas no percentual de utilizao da UCP e identifique o porqu. Libere o processo CPU-bound do estado de suspenso: janela Gerncia de Processos / Prosseguir.