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
Latncia do Dispatcher: o perodo de tempo gasto na substituio de um processo em execuo por outro que estava no estado de pronto.
Os critrios utilizados para implementar um sistema de tempo real so diferentes dos critrios utilizados em um sistema de tempo compartilhado.
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.
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
Processo A
B C
Processo B
Processo C
17
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.
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
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
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
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.
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.
P rioridade P2
Estado de Criao
UCP
Estado de Trmino
P rioridade Pn
Estado de Espera
UCP
Maior Prioridade
UCP
Menor Prioridade
Fila n (Circular)
Processo B
1 1
1 9
21
27
u.t.
E/ S de B
E/ S de A
Processo A B
E/ S de A
E/ S de B
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
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
P rocesso A B
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.