Anda di halaman 1dari 31

Arquitetura de Sistemas Operacionais

Captulo 8 Gerncia do Processador

Introduo Funes Bsicas Critrios de escalonamento Escalonamentos no-preemptivos e preemptivos Escalonamento FIFO Escalonamento SJF Escalonamento cooperativo Escalonamento circular Escalonamento por prioridades Escalonamento circular com prioridades

Poltica de Escalonamento em Sistemas de Tempo Compartilhado Poltica de Escalonamento em Sistemas de Tempo Real

Escalonamento:

a partir do momento em que diversos processos podem estar no estado de pronto, devem ser estabelecidos critrios para determinar qual processo ser escolhido para fazer uso do processador. Este critrios compem as chamadas polticas de escalonamento.
Estado de Execuo
lo ca Es

Estado de Espera

Estado de Pronto

na me n to

Manter a UCP ocupada a maior parte do tempo Balancear o uso da UCP entre processos Privilegiar a execuo de aplicaes crticas Maximizar o throughput Oferecer tempos de resposta razoveis para usurios interativos

Escalonador: uma rotina do SO que implementa as polticas de escalonamento;

Latncia do Dispatcher: o perodo de tempo gasto na substituio de um processo em execuo por outro que estava no estado de pronto.

So os critrios considerados para implementar uma poltica de escalonamento.

Os critrios utilizados para implementar um sistema de tempo real so diferentes dos critrios utilizados em um sistema de tempo compartilhado.

Utilizao do processador: a porcentagem de tempo em que o processador permanece ocupado;

30% carga de processamento baixa 90% carga de processamento alta


(Verifique com CTRL+ALT+DEL) Throughput: o nmero de processos executados em uma dado instante de tempo. Por exemplo: 0.7 processos/segundo em mdia.

Tempo de Processador/Tempo de UCP: o tempo que um processo gasta no estado de execuo. Tempo de Espera: o tempo que um processo fica na fila de pronto esperando para ser executado. Tempo de Turnaround: o tempo de vida de um processo (desde a criao at seu trmino) alocao de memria, fila de pronto, processamento, espera por E/S, etc. Tempo de Resposta: o tempo decorrido entre uma requisio ao sistema e o instante em que a resposta exibida. Por exemplo: o tempo entre o usurio digitar a tecla enter e o software processar algo e mostrar na tela.

Preempo: possibilidade do SO interromper um processo em execuo e substitu-lo por outro.

Escalonamento no-preemptivo: quando um processo est em execuo nenhum outro evento pode ocasionar a perda do uso do processador.
Escalonamento preemptivo: quando existe a possibilidade do SO interromper um processo em execuo e pass-lo para o estado de pronto, com o objetivo de alocar outro processo para UCP.

Escalonamento First-In-First-Out: o processo que chegar primeiro ao estado de pronto entra em execuo. um escalonamento do tipo no-preemptivo e foi inicialmente implementado em sistemas monoprogramveis batch.
Fila dos processos no estado de Pronto Estado de Criao Estado de Trmino

UCP

Estado de Espera

Exemplo
Processo A Processo B

Processo C

10

14

17

u.t. Processo A Tempo de processador (u.t.) 10 4 3

Processo A

B C

Processo B

Processo C

17

u.t.

Tempo mdio de espera: (0+10+14)/3 = 8 u.t. (7+0+4)/3 = 3.7 u.t.

AB-

O principal problema desse tipo de escalonamento a impossibilidade de prever quando um processo ter sua execuo iniciada.

Escalonamento Shortest-Job-First: seleciona o processo que possuir menor tempo de UCP para processar. uma tcnica no-preemptiva.
Processo A

Processo B

Processo C

17

u.t.

Vantagem: tempo mdio de espera minimizado ( (7+3+0)/3 = 3.3 u.t.). Foi utilizado nos SOs iniciais com processamento exclusivo batch. Desvantagem: dificuldade em estimar o tempo de execuo de processos interativos (cada processo tinha uma informao no C.S. indicando estatisticamente o tempo de UCP estimando); Pode ocorrer starvation quando existir processos que tenham tempo de UCP muito alto.

Processo em execuo libera voluntariamente a UCP. Isso No depende do SO diretamente;


Verifica a fila de mensagens periodicamente Podem ocorrer problemas como starvation quando um processo no olhar para a fila de pronto e observar que existe outros processos querendo ser executados. Exemplo: primeiros sistemas MS-Windows

um escalonamento preemptivo projetado para sistema de tempo compartilhado. semelhante ao FIFO porm, quando um processo passa do estado de execuo, existe um tempo limite para o uso contnuo do processador denominado fatia de tempo (time slice) ou quantum.
Fila dos processos no estado de Pronto Estado de Criao Estado de Trmino UCP

