Você está na página 1de 33

Sistemas Operacionais

Gerncia do Processador A partir do momento em que diversos processos podem estar no estado de pronto, critrios devem ser estabelecidos para determinar qual processo ser escolhido para fazer uso do processador. Os critrios utilizados para esta seleo compem a chamada poltica de escalonamento, que a base da gerncia do processador e da multiprogramao em um Sistema Operacional.

Escalonamento

Estado de Execuo
lo ca Es

Estado de Espera

Estado de Pronto

m na en to
3

Critrios de escalonamento As caractersticas de cada sistema operacional determinam quais so os principais aspectos para a implementao de uma poltica de escalonamento adequada. Por exemplo, sistema de tempo compartilhado exigem que o escalonamento trate todos os processos de forma igual. J em sistemas de tempo real, o escalonamento deve priorizar a execuo de processos crticos em detrimento da execuo de outros processos.

Critrios de Escalonamento Utilizao do processador Na maioria dos sistemas desejvel que o processador permanea a maior parte do tempo ocupado. Uma utilizao na faixa de 30% indica um sistema com uma carga de processamento baixa, enquanto na faixa de 90% indica um sistema bastante carregado, prximo da sua capacidade mxima.

Throughput Throughput representa o nmero de processos executados em um determinado intervalo de tempo. Quanto maior o throughput, nmero de tarefas executadas em funo do tempo. A maximizao do throughput desejada na maioria dos sistemas.

Tempo de Processador / Tempo de UCP Tempo de processador ou tempo de UCP o tempo que um processo leva na estado de execuo durante seu processamento. As polticas de escalonamento no influenciam o tempo de processador de um processo, sendo este tempo funo apenas do cdigo da aplicao e da entrada de dados.

Tempo de Espera Tempo de espera o tempo total que um processo permanece na fila de pronto durante seu processamento, aguardando para ser executado. A reduo do tempo de espera desejada pela maioria das polticas de escalonamento.

Tempo de Turnaround Tempo de turnaround o tempo que um processo leva desde a sua criao at 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. As polticas de escalonamento buscam minimizar o tempo de turnaround.

Tempo de resposta Tempo de resposta o tempo decorrido entre uma requisio ao sistema ou aplicao e o instante em que a resposta exibida. Em sistemas interativos, podemos entender como o tempo decorrido entre a ltima tecla digitada pelo usurio e o incio do resultado no monitor.

10

Escalonamento no preemptivos e preemptivos O escalonamento no-preemptivo foi o primeiro tipo de escalonamento implementado nos sistemas multiprogramveis, onde predominava tipicamente o processamento batch. Nesse tipo de escalonamento, 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

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. Com o uso da preempo, possvel ao sistema priorizar a execuo de processos, como no caso de aplicaes em tempo real, onde o fator tempo crtico. Outro benefcio a possibilidade de implementar polticas de escalonamento que compartilhem o processador de uma maneira mais uniforme, distribuindo de forma balanceada o uso da UCP entre os processos.

12

Escalonamento First-in-First-Out (FIFO)

F ila dosprocessosno estado deP ronto E stado de C riao E stado de T rm ino

UC P

E stado de E spera

13

Escalonamento First-in-First-Out (FIFO) No escalonamento FIFO, 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. O escalonamento FIFO do tipo no-preemptivo e foi inicialmente implementado em sistemas monoprogramveis com processamento batch, sendo ineficiente, se aplicado da forma original em sistemas interativos e de tempo compartilhado.

14

Escalonamento Shorteste-Job-First (SJF) 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. Utilizado nos primeiros S.O. com processamento exclusivamente batch.

15

Escalonamento Cooperativo O escalonamento cooperativo uma implementao que busca aumentar o grau de multiprogramao em polticas de escalonamentos que no possuam mecanismos de preempo, como FIFO e o SJF. Neste caso, um processo em execuo pode voluntariamente liberar o processador, retornando fila de pronto e possibilitando que um novo processo seja escalonado, permitindo assim uma melhor distribuio no uso do processador. Utilizado nos primeiros sistemas operacionais da famlia Microsoft.

16

Escalonamento Circular O escalonamento circular um escalonamento do tipo 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) No escalonamento circular, toda vez que um processo escalonado para execuo uma nova fatia de tempo concedida. Caso a fatia de tempo expire, o S.O. interrompe o processo em execuo, salva seu contexto e direciona-o para o final da fila de pronto.

17

Escalonamento Circular

F ila dosproc e s s osno e s tado de P ronto E s tado de C ria o E s tado de T rm ino

U C P

P re e m p o por te m po

E s tado de E s pe ra

18

Escalonamento Circular Virtual

F ila dos proc e s s os no e s tado de P ronto E s tado de C ria o E s tado de T rm ino

U C P P re e m p o por te m po

F ila aux iliar

E s tado de E s pe ra

19

Escalonamento por Prioridades 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 escolhido para execuo e processos com valores iguais so escalonados seguindo o critrio FIFO. No escalonamento por prioridades, a perda do uso do processador 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.

20

Fila de processos no estado de pronto


F ila sd o sp ro c e s s o sn oe s ta d od eP ro n to P rio rid a d eP 1

P rio rid a d eP 2

E s ta d od e C ria o

U C P

E s ta d od e T rm in o

