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

Concorrncia

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.

2. Por que o mecanismo de interrupo fundamental para a implementao da multiprogramao?


Porque em funo desse mecanismo que o sistema operacional sincroniza a execuo de todas as suas rotinas e dos programas dos usurios, alm de controlar dispositivos.

3. Explique o mecanismo de funcionamento das interrupes.


Uma interrupo sempre gerada por algum evento externo ao programa e, neste caso, independe da instruo que est sendo executada. Ao final da execuo de cada instruo, a unidade de controle verifica a ocorrncia de algum tipo de interrupo. Neste caso, o programa em execuo interrompido e o controle desviado para uma rotina responsvel por tratar o evento ocorrido, denominada rotina de tratamento de interrupo. Para que o programa possa posteriormente voltar a ser executado, necessrio que, no momento da interrupo, um conjunto de informaes sobre a sua execuo seja preservado. Essas informaes consistem no contedo de registradores, que devero ser restaurados para a continuao do programa.

4. O que so eventos sncronos e assncronos?


Evento sncronos so resultados direto da execuo do programa corrente. Tais eventos so previsveis e, por definio, s podem ocorrer uma nico de cada vez. Eventos assncronos no so relacionados instruo do programa corrente. Esses eventos, por serem imprevisveis, podem ocorrer mltiplas vezes, como no caso de diversos dispositivos de E/S informarem ao processador que esto prontos para receber ou transmitir dados.

5. D exemplos de eventos associados ao mecanismo de execuo.


Uma instruo que gere a situao de overflow ou uma diviso por zero.

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.

7. O que DMA e qual a vantagem desta tcnica?


A tcnica de DMA permite que um bloco de dados seja transferido entre a memria principal e dispositivos de E/S, sem a interveno do processador, exceto no incio e no final da transferncia. Quando o sistema deseja ler ou gravar um bloco de dados, o processador informa ao controlador sua localizao, o dispositivo de E/S, a posio inicial da memria de onde os dados sero lidos ou gravados e o tamanho do bloco. Com estas informaes, o controlador realiza a transferncia entre o perifrico e a memria principal, e o processador somente interrompido no final da operao.

8. Como a tcnica de buffering permite aumentar a concorrncia em um sistema computacional?


Como o buffering permite minimizar o problema da disparidade da velocidade de processamento existente entre o processador e os dispositivos de E/S, esta tcnica permite manter, na maior parte do tempo, processador e dispositivos de E/S ocupados.

9. Explique o mecanismo de spooling de impresso?


No momento em que um comando de impresso executado, as informaes que sero impressas so gravadas antes em um arquivo em disco, conhecido como arquivo de spooling, liberando imediatamente o programa para outras atividades. Posteriormente, o sistema operacional encarrega-se em direcionar o contedo do arquivo de spooling para a impressora.

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.

2. Por que o conceito de processo to importante no projeto de sistemas multiprogramveis?


Atravs de processos, um programa pode alocar recursos, compartilhar dados, trocar informaes e sincronizar sua execuo. Nos sistemas multiprogramveis os processos so executados concorrentemente, compartilhando o uso do processador, memria principal, dispositivos de E/S dentre outros recursos.

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.

4. Quais partes compem um processo?


Um processo formado por trs partes, conhecidas como contexto de hardware, contexto de software e espao de endereamento, que juntos mantm todas as informaes necessrias execuo de um programa.

5. O que o contexto de hardware de um processo e como a implementao da troca de contexto?

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.

6. Qual a funo do contexto de software? Exemplifique cada grupo de informao.


No contexto de software so especificadas caractersticas e limites dos recursos que podem ser alocados pelo processo, como o nmero mximo de arquivos abertos simultaneamente, prioridade de execuo e tamanho do buffer para operaes de E/S. O contexto de software composto por trs grupos de informaes sobre o processo: identificao, quotas e privilgios. Ver item 5.2.2.

7. O que o espao de endereamento de um processo?


O espao de endereamento a rea de memria pertencente ao processo onde as instrues e dados do programa so armazenados para execuo. Cada processo possui seu prprio espao de endereamento, que deve ser devidamente protegido do acesso dos demais processos.

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.

9. Defina os cinco estados possveis de um processo?


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..

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.

11. Diferencie processos multithreads, subprocessos e processos independentes.