Preempo por tempo

Estado de Espera

Exemplo para um quantum de 2 u.t. O valor da fatia de tempo depende da arquitetura do SO. Geralmente ela varia entre 10 a 100 milisegundos.
Processo A

Processo B

Processo C

10 1 1

17

u.t.

Vantagem: no permite o monoplio da UCP por parte de algum processo devido fatia de tempo igual que cada um possui. Teoricamente seria a tcnica mais justa de escalonamento.

Escalonamento circular virtual: uma variao do E. C. convencional que visa um balanceamento de execuo dos processos CPU-bound e I/O bound.
Fila dos processos no estado de Pronto Estado de Criao Estado de Trmino

UCP Preempo por tempo

Fila auxiliar

Estado de Espera

preemptivo realizado com base em um valor associado a cada processo denominado prioridade. O processo com maior prioridade no estado de pronto escolhido para ser executado, e processos com valores iguais so escalonados seguindo o critrio FIFO.
Filas dos processos no estado de Pronto Prioridade P1

Prioridade P2

Estado de Criao

UCP

Estado de Trmino

Prioridade Pn

Preempo por prioridade

Estado de Espera

A perda do uso da UCP s ocorrer no caso de uma mudana voluntria para o estado de espera ou quando um processo de prioridade maior passa para o estado de pronto.

Processo A Processo Processo B A B Processo C C u.t. Tempo de processador (u.t.) 10 4 3 Prioridade 2 1 3

13

17

No OpenVMS, a prioridade de um processo pode variar de 0 a 31, onde 31 a maior prioridade. No IBM-AIX, a prioridade varia de 0 a 127, porm os valores menores possuem maior prioridade. Prioridade esttica: no tem seu valor alterado durante a existncia do processo; Prioridade dinmica: a prioridade pode ser ajustada de acordo com o SO. Essa tcnica utilizada para evitar starvation.

Implementa o conceito de fatia de tempo e prioridade associada a cada processo.


A principal vantagem permitir o melhor balanceamento no uso da UCP diferenciando a importncia dos processos. utilizado na maioria dos SOs de tempo compartilhado.
Fila dos processos no estado de P ronto P rioridade P1

P rioridade P2

Estado de Criao

UCP

Estado de Trmino

P rioridade Pn

P reempo por tempo ou prioridade

Estado de Espera

Fila de processos do sistema Maior prioridade Fila de processos interativos

UCP

Fila de processos batch Menor prioridade

Maior Prioridade

Fila 1 (FIFO Adaptado)

Preempo por tempo

Fila 2 (FIFO Adaptado)

Preempo por tempo

Fila 3 (FIFO Adaptado)

Menor fatia de tempo

UCP

Preempo por tempo

Preempo por tempo

Maior fatia de tempo

Menor Prioridade

Fila n (Circular)

Escalonamento FIFO (exemplo)


Processo A

Processo B

1 1

1 9

21

27

u.t.

E/ S de B

E/ S de A

Processo A B

Tempo de processador (u.t.) 21 6

Caracterstica CPU-bound I/ O-bound

E/ S de A

E/ S de B

Escalonamento circular (exemplo)


Processo A
UCP livre

Processo B

5
Preempo por tempo de A

9
E/ S de B

11
E/ S de A

13
E/ S de B

18
Preempo por tempo de A

20
E/ S de B

23
E/ S de A

25

27
E/ S de B

u.t.

Processo A B

Tempo de processador (u.t.) 15 10

Caracterstica CPU-bound I/ O-bound

Escalonamento circular com prioridades o mais utilizado nos Sos modernos pois proporciona a poltica mais justa de escalonamento.
P rocesso A

P rocesso B

UCP livre

1 2

5 1 4 1

1 7 1 8

2 0

2 4

2 7

u.t.

E/ S de B

E/ S de B

E/ S de B E/ S de A

E/ S de B

Preempo por prioridade de A

Preempo por prioridade de A

Preempo por prioridade de A

P rocesso A B

T empo de processador (u.t.) 12 13

Caracterstica CP U-bound I/ O-bound

P rioridade Baixa Alta

Preempo por prioridade de A

E/ S de B

Tempos de respostas rgidos Aplicaes de controle de processos Utiliza prioridades estticas No utiliza fatias de tempo Exemplo: OpenVMS

Explique resumidamente com suas palavras as tcnicas de escalonamento FIFO, SJF, Circular e por prioridades.

Anda mungkin juga menyukai