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

Gerncia do Processador

Profa. Priscila Facciolli PORTAL UNIGTI


Sistemas Operacionais 1

Contedo
Introduo Funes Bsicas Critrios de Escalonamento Escalonamentos no preemptivos e Preemptivos Escalonamento FIRST-IN-FIRST-OUT (FIFO) Escalonamento Circular Escalonamento por Prioridades Escalonamento Circular com Prioridades Exerccios

Sistemas Operacionais

Introduo
Com o surgimento dos sistemas multiprogramveis, onde mltiplos processos poderiam permanecer na memria principal compartilhando o uso da UCP, a gerncia do processador tornouse uma das atividades mais importantes em um sistema operacional. 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. Os critrios utilizados para esta seleo compem a chamada poltica de escalonamento, que a base da gerencia do processador e da multiprogramao em um sistema operacional.
Sistemas Operacionais 3

Funes Bsicas
Manter o processador ocupado a maior parte do tempo, Balancear o usa da UCP entre processos, Privilegiar a execuo de aplicaes crticas, Maximizar o throughput do sistema e oferecer tempos de resposta razoveis para usurios interativos. Sistemas de tempo compartilhado, possuem requisitos de escalonamento distintos dos sistemas de tempo real. A rotina do sistema operacional que tem como principal funo implementar os critrios da poltica de escalonamento denominada escalonador (scheduler). Em um sistema multiprogramvel, o escalonador fundamental, pois todo o compartilhamento do processador dependente dessa rotina. Outra rotina importante na gerncia do processador e conhecida como dispatcher, responsvel pela troca de contexto dos processos aps o escalonador determinar qual processo deve fazer uso do processador. O perodo de tempo gasto na substituio de um processo em execuo por outro denominado latncia do dispatcher.

Sistemas Operacionais

Funes Bsicas

Sistemas Operacionais

Critrios de Escalonamento
Sistemas de tempo compartilhado exigem que o escalonamento trate todos os processos de forma igual, evitando, assim, a ocorrncia de starvation, ou seja, que um processo fique indefinidamente esperando pela utiliza ao do processador. J em sistemas de tempo real, o escalonamento deve priorizar a execuo de processos crticos em detrimento da execuo de outros processos. Critrios para a poltica de escalonamento: Utilizao do Processador: Na maioria dos sistemas, desejvel que o processador permanea ocupado a maior parte do seu tempo. Uma utiliza ao na faixa de 30% indica um sistema com uma carga de processamento baixa, enquanto que na faixa de 90% indica um sistema bastante carregado, prximo da sua capacidade mxima. Throughput: Representa o nmero de processos executados em um determinado intervalo de tempo. Quanto maior o throughput, maior o nmero de tarefas executadas em funo do tempo.
Sistemas Operacionais 6

Critrios de Escalonamento
Tempo de Processador / Tempo de UCP: Tempo de processador ou tempo de UCP o tempo que um processo leva no 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 dos processos e desejada pela maioria das polticas de escalonamento. Tempo de Turnaround: Tempo de turnaround o tempo que um processo leva desde a sua criao ate ao seu termino, 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.
Sistemas Operacionais 7

Escalonamentos No-Preemptivos e Preemptivos


As polticas de escalonamento podem ser classificadas segundo a possibilidade de o sistema operacional interromper um processo em execuo e substitu-lo por um outro, atividade esta conhecida como preempo. 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. O escalonamento preemptivo caracterizado pela possibilidade do sistema operacional 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, e possvel ao sistema priorizar a execuo de processos, como no caso de aplicaes de tempo real onde o fator tempo critico. Outro beneficio 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.
Sistemas Operacionais 8

Escalonamento FIRST-IN-FIRST-OUT (FIFO)


No escalonamento first-in-first-out (FIFO scheduling), tambm conhecido como firstcome-firstserved (FCFS scheduling), 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 passaram para o estado de pronto entram no seu final e so escalonados quando chegam ao seu incio. Quando o processo em execuo termina seu processamento ou vai para o estado de espera, o primeiro processo da fila de pronto escalonado. Quando saem do estado de espera, todos os processos entram no final da fila de pronto

Sistemas Operacionais

Escalonamento FIRST-IN-FIRST-OUT (FIFO)


Seu principal problema a impossibilidade de se prever quando um processo tem sua execuo iniciada, j que isso varia em funo do tempo de execuo dos demais processos posicionados a sua frente na fila de pronto. Outro problema nesse tipo de escalonamento que processos CPU-bound levam vantagem no uso do processador sobre processos I/O-bound. No caso de existirem processos I/O-bound mais importantes do que os CPU-bound, no possvel tratar esse tipo de diferena. O escalonamento FIFO do tipo no-preemptivo e foi inicialmente implementado em sistemas monoprogramveis com processamento batch, sendo ineficiente se aplicado na forma original em sistemas interativos de tempo compartilhado. Atualmente, sistemas de tempo compartilhado utilizam o escalonamento FIFO com variaes, permitindo, assim, parcialmente sua implementao.

Sistemas Operacionais

10

Escalonamento Circular
O escalonamento circular (round robin scheduling) 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 continuo do processador denominado fatia de tempo (time-slice) ou quantum. No escalonamento circular, toda vez que um processo escalonado para execuo, uma nova fatia de tempo concedida. Caso a fatia de tempo expire, o sistema operacional interrompe o processo em execuo, salva seu contexto e direciona-o para o final da fila de pronto. Esse mecanismo conhecido como preempo por tempo.

