Você está na página 1de 12

Sistemas Operacionais

Notas da Aula Assunto: Gerncia do Processador

Sistemas Operacionais

SUMRIO

9.

GERNCIA DO PROCESSADOR ............................................................................................................................. 3

9.1.

INTRODUO ............................................................................................................................................................. 3

9.2.

FUNES BSICAS.................................................................................................................................................... 3

9.3.

CRITRIOS DE ESCALONAMENTO...................................................................................................................... 4

9.4.

ESCALONAMENTOS NO-PREEMPTIVOS E PREEMPTIVOS ....................................................................... 5

9.5.

ECALONAMENTO FIRST-IN-FIRST-OUT (FIFO) ............................................................................................... 5

9.6.

ESCALONAMENTO SHORTEST-JOB-FIRST (SJF) ............................................................................................. 6

9.7.

ESCALONAMENTO COOPERATIVO..................................................................................................................... 7

9.8.

ESCALONAMENTO CIRCULAR ............................................................................................................................. 7

9.9.

ESCALONAMENTO POR PRIORIDADES ............................................................................................................. 9

9.10.

ESCALONAMENTO CIRCULAR COM PRIORIDADES.................................................................................... 10

9.11.

ESCALONAMENTO POR MULTIPLAS FILAS ................................................................................................... 11

9.12.

ESCALONAMENTO POR MULTIPLAS FILAS COM REALIMENTAO ................................................... 12

Notas de Aula

Sistemas Operacionais

Critrios de Escalonamento, Escalonamento No-Premptivo e Preemptivo, Escalonamento FIFO, Escalonamento Cooperativo, escalonamento circular, escalonamento por prioridades. Escalonamento circular com prioridades, poltica de escalonamento em Sistemas de Tempo Compartilhado e Sistemas de Tempo Real.

10. GERNCIA DO PROCESSADOR


Neste capitulo sero abordadas as funes bsicas do escalonamento, polticas e algoritmos, e descritos os mecanismos implementados na gerencia do processador.

10.1. Introduo
Com o surgimento dos sistemas multiprogramveis, onde mltiplos processos poderiam permanecer na memria principal compartilhando o uso da UCP, a gerncia do processador tomou-se 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.

10.2. Funes Bsicas


A poltica de escalonamento de um sistema operacional possui diversas funes bsicas, como a de 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. Cada sistema operacional possui sua poltica de escalonamento adequada ao seu propsito e as suas caractersticas. Sistemas de tempo compartilhado, por exemplo, 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 e denominada escalonador (scheduler). Em um sistema multiprogramvel, o escalonador e 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. Em ambientes que implementam apenas processos, o escalonamento realizado com base nos processos prontos para execuo. Em sistemas que implementam threads, o escalonamento realizado considerando os threads no estado de pronto, independente do processo. Neste caso, podemos considerar o processo como sendo a unidade de alocao de recursos, enquanto o thread a unidade de escalonamento.

Notas de Aula

Sistemas Operacionais

Estado de Execuo
to en m na alo sc E

Estado de Espera

Estado de P ronto

Figura 9.1 Escalonamento

10.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, 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. A seguir so apresentados os principais critrios que devem ser considerados em uma 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: 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. 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 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.

Notas de Aula

Sistemas Operacionais

Tempo de Turnaround: Tempo de turnround 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. Tempo de Resposta: Tempo de resposta o tempo decorrido entre uma requisio ao sistema ou a aplicao e o instante em que a resposta e exibida. Em sistemas interativos, podemos entender tempo de resposta como o tempo decorrido entre a ltima tecla digitada pelo usurio e o inicio da exibio do resultado no monitor. Em geral, o tempo de resposta no e limitado pela capacidade de processamento do sistema computacional, mas pela velocidade dos dispositivos de E/S. Em sistemas interativos, como aplicaes on line ou acesso a Web, os tempos de resposta devem ser da ordem de poucos segundos. De uma maneira geral, qualquer poltica de escalonamento busca otimizar a utilizao do processador e o throughput, enquanto tenta diminuir os tempos de turnaround, espera e resposta. Apesar disso, as funes que uma poltica de escalonamento deve possuir so muitas vezes conflitantes. Dependendo do tipo de sistema operacional, um critrio passa a ter maior importncia do que outros, como nos sistemas interativos onde o tempo de resposta tem grande relevncia.

10.4. 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. Sistemas operacionais que implementam escalonamento com preempo so mais complexos, porm possibilitam polticas de escalonamento mais flexveis. 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.