P rio rid a d eP n

P re e m p op o rp rio rid a d e

E s ta d od e E s p e ra

21

Um dos principais problemas problemas no escalonamento por prioridades o startvation. Processos de baixa prioridade podem no ser escalonados, permanecendo indefinidamente na fila de pronto. Uma soluo para este problema, possvel em sistemas que implementam prioridade dinmica, a tcnica de aging. Este mecanismo incrementa gradualmente a prioridade de processos que permanecem por muito tempo na fila de pronto.

22

Escalonamento Circular com Prioridades O escalonamento circular com prioridades implementa o conceito de fatia de tempo e de prioridade de execuo associada a cada processo. Neste tipo de escalonamento, um processo permanece no estado de execuo at que termine seu processamento, voluntariamente passe para o estado de espera ou sofra uma preempo por tempo ou prioridade.

23

Escalonamento Circular com Prioridades


F ilad o sp ro c e s s o sn oe s ta d od eP ro n to P rio rid a d eP 1

P rio rid a d eP 2

E s ta d od e C ria o

U C P

E s ta d od e T rm in o

P rio rid a d eP n

P re e m p op o r te m p oo up rio rid a d e

E s ta d od e E s p e ra

24

A principal vantagem deste escalonamento permitir o melhor balanceamento no uso do processador em sistemas de tempo compartilhado. Este tipo de escalonamento amplamente utilizado em sistemas de tempo compartilhado, como Windows e Unix. O escalonamento circular com prioridades possui duas variaes: esttica e dinmica. Na esttica a prioridade definida no contexto de software de cada processo e permanece inalterada ao longo da sua existncia. No caso da dinmica, possvel que a prioridade de um processo seja alterada dinamicamente pelo administrador do sistema ou pelo prprio S.O.
25

Escalonamento por Mltiplas filas No escalonamento por mltiplas filas existem diversas filas de processos no estado de pronto, cada qual com uma prioridade especfica. Os processos so associados s filas em funo de caractersticas prprias, como importncia para a aplicao, tipo de processamento ou rea de memria necessria. Como processos possuem caractersticas de processamento distintas, difcil que um nico mecanismo de escalonamento seja adequado a todos. A principal vantagem de mltiplas filas a possibilidade de convivncia de mecanismos de escalonamento distintos em um mesmo S.O.

26

Escalonamento por Mltiplas filas

Fila de processos do sistema Maior prioridade Fila de processos interativos

UCP

Fila de processos batch Menor prioridade

27

Neste mecanismo, o processo no possui prioridade, ficando esta caracterstica associada fila. O processo em execuo sofre preempo caso um processo entre em uma fila de maior prioridade. O S.O. s pode escalonar processos de uma determinada fila caso todas as outras filas de maior prioridade estejam vazias. Uma boa prtica classificar os processos em funo do tipo de processamento realizado e associ-los adequadamente s repectivas filas. Uma desvantagem deste escalonamento que no caso de um processo alterar seu comportamento no decorrer do tempo o processo no poder ser redirecionado para uma outra fila mais adequada.
28

Escalonamento por Mltiplas Filas com Realimentao O escalonamento por mltiplas filas com realimentao semelhante ao escalonamento por mltiplas filas, porm os processos podem trocar de filas durante seu processamento. Sua grande vantagem permitir ao S.O. identificar dinamicamente o comportamento de cada processo, direcionando-o para filas com prioridade de execuo e mecanismo de escalonamento mais adequados ao logo do seu processamento.

29

Escalonamento por Mltiplas Filas com Realimentao


Maior Prioridade
F ila 1 (F IF O Adaptado)

P reempo por tempo

F ila 2 (F IF O Adaptado)

P reempo por tempo

F ila 3 (F IF O Adaptado)

Menor fatia de tempo

UCP

P reempo por tempo

Maior fatia de tempo

Menor Prioridade

F ila n (Circular)

P reempo por tempo

30

Poltica de Escalonamento em Sistemas de Tempo Compartilhado

Sistemas de tempo compartilhado caracterizam-se pelo processamento interativo, no qual usurios interagem com as aplicaes exigindo tempos de respostas baixos. A escolha de uma poltica de escalonamento para atingir este propsito deve levar em considerao o compartilhamento dos recursos de forma equitativa para possibilitar o uso balanceado da UCP entre processos. Em um escalonamento onde todos os processos so tratados igualmente, processos CPU-bound sempre levam vantagem sobre os processos I/O-bound. Embora sejam mais complexos de implementar que os sistemas com prioridade esttica, o tempo de resposta oferecido compensa.
31

Poltica de escalonamento em sistemas de tempo real

Diferentemente dos sistemas de tempo compartilhado, nos quais a aplicao no prejudicada pela variao no tempo de resposta, algumas aplicaes especficas exigem respostas imediatas para a execuo de determinadas tarefas. So os S.O. de tempo real. O escalonamento em sistemas de tempo real deve levar em considerao a importncia relativa de cada tarefa na aplicao. Em funo disso, o escalonamento por prioridades o mais adequado, j que para cada processo uma prioridade associada em funo da importncia do processo dentro da aplicao. No escalonamento para sistemas de tempo real no deve existir o conceito de fatia de tempo, e a prioridade de cada processo deve ser esttica.
32

Você também pode gostar