Sistemas Operacionais

11

Escalonamento Circular
A fila de processos em estado de pronto tratada como uma fila circular. O escalonamento realizado alocando a UCP ao primeiro processo da fila de pronto. O processo permanece no estado de execuo at que termine seu processamento, voluntariamente passe para o estado de espera, ou que sua fatia de tempo expire, sofrendo, neste caso, uma preempo pelo sistema operacional. Aps isso, um novo processo escalonado com base na poltica de FIFO.

Sistemas Operacionais

12

Escalonamento Circular
A principal vantagem do escalonamento circular no permitir que um processo monopolize a UCP, sendo o tempo mximo alocado continuamente igual fatia de tempo definido no sistema. No caso de sistemas de tempo compartilhado, onde existem diversos processos interativos concorrendo pelo uso do processador, o escalonamento circular adequado. Um problema presente nessa poltica que processos CPU-bound so beneficiados no uso do processador em relao aos processos I/Obound. Devido s suas caractersticas, os processos CPUbound tendem a utilizar por completo a fatia de tempo, enquanto os processos I/O-bound tem mais chances de passar para o estado de espera antes de sofrerem preempo por tempo. Estas caractersticas distintas ocasionam um balanceamento desigual no uso do processador entre os processos.

Sistemas Operacionais

13

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 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. No escalonamento por prioridades, a perda do uso do processador s ocorre no caso de uma mudana voluntria para o estado de espera ou quando um processo de prioridade maior passa para o estado de pronto. Neste caso, o sistema operacional dever interromper o processo corrente, salvar seu contexto e coloc-lo no estado de pronto. Esse mecanismo conhecido como preempo por prioridade
Sistemas Operacionais 14

Escalonamento por Prioridades


Um dos principais problemas no escalonamento por prioridades o starvation. 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. Vantagem: Possibilita diferenciar os processos segundo critrios de importncia. Com isso, processos de maior prioridade so escalonados preferencialmente. Isto bastante til tanto em sistemas de tempo real e nas aplicaes de controle de processo, como tambm em aplicaes de sistemas de tempo compartilhado, onde, s vezes, necessrio priorizar o escalonamento de determinados processos.
Sistemas Operacionais 15

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 saia uma preempo por tempo ou prioridade. A principal vantagem desse escalonamento permitir o melhor balanceamento no uso da UCP, com a possibilidade de diferenciar o grau de importncia dos processos. Esse tipo de escalonamento amplamente utilizado em sistemas de tempo compartilhado.

Sistemas Operacionais

16

Exerccios
1) A partir do momento que um processo est em execuo, este voluntariamente libera o processador, retornando para a fila de pronto. Sua principal caracterstica est no fato da liberao do processador ser uma tarefa realizada exclusivamente pelo processo em execuo. O texto acima se refere a qual tipo de escalonamento ? a)FIFO b)Circular c)Cooperativo d)Por prioridades

2) Explique a poltica de escalonamento preemptivo e uma poltica de escalonamento no-preemptivo.

3) Neste algoritmo, quando um processo passa para o estado de execuo, existe um tempo limite para a sua utilizao de forma continua. Quando este tempo, denominado time-slice ou quantum, expira sem que antes a CPU seja liberada pelo processo, este volta ao estado de pronto (preempo), dando a vez a outro processo. O texto acima refere-se a qual tipo de escalonamento ? a)FIFO b)Circular c)Cooperativo d)Por prioridades

Sistemas Operacionais

17

Exerccios
4) Sabe-se que o sistema operacional GNU/Linux trabalha com compartilhamento de tempo, dando a impresso de estar executando simultaneamente mais de uma tarefa, mesmo em arquiteturas monoprocessadas. Quem decide qual processo dever ser executado pela CPU em cada frao de tempo ? a)Compartilhador de Processos c)Escalonador de Processos b)Interface de Processos d)Gerenciador de Pacotes

5) Que tipo de escalonamento aplicaes de tempo real exigem? a)Throughput b)FIFO c) Escalonamento por prioridades d) Preempo por tempo

6) Assinale a alternativa que melhor define escalonamento no-preemptivo : a-) Cada processo executado durante uma fatia de tempo (time-slice). b-) Quando processador pode ser retirado do processo que est executando. c-)So processos mais prioritrios (tempo real), melhores tempos de resposta (tempo compartilhado), compartilhamento uniforme do processador. d-) Processo que est sendo executado e no pode ser interrompido.
Sistemas Operacionais 18

Exerccios
7) Assinale a alternativa que melhor conceitue Throughput dentro dos critrios de escalonamento. a) Tempo que um processo leva desde sua admisso no sistema at o seu trmino, levando em considerao o tempo de espera para alocao de memria, espera na fila de processos prontos para execuo, processamento na UCP e operaes de E/S. b) Tempo de resposta decorrido do momento da submisso de um pedido at a primeira resposta produzida. c) Representa o nmero de processos (tarefas) executados em um intervalo de tempo d) o instante que o processador fique a maior parte do tempo ocupado 8) O que poltica de escalonamento de processos de um sistema operacional? 9) Qual a diferena entre os escalonamentos FIFO e circular?

Sistemas Operacionais

19

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