Processos independentes no tm vnculo com os processos criadores. A criao de um processo independente exige a alocao de um PCB, possuindo contextos de hardware, contexto de software e espao de endereamento prprios. Subprocessos so processos criados dentro de uma estrutura hierrquica. Caso um processo pai deixe de existir, os subprocessos subordinados so automaticamente eliminados. Semelhante aos processos independentes, subprocessos possuem seu prprio PCB. Alm da dependncia hierrquica entre processos e subprocessos, uma outra caracterstica neste tipo de implementao que subprocessos podem compartilhar quotas com o processo pai. Neste caso, quando um subprocesso criado, o processo pai cede parte de suas quotas ao processo filho. Processos multithreads suportam mltiplos threads, cada qual associado a uma parte do cdigo da aplicao. Neste caso no necessrio haver diversos processos para a implementao da concorrncia. Threads compartilham o processador da mesma maneira que um processo, ou seja, enquanto um thread espera por uma operao de E/S, outro thread pode ser executado.

12. Explique a diferena entre processos foreground e background.


Um processo foreground aquele que permite a comunicao direta do usurio com o processo durante o seu processamento. Neste caso, tanto o canal de entrada quanto o de sada esto associados a um terminal com teclado, mouse e monitor, permitindo, assim, a interao com o usurio. Um processo background aquele onde no existe a comunicao com o usurio durante o seu processamento. Neste caso, os canais de E/S no esto associados a nenhum dispositivo de E/S interativo, mas em geral a arquivos de E/S.

13. Qual a relao entre processo e a arquitetura microkernel?


A arquitetura microkernel baseia-se na utilizao de processos em modo usurio para executar diversas funes relativas ao sistema operacional, como gerncia de memria e escalonamento.

14. D exemplos de aplicaes CPU-bound e I/O-bound.


CPU-bound: Aplicaes cientficas que efetuam muitos clculos. I/O-Bound: Aplicaes comerciais, que se baseiam em leitura, processamento e gravao.

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.

16. Explique como a eliminao de um processo utiliza o mecanismo de sinais.


Quando um processo eliminado, o sistema ativa o sinal associado a este evento. O processo somente ser excludo do sistema quando for selecionado para execuo. Neste caso, possvel que o processo demore algum perodo de tempo at ser eliminado de fato.

Atividade 1: Criao de Processos a) Prticas de simulao


Execute o simulador SOsim e identifique as quatro janelas que so abertas na inicializao. Crie um processo: janela Gerncia de Processos / Criar janela Criao de Processos / Criar.

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.

c) Questo terica para responder com a ajuda do simulador


Com base na observao do comportamento do processo criado, identifique se o processo I/Obound ou CPU-bound. Justifique sua resposta. O processo criado do tipo CPU-bound, pois em nenhum momento ele passa para o estado de espera, caracterstica bsica dos processos do tipo I/O-bound, estando sempre no estado de pronto e em estado de execuo na CPU

Atividade 2: Tipos de Processos

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.

c) Questo terica para responder com a ajuda do simulador


Identifique quais informaes do PCB so estticas ou dinmicas e quais fazem parte do contexto de software e do contexto de hardware. So Estticas as informaes de: Prioridade, tempo de criao, PID e frames. So Dinmicas as informaes de: Estado, tempo de UCP e PC. Fazem parte do contexto de software: Prioridade, PID, tempo de UCP, tempo de criao e estado. Fazem parte do contexto de hardware: Frames e PC.

Atividade 4: Estatsticas a) Prticas de simulao

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.

c) Questo terica para responder com a ajuda do simulador


Observe que em alguns momentos existem processos no estado de pronto, porm nenhum em estado de execuo. Explique a razo dessa situao. Essa situao ocorre porque nesse momento esta ocorrendo a mudana de contexto, ou seja, salva-se o contedo dos registradores do processo em execuo e logo aps carrega-se o contedo dos registradores do prximo processo a entrar em execuo.

Atividade 5: Log de Execuo dos Processos a) Prticas de simulao


Reinicialize o simulador. Ative a janela de Log em Console SOsim / Janelas / Log. Crie dois novos processos do tipo CPU-bound: janela Gerncia de Processos / Cria janela Criao de Processos / Criar (tipo de processo deve ser CPU-bound).

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.