10.5. Ecalonamento First-In-First-Out (FIFO)


No escalonamento first-in-first-out (FIFO scheduling), tambm conhecido como first-come-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.

Notas de Aula

Sistemas Operacionais

Quando saem do estado de espera, todos os processos entram no final da fila de pronto (Fig. 9.2).
Fila dos processos no estado de P ronto Estado de Criao Estado de Trmino

UCP

Estado de Espera

Figura 9.2 Escalonamento

Apesar de simples, o escalonamento FIFO apresenta algumas deficincias. O 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. Como vimos, o algoritmo de escalonamento no se preocupa em melhorar o tempo mdio de espera dos processos, utilizando apenas a ordem de chegada dos processos fila de pronto. Esse problema pode ser melhor percebido nos tempos de tunaround dos processos que demandam melhor tempo de UCP. 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.

10.6. Escalonamento Shortest-Job-First (SJF)


No escalonamento shortest-job-first (SJF scheduling), tambm conhecido como shortest-process-next (SPN scheduling), 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. Essa implementao foi utilizada nos primeiros sistemas operacionais com processamento exclusivamente batch. Para cada novo processo admitido no sistema, um tempo de processador era associado ao seu contexto de software. Como no possvel precisar previamente o tempo de processador para cada processo, uma estimativa era realizada com base em anlises estatsticas de execues passadas dos programas. O tempo estimado era informado ao sistema operacional, que o utilizava como no algoritmo de escalonamento. Caso o tempo informado fosse muito inferior ao tempo real, o sistema operacional poderia interromper a execuo do processo. O principal problema desta implementao a impossibilidade de estimar o tempo de processador para processos interativos, devido a entrada de dados ser uma atividade imprevisvel. Uma maneira de implementar o escalonamento SJF em sistemas interativos foi considerar o comportamento do processo nesse ambiente. A caracterstica de um processo interativo ser escalonado, executar algumas poucas instrues e fazer uma operao de E/S. Aps o termino da operao, o processo novamente escalonado, executa mais algumas instrues e faz outra operao de E/S. Esse

Notas de Aula

Sistemas Operacionais

comportamento se repete at o trmino do processamento. Nesse caso, o escalonamento realizado com base no tempo que um processo ir utilizar a UCP na prxima vez em que for escalonado, e no mais no tempo total de processador que utilizara at o trmino do seu processamento. Um problema existente desta implementao no ser possvel ao sistema operacional saber quanto tempo um processo ir permanecer utilizando a UCP na prxima vez em que for escalonado, contudo possvel prever o tempo com base no seu comportamento passado. Na sua concepo inicial, o escalonamento SJF um escalonamento no-preemptivo. Sua vantagem sobre o escalonamento FIFO esta na reduo do tempo mdio de turnaround dos processos, porm no SJF possvel haver starvation para processos com tempo de processador muito longo ou do tipo CPU-bound. Uma implementao do escalonamento SJF com preempo conhecida como escalonamento shortest remaining time (SRT scheduling). Nessa poltica, toda vez que um processo no estado de pronto tem um tempo de processador estimado menor do que o processo em execuo, o sistema operacional realiza uma preempo, substituindo-o pelo novo processo. Semelhante ao SJF, o sistema operacional deve ser o responsvel por estimar os tempos de processador dos processos, mas o risco de starvation permanece.

10.7. 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 o FIFO e o SJF no-preemptivo. Neste caso, um processo em execuo pode voluntariamente liberar o processador retornando a fila de pronto, possibilitando que um novo processo seja escalonado e, assim, permitir melhor distribuio no uso do processador. A principal caracterstica do escalonamento cooperativo est no fato de a liberao do processador ser uma tarefa realizada exclusivamente pelo processo em execuo, que de uma maneira cooperativa libera a UCP para um outro processo. Neste mecanismo, o processo em execuo verifica periodicamente uma fila de mensagens para determinar se existem outros processos na fila de pronto. Como a interrupo do processo em execuo no responsabilidade do sistema operacional, algumas situaes indesejadas podem ocorrer. No caso de um processo no verificar a fila de mensagens, os demais no tero chance de ser executados ate a liberao da UCP pelo processo em execuo. Isto pode ocasionar srios problemas para a multiprogramao cooperativa, na medida em que um programa pode permanecer por um longo perodo de tempo alocando o processador. Um exemplo deste tipo de escalonamento pode ser encontrado nos primeiros sistemas operacionais da famlia Microsoft Windows, sendo conhecido como multitarefa cooperativa.

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