c) Questo terica para responder usando o simulador


Analise comparativamente a concorrncia de dois processos CPU-bound executando em dois sistemas operacionais que se diferenciam apenas pelo valor da fatia de tempo. No Sistema Operacional com fatia de tempo igual a 1s, em 20 segundos cada processo entrou em estado de execuo 5 vezes totalizando 10s de UCP, no entanto houve 10 s em gastos em troca de contexto. No Sistema Operacional com fatia de tempo igual a 4s, em 20 segundos o processo A entrou em execuo 3 vezes totalizando 9s UCP e o B 2 vezes e 6s de UCP, totalizando 15s de UCP e apenas 5s de troca de contexto. Observamos assim que quanto menor a fatia de tempo, maiores sero os tempos gastos em trocas de contextos.

Atividade 6: Suspenso e Eliminao de Processos a) Prticas de simulao


Reinicialize o simulador.

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.

c) Questo terica para responder com a ajuda do simulador


Ao se eliminar um processo em estado de suspenso, o processo no eliminado imediatamente. Reproduza essa situao no simulador e explique a razo da situao. Isso ocorre porque a solicitao de finalizao do processo s pode ser executada depois que ele sair do estado de suspenso, pois ao solicitar a finalizao o SO notifica o processo atravs de um bit de sinalizao localizado no seu PCB, ou seja, o Sistema Operacional ativa o bit correspondente eliminao e no momento em que o processo escalonado, o bit testado e ai sim ser finalizado.

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.

2. Quais as funes do escalonador e do dispatcher?


O escalonador uma rotina do sistema operacional que tem como principal funo implementar os critrios da poltica de escalonamento. O dispatcher responsvel pela troca de contexto dos processos aps o escalonador determinar qual processo deve fazer uso do processador.

3. Quais os principais critrios utilizados em uma poltica de escalonamento?


Utilizao do processador, throughput, tempo de Processador (tempo de UCP), tempo de espera, tempo de turnaround e tempo de resposta.

4. Diferencie os tempos de processador, espera, turnaround e resposta.


Tempo de processador ou tempo de UCP o tempo que um processo leva no estado de execuo durante seu processamento. Tempo de espera o tempo total que um processo permanece na fila de pronto durante seu processamento, aguardando para ser executado. Tempo de turnaround o tempo que um processo leva desde a sua criao at ao seu trmino, levando em considerao todo o tempo gasto na espera para alocao de memria, espera na fila de pronto (tempo de espera), processamento na UCP (tempo de processador) e na fila de espera, como nas operaes de E/S. Tempo de resposta o tempo decorrido entre uma requisio ao sistema ou aplicao e o instante em que a resposta exibida.

5. Diferencie os escalonamentos preemptivos e no-preemptivos.

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.

6. Qual a diferena entre os escalonamentos FIFO e circular?


O FIFO um escalonamento no-preemptivo onde o processo que chegar primeiro ao estado de pronto o selecionado para execuo. Este algoritmo bastante simples, sendo necessria apenas uma fila, onde os processos que passam para o estado de pronto entram no seu final e so escalonados quando chegam ao seu incio. Quando um processo vai para o estado de espera, o primeiro processo da fila de pronto escalonado. Todos os processos quando saem do estado de espera entram no final da fila de pronto. O Circular um escalonamento preemptivo, projetado especialmente para sistemas de tempo compartilhado. Esse algoritmo bastante semelhante ao FIFO, porm, quando um processo passa para o estado de execuo, existe um tempo limite para o uso contnuo do processador denominado fatia de tempo (time-slice) ou quantum.

7. Descreva o escalonamento SJF e o escalonamento por prioridades.


No escalonamento SJF, o algoritmo de escalonamento seleciona o processo que tiver o menor tempo de processador ainda por executar. Dessa forma, o processo em estado de pronto que necessitar de menos tempo de UCP para terminar seu processamento selecionado para execuo. O escalonamento por prioridades um escalonamento do tipo preemptivo realizado com base em um valor associado a cada processo denominado prioridade de execuo. O processo com maior prioridade no estado de pronto sempre o escolhido para execuo e processos com valores iguais so escalonados seguindo o critrio de FIFO. Neste escalonamento, o conceito de fatia de tempo no existe, consequentemente, um processo em execuo no pode sofrer preempo por tempo.

8. Qual a diferena entre preempo por tempo e preempo por prioridade?


Preempo por tempo ocorre quando o sistema operacional interrompe o processo em execuo em funo da expirao da sua fatia de tempo, substituindo-o por outro processo. Preempo por prioridade, ocorre quando o sistema operacional interrompe o processo em execuo em funo de um processo entrar em estado de pronto com prioridade superior ao do processo em execuo.

9. O que um mecanismo de escalonamento adaptativo?


um mecanismo onde o sistema operacional identifica o comportamento dos processos durante sua execuo adaptando as polticas de escalonamento dinamicamente.

10. Que tipo de escalonamento aplicaes de tempo real exigem?


Escalonamento por prioridades onde possvel atribuir prioridades aos processos em funo da sua importncia. Alm disso, o mecanismo de preempo por prioridades garante o escalonamento imediato de processos crticos quando esses passam para o estado de pronto.

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

50-54 Processo A Processo B P 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 -

a) Em que tempos A sofre preempo?


Instantes 24-25, 59-60

b) Em que tempos B sofre preempo?


Nunca, pois o processo B possui maior prioridade do que o processo A.

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

50-54 Processo A Processo B 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

Atividade 1: Escalonamento Circular a) Prticas de simulao


Execute o simulador SOsim e configure-o para trabalhar com Escalonamento Circular: janela Console SOsim / Opes / Parmetros do Sistema na guia Processador.

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.

c) Questo terica para responder com a ajuda do simulador


Considere a concorrncia, nesse tipo de escalonamento, com dois processos CPU-bound que no realizam operaes de E/S. Qual o efeito da variao da fatia de tempo sobre o balanceamento no uso do processador? No h efeito algum porque os dois usam de forma idntica a UCP. Aps a analise percebe-se que mesmo aumentando a fatia de tempo os dois processos continuam passando a mesma quantidade de tempo na CPU e o tempo total de CPU s diferente porque, mesmo sendo criados juntos, um entra primeiro n UCP para ser processado. Outra coisa que pode modificar esse tempo total de CPU se a fatia de tempo for aumentada quando determinado processo tiver executando, isso aumentara a quantidade total de tempo de CPU desse processo

Atividade 2: Escalonamento Circular com Prioridades Estatsticas I a) Prticas de simulao


Execute o simulador SOsim e configure-o para trabalhar com Escalonamento Circular com prioridades Estticas: janela Console SOsim / Opes / Parmetros do Sistema na guia Processador.

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.

c) Questes tericas para responder com a ajuda do simulador


Quais devem ser os critrios para determinar as prioridades dos processos? A determinao das prioridades dos processos em um sistema operacional deve ser feito baseado em critrios como a importncia do processo, a maximizao de desempenho do sistema, Melhor aproveitamento do processador dentre outros. Caso, nesse escalonamento, todos os processos sejam criados com a mesma prioridade, qual o benefcio dessa poltica sobre o Escalonamento Circular? No haver nenhum benefcio, uma vez que dessa forma eles se comportaro da mesma forma.

Atividade 3: Escalonamento Circular com Prioridades Estatsticas II a) Prticas de simulao


Execute o simulador SOsim e configure-o para trabalhar com Escalonamento Circular com Prioridades Estticas: janela Console SOsim / Opes / Parmetros do Sistema na guia Processador.

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.

Atividade 4: Escalonamento Circular com Prioridades Dinmica a) Prticas de simulao


Execute o simulador SOsim e configure-o para trabalhar com Escalonamento Circular com Prioridades Dinmicas: janela Console SOsim / Opes / Parmetros do Sistema na guia Processador. Habilite as janelas de log e estatsticas: janela Console SOsim / Janelas. Na janela Gerncia do Processador desloque a barra Frequncia clock para a metade da escala.

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.

c) Questo terica para responder com a ajuda do simulador


Qual o critrio utilizado pelo sistema operacional para determinar diferentes valores de incremento prioridade-base de um processo quando h uma mudana do estado de espera para pronto? O sistema incrementa um valor prioridade base em relao ao tipo de espera que o processo estava submetido. Eventos que possuem um longo tempo de espera recebem um incremento maior. Um processo CPU-bound tende a ter uma prioridade dinmica menor que a deum processo I/O-bound.

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