Notas de Aula

Sistemas Operacionais

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. A Fig. 9.5 ilustra o escalonamento circular, onde 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.
Fila dos processos no estado de Pronto Estado de Criao Estado de Trmino

UCP

Preempo por tempo

Estado de Espera

Figura 9.5 Escalonamento Circular

A Fig. 9.6 exemplifica o escalonamento circular com trs processos, onde a fatia de tempo igual a 2 u.t. No exemplo no est sendo levado em considerao o tempo de latncia do dispatcher, ou seja, o tempo de troca de contexto entre os processos.

Processo A

Processo B

Processo C

10 1 1

17

u.t.

Figura 9.6 Escalonamento Circular (Exemplo)

Notas de Aula

Sistemas Operacionais

O valor da fatia de tempo depende da arquitetura de cada sistema operacional e, em geral, varia entre 10 e 100 milissegundos. Este valor afeta diretamente o desempenho da poltica de escalonamento circular. Caso a fatia de tempo tenha um valor muito alto, este escalonamento tender a ter o mesmo comportamento do escalonamento FIFO. Caso o valor do time slice seja pequeno, a tendncia e que haja um grande nmero de preempes, o que ocasionaria excessivas mudanas de contexto, prejudicando o desempenho do sistema e afetando o tempo de turnaround dos processos. 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/O-bound. 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. Um refinamento do escalonamento circular, que busca reduzir este problema, conhecido como escalonamento circular virtual. Nesse esquema, processos que saem do estado de espera vo para uma fila de pronto auxiliar. Os processos da fila auxiliar possuem preferncia no escalonamento em relao a fila de pronto, e o escalonador s seleciona processos na fila de pronto quando a fila auxiliar estiver vazia. Quando um processo escalonado a partir da fila auxiliar, sua fatia de tempo e calculada como sendo o valor da fatia de tempo do sistema menos o tempo de processador que o processo utilizou na ltima vez em que foi escalonado a partir da fila de pronto. Estudos comprovam que, apesar da maior complexidade na implementao, o balanceamento do uso do processador neste esquema mais equilibrado.

10.9. 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. Aps isso, o processo de maior prioridade escalonado. A preempo por prioridade implementada atravs de uma interrupo de clock, gerada em determinados intervalos de tempo, para que a rotina de escalonamento reavalie as prioridades dos processos no estado de pronto. Caso haja processos na fila de pronto com maior prioridade do que o processo em execuo, o sistema operacional realiza a preempo.

Notas de Aula

Sistemas Operacionais

Neste escalonamento para cada prioridade existe uma fila de processos em estado de pronto que tratada como uma fila circular. O escalonamento realizado alocando o processador ao primeiro processo da fila de prioridade mais alta. O processo permanecer no estado de execuo at que termine seu processamento, voluntariamente passe para o estado de espera ou saia uma preempo por prioridade. O escalonamento por prioridades tambm pode ser implementado de uma maneira nopreemptiva. Neste caso, processos que passem para o estado de pronto com prioridade maior do que a do processo em execuo no ocasionam preempo, sendo apenas colocados no inicio da fila de pronto. Cada sistema operacional implementa sua faixa de valores para as prioridades de execuo. Alguns sistemas associam as maiores prioridades a valores altos, enquanto outros sistemas utilizam valores baixos. No caso do Open VMS, a prioridade do processo pode variar de 0 a 31, onde 31 e a maior prioridade. No IBM-AIX, a prioridade varia de 0 a 127, porem os valores mais baixos possuem maior prioridade de execuo. A prioridade de execuo uma caracterstica do contexto de software de um processo e pode ser classificada como esttica ou dinmica. A prioridade esttica no tem o seu valor alterado durante a existncia do processo, j a prioridade dinmica pode ser ajustada de acordo com critrios definidos pelo sistema operacional. A possibilidade de alterar o valor da prioridade de um processo ao longo de seu processamento permite ajustar o critrio de escalonamento em funo do comportamento de cada processo no sistema. 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. O escalonamento por prioridades 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.

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

Notas de Aula

10

Sistemas Operacionais

10.11. Escalonamento por Mltiplas Filas


No escalonamento por mltiplas filas (multilevel queue scheduling) 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 os 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 da convivncia de mecanismos de escalonamento distintos em um mesmo sistema operacional. Cada fila possui um mecanismo prprio, permitindo que alguns processos sejam escalonados pelo mecanismo FIFO, enquanto outros pelo circular. Neste mecanismo, o processo no possui prioridade, ficando esta caracterstica associada a fila. O processo em execuo sofre preempo caso um outro processo entre em uma fila de maior prioridade. O sistema operacional s pode escalonar processos de uma determinada fila caso todas as outras filas de maior prioridade estejam vazias. Uma boa pratica c1assificar os processos em funo do tipo de processamento realizado e associ-los adequadamente as respectivas filas. Para exemplificarmos esse escalonamento, considere que os processos sejam divididos em trs grupos: sistema, interativo e batch (Fig. 9.7). Os processos do sistema devem ser colocados em uma fila de prioridade mais alta com relao aos outros processos, implementando um algoritmo de escalonamento baseado em prioridades. Os processos de usurios interativos devem estar em uma fila de prioridade intermediria, implementando o escalonamento circular. O mesmo mecanismo de escalonamento pode ser utilizado na fila de processos batch, com a diferena de que esta fila deve possuir uma prioridade mais baixa.
Fila de processos do sistema Maior prioridade Fila de processos interativos

UCP

Fila de processos batch Menor prioridade


Figura 9.7 Escalonamento Circular (Exemplo)

Uma desvantagem deste escalonamento que, no caso de um processo alterar seu comportamento no decorrer do tempo, o processo no podem ser redirecionado para uma outra fila mais adequada. A associao de um processo a fila determinada na criao do processo, permanecendo at o termino do seu processamento.

Notas de Aula

11

Sistemas Operacionais

10.12. Escalonamento por Mltiplas Filas com Realimentao


O escalonamento por mltiplas filas com realimentao (multilevel feedback queues scheduling) semelhante ao escalonamento por mltiplas filas, porm os processos podem trocar de fila durante seu processamento. Sua grande vantagem permitir ao sistema operacional identificar dinamicamente o comportamento de cada processo, direcionando-o para fila com prioridade de execuo e mecanismo de escalonamento mais adequados ao longo de seu processamento. Esse esquema permite que os processos sejam redirecionados entre as diversas filas, fazendo com que o sistema operacional implemente um mecanismo de ajuste dinmico denominado mecanismo adaptativo. Os processos no so previamente associados as filas de pronto, e, sim, direcionados pelo sistema para as filas existentes com base no seu comportamento. Um mecanismo FIFO adaptado com fatia de tempo implementado para escalonamento em todas as filas, com exceo da fila de menor prioridade que utiliza o escalonamento circular. O escalonamento de um processo em uma fila ocorre apenas quando todas as outras filas de prioridades mais altas estiverem vazias. A fatia de tempo em cada fila varia em funo da sua prioridade, ou seja, quanto maior a prioridade da fila, menor sua fatia de tempo (Figura abaixo). Sendo assim, a fatia de tempo concedida aos processos varia em funo da fila de pronto na qual ele se encontra. Um processo, quando criado, entra no final da fila de maior prioridade, porm durante sua execuo, a cada preempo por tempo, o processo e redirecionado para uma fila de menor prioridade. Este escalonamento atende as necessidades dos diversos tipos de processos. No caso de processos I/O-bound, um tempo de resposta adequado obtido, j que esses processos tm prioridades mais altas por permanecerem a maior parte do tempo nas filas de maior prioridade, pois dificilmente sofrero preempo por tempo. Por outro lado, em processos CPU-bound a tendncia de que, ao entrar na fila de mais alta prioridade, o processo ganhe o processador, gaste sua fatia de tempo, e seja direcionado para uma fila de menor prioridade. Dessa forma, quanto mais tempo um processo se utiliza do processador, mais ele vai caindo para filas de menor prioridade. O escalonamento por mltiplas filas com realimentao um algoritmo de escalonamento generalista, podendo ser implementado em qualquer tipo de sistema operacional. Um dos problemas encontrados nessa poltica que a mudana de comportamento de um processo CPU-bound para um I/O-bound pode comprometer seu tempo de resposta. Outro aspecto a ser considerado sua complexidade de implementao, ocasionando um grande overhead ao sistema.
M of t e ra n ia P r ae r id d io F a 1 (F il IFO Adaptado) d t mo ee p Mio ar

P eempo por tempo r

F a 2 (F il IFO Adaptado)

P eempo por tempo r

F a 3 (F il IFO Adaptado)

UCP

P eempo por tempo r

Mio f t ara ia

P r ae r id d io

M o e r n

F ila n (Cir cular)

P eempo por tempo r

Notas de Aula

d t mo ee p

12

Você também pode gostar