Sunteți pe pagina 1din 44

Sistemas Operacionais Escalonamento de Processo

Prof. Ms. Mrcio Andrey Teixeira

Escalonamento de Processos

Quando um computador multiprogramado, ele muitas vezes tem variados processos que competem pela CPU ao mesmo tempo; Essa situao ocorre sempre que simultaneamente no estado de pronto; dois ou mais processos esto

A parte do SO que faz a escolha de qual processo deve ser executado chamado de escalonador, e o algoritmo que usado chamado de algoritmo de escalonamento; Comportamento do processo A figura abaixo mostra como os programas se comportam em relao a utilizao da CPU

a)
Espera pela E/S

b)
Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Quando escalonar
Quando se deve escalonar ??? 1 Quando se cria um novo processo !!! 2 No trmino de um processo !!! 3 Quando um processo bloqueado !!!! 4 Quando um processo executa o evento de E/S !!!

O algoritmo de escalonamento pode ser: No preemptivo: O processo executa at o fim, sem ser interrompido; Preemptivo: O processo executa em fatias de tempo (quantum) determinado pelo sistema operacional.

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Em sistemas multiprogramados, mltiplos processos so mantidos na memria principal, cada qual alternando o uso do processados. Como fator principal da multiprogramao, quatro tipo de escalonamento so possveis: Longterm Scheduling: Determina os processos que sero admitidos no sistema. Mediumterm Scheduling: Determina a adio de um nmero de processos que esto parcialmente ou completamente na memria Shortterm Scheduling: Determina quais processos sero executados pelo processador

Longterm Scheduling e Mediumterm Scheduling esto diretamente relacionados com aspectos de performance, ou seja grau de multiprogramao. utilizado quando o processo dever ser admitido no sistema e quando tomar deciso de trocar parte do processo da memria primria para a memria secundria. Shortterm Scheduling aborda com alto grau de performance o escalonamento de processos que esto pronto para executar na memria principal.

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

A Figura abaixo mostra um exemplo da utilizao dos tipos de algoritmos de escalonamento:

O objetivo do escalonador atribuir processos para serem executados pelos processadores de modo a atingir parmetros de performance, tais como tempo de resposta, vazo e eficincia do processos.

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Reorganizao dos tipos de algoritmos de escalonamento existente:

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

O escalonamento afeta a performance do sistema, pois determina quais processos devero esperar e quais devero progredir. Isso envolve o gerenciamento de filas, exemplo:

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Longterm Scheduling: Determina quais programas sero admitidos pelo sistema para o processamento, ou seja, controla o grau da multiprogramao. - Em alguns sistemas, um processo que acabou de ser criado inicia-se na memria secundria e, neste caso, ser adicionado a fila do escalonador intermedirio. - Em sistemas operacionais de processamento em lote, processos recm criados so direcionados para o disco e mantidos numa fila de lote. - A deciso de quando criar um novo processo geralmente tomada como resultado do grau de multiprogramao. Quanto mais processos existirem menor o tempo da tomada para cada um ser executado, pois mais processos competem pelos recursos .

- Em termos de frequncia de execuo, Long term Scheduler desempenha o gerenciamento grosseiro, e portanto, executado com baixa frequncia.

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Medium-term Scheduling: Responsvel pela troca (swapping) entre memria secundria e memria principal. - Executa com mais freqncia que o anterior para o gerenciamento de swapping. Short term Scheduling: Tambm conhecido como dispatcher, executado muito frequntemente sendo responsvel pela tomada de deciso de qual processo ser executado (prximo processo). - Este escalonamento executado quando da ocorrncia de um evento que conduza o bloqueio do processo corrente, cria-se uma oportunidade de preenpo em favor de outro processo. Exemplos desses eventos so: - Clock da CPU; - Interrupes de I/O; - Chamadas do sistema operacional; - O Short term Scheduling procura alocar o tempo do processador de tal maneira a otmizar um ou mais aspectos do comportamento do sistema.

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Os critrios utilizados para isso so distinguidos em: critrios orientados ao sistema e critrios orientados aos usurios. Critrios orientados aos usurios: Esto relacionados como os usurios ou os processos quantificam o comportamento do sistema: - Response Time: Para um processo interativo, este o tempo desde a submisso de uma requisio at a sua resposta. A disciplina de escalonamento dever maximizar o nmero de usurios interativos em um tempo de resposta aceitvel; - Turnaround time: Este o intervalo de tempo entre a submisso de um processo e o seu trmino de execuo. Este tempo inclui o tempo atual de execuo mais o tempo de espera pelo recurso, incluindo a CPU. Est a mdia apropriada de um Job em Lote; - Deadlines: Quando um deadline de um processo pode ser especificado, a disciplina do algoritmo de escalonamento deve maximizar a porcentagem da execuo dos deadlines existentes;

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Critrios orientados ao sistema: Esto relacionados o comportamento do sistema em si.

- Throughput: A poltica de escalonamento deve tentar maximizar o nmero de processos completados por unidade de tempo. Esta a mdia de quanto trabalho iniciado executado; - Processor utilization: Porcentagem de tempo em que o processador est ocupado. Em um sistema compartilhado, este um critrio significante; - Balanceamento de recursos: A poltica de escalonamento deve manter os recursos do sistema ocupado; - Priority: A poltica de escalonamento deve favorecer os processos com maiores prioridades;

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Os critrios citados so independente, sendo complicado otimiz-los em conjunto e simultaneamente. Ex:. Para prover um bom tempo de resposta, pode exigir do algoritmo de escalonamento que freqentemente troque o contexto entre processos, o que aumenta o overhead do sistema, ou seja, contribui para reduzir a vazo dos processos.

Na maioria dos sistemas operacionais interativos, o tempo de resposta o critrio principal; Em muitos sistemas, cada processo atribudo uma prioridade e o escalonador ir sempre escolher com mais alta prioridade sobre o de menor prioridade; A figura a seguir ilustra um exemplo de escalonamento com filas de prioridade

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Um dos problemas deste algoritmo que processos com baixa prioridade podem chegar a no serem executados; Soluo: alterar a prioridade do processo de acordo com seu histrico de execuo e em funo do tempo;

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Exemplo de um Overhead do sistema

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Categorias de escalonamento de processo


Para ambientes diferentes de sistemas operacionais, so necessrios tipos diferentes de algoritmos de escalonamento. Esses ambientes podem ser: 1. Lote; 2. Interativo (propsito geral); 3. Tempo real; Em sistemas em Lote, no h terminal com usurios esperando impacientes por uma resposta rpida. Conseqentemente, algoritmos com longo intervalo de tempo para cada processo em geral so aceitveis. Em sistemas com usurios interativos, a preempo para evitar que um processo se aposse da CPU, e com isso negue servio aos outros. Em sistemas com restrio de tempo real, a preempo estranhamente, desnecessria algumas vezes, pois os processos sabem que no podem executar por longos perodos de tempo e em geral fazem seus trabalhos e bloqueiam rapidamente.
Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Categorias de escalonamento de processo


Um bom algoritmo de escalonamento projetado de acordo com os critrios de utilizao j mencionados, isso dependendo o ambiente do sistema operacional (em lote, interativo ou tempo real), mas existem alguns critrios que so desejveis para todos os casos, exemplo: Para todos os ambiente: - Justia: Dar a cada processo uma poro justa da CPU; - Aplicao da poltica: verificar se a poltica estabelecida cumprida; - Equilbrio: manter ocupada todas as partes do sistema; Sistemas em lote: - Vazo (Througput): Maximizar o nmero de jobs por hora; - Tempo de retorno: Minimizar o tempo de entre a submisso e o trmino da execuo; - Utilizao da CPU: manter a CPU ocupada todo o tempo;

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Sistemas interativos: - Tempo de resposta: responder rapidamente s requisies; - Proporcionalidade: Satisfazer as perspectivas dos usurios;

Sistemas de tempo real: - Cumprimento dos prazos: evitar a perda de dados; - Previsibilidade: evitar a degradao da qualidade em sistemas multimdias

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Algoritmos de escalonamento (Lote)


Primeiro a chegar, primeiro a ser servido O algoritmo (first come, first served FCFS) possui as seguintes caractersticas: - Com esse algoritmo, a CPU atribuda aos processos na ordem em que eles a requisitam. Basicamente h uma fila nica de processos prontos; - Quando o processo requisita a CPU ele executado. Quando chega mais processos, estes so inseridos em uma fila.

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Considere a seguinte tabela Processo A B C D E Tempo de chegada 0 2 4 6 8 Tempo de servio 3 6 4 5 2

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Primeiro a chegar, primeiro a ser servido Grande vantagem desse algoritmo que: de fcil entendimento e de fcil implementao. Maior desvantagem desse algoritmo: quando tem-se programas orientados a CPU e programas orientados a E/S. Por exemplo, um programa orientado a CPU executa 1 segundo, e um programa orientado a E/S que executa pouco tempo de CPU, mas necessita de executar mil leituras no disco antes de terminar; Em um algoritmo com preempo a cada 10 milessegundos (em vez de cada um segundo), o processo terminaria em 10 segundos; Job mais curto primeiro Vejamos um outro algoritmo em lote no preemptivo que supe como previamente conhecido todos os tempos de execuo.

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Job mais curto primeiro Considere a seguinte seqncia de execuo !

8 A

4 B

4 C

4 D

4 B

4 C

4 D

8 A

Tempo de retorno: A = 8; B = 12; C = 16; D = 20 ; Tempo mdio (A + B + C + D) / 4

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Exemplo. Considere a tabela abaixo. Processo P1 P2 P3 P4 P5 Tempo de chegada 0 2 4 6 8 Tempo de servio 3 6 4 5 2

Job mais curto primeiro

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Prximo de menor tempo restante Uma verso preemptiva do FCFS o prximo menor tempo restante. Com este algoritmo, o escalonador sempre escolhe o processo cujo o tempo de execuo restante seja o menor. Novamente, o tempo de execuo dever ser previamente conhecido. Quando chega um novo job, seu tempo total comparado ao tempo restante do processo em curso. Se para terminar, o novo job precisar de menos tempo que o processo atual, ento esse ser suspenso e o novo job ser iniciado.

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Prximo de menor tempo restante (Exemplo) Processo P1 P2 P3 P4 P5 Tempo de chegada 0 2 4 6 8 Tempo de servio 3 6 4 5 2

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Algoritmos de escalonamento interativo


Escalonamento por alternncia circular (Round Robin) - Um dos algoritmos mais antigos - A cada processo atribudo um intervalo de tempo, o quantum, no qual ele permitido executar; - Se no final do quantum o processo no terminou, a CPU sofre uma preempo e outro processo entra para executar; - Quando um processo termina o seu quantum, ele colocado no final da fila. Exemplo:

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

- O que interessa em um escalonador circular o tamanho do quantum. A alternncia de um processo para outro requer uma certa quantidade de tempo (Troca de contexto). Vamos supor que para cada processo, a troca de contexto dure 1ms. Suponha tambm que o quantum de 4 ms. Com este exemplo, aps 4 ms de trabalho, a CPU gastar 1 ms para alternar o processo; Nesse exemplo, 20% da CPU ser gasta com a troca de contexto dos processos gerando um overhead muito alto. Para melhorar a eficincia, vamos supor um quantum de 100 ms, agora o tempo gasto com o overhead de 1% do tempo da CPU; Considere o que pode acontecer quando 10 usurios de um sistema interativo apertem a tecla <ENTER> quase ao mesmo tempo. Dez processos sero alocados na lista de pronto para executar. O que acontecer ????????? Um quantum entre 25 a 50 ms bastante razovel

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

A Figura a seguir ilustra um a execuo do escalonamento RR com quantum de 1 e 4 ms.


Processo P1 P2 P3 P4 P5 Tempo de chegada 0 2 4 6 8 Tempo de servio 3 6 4 5 2

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Escalonamento por prioridades O escalonamento circular pressupe que todos os processos so igualmente importantes. Para que haja diferenas externas de execuo, foi criado o escalonamento por prioridade. A idia bsica simples: - A cada processo atribudo uma prioridade, e o processo com maior prioridade executado primeiro; Mesmo em um PC comum com um nico proprietrio, pode haver mltiplos processos com prioridades diferentes. - Exemplo, um processo como um deamon de correio eletrnico deve ter menor prioridade que um processo que atualiza um vdeo na tela; Para evitar que processos de alta prioridade executem infinitamente, o escalonador pode reduzir a prioridade do processo a cada execuo do mesmo. As prioridades so atribudas pelo S.O. No Linux, o comando nice altera a prioridade de um processo de acordo com que o usurio desejar.

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Muitas vezes conveniente agrupar processos em classes de prioridade e usar o escalonamento de prioridade entre as classes, contudo em cada classe usar o escalonamento circular. A figura a seguir mostra um exemplo com quatro classes de prioridades:

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Outro exemplo de escalonamento com classes de prioridades.

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Medidas de Desempenho dos algoritmos de escalonamento Considere as seguintes itens: Tempo de chegada: Tempo em que o processo entra no sistema; Tempo de servio: Tempo total de processamento; Turneraund Time: Intervalo entre a entrada do processo no sistema e o seu trmino; Tt / Ts: Tempo de desempenho do processo; Calcular o desempenho dos algoritmos de escalonamento utilizando a tabela abaixo:
Processo P1 P2 P3 P4 P5 Tempo de chegada 0 2 4 6 8 Tempo de servio 3 6 4 5 2

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Medidas de Desempenho dos algoritmos de escalonamento


Processo P1 P2 P3 P4 P5 Tempo de chegada 0 2 4 6 8 Tempo de servio 3 6 4 5 2

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Job mais curto primeiro


Processo P1 P2 P3 P4 P5 Tempo de chegada 0 2 4 6 8 Tempo de servio 3 6 4 5 2

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento de Processos

Determine as medidas de tempo para os algoritmos abaixo: Round Roubin: Q=1; Q=4

Prof. Ms. Mrcio Andrey Teixeira Sistemas Operacionais

Escalonamento utilizado pelo sistema operacional Linux


O problema bsico de escalonamento em sistemas operacionais como satisfazer simultaneamente objetivos conflitantes: tempo de resposta rpido, bom throughput para processos background, conciliar processos de alta prioridade com de baixa prioridade, etc. (Determinar a poltica de escalonamento) Os sistemas operacionais Linux implementam o escalonamento da seguinte forma: Os processos so divididos em trs grandes classes: processos interativos, processos batch e processos tempo real. Em cada classe, os processos podem ser ainda subdivididos em I/O bound ou CPU bound de acordo com a proporo de tempo que ficam esperando por operaes de entrada e sada ou utilizando o processador. O escalonador do Linux no distingue processos interativos de processos batch, diferenciando-os apenas dos processos tempo real. Como todos os outros escalonadores UNIX, o escalonador Linux privilegia os processos I/O bound em relao aos CPU bound de forma a oferecer um melhor tempo de resposta s aplicaes interativas.

Escalonamento utilizado pelo sistema operacional Linux


O escalonador do Linux baseado em time-sharing, ou seja, o tempo do processador dividido em fatias de tempo (quantum) as quais so alocadas aos processos. Se, durante a execuo de um processo, o quantum esgotado, um novo processo selecionado para execuo, provocando ento uma troca de contexto Esse procedimento completamente transparente ao processo e baseia-se em interrupes de tempo. Esse comportamento confere ao Linux um escalonamento do tipo preemptivo. Outra caracterstica do escalonador Linux a existncia de prioridades dinmicas. O escalonador do Linux monitora o comportamento de um processo e ajusta dinamicamente sua prioridade, visando a equalizar o uso do processador entre os processos. Processos que recentemente ocuparam o processador durante um perodo de tempo considerado longo tm sua prioridade reduzida. De forma anloga, aqueles que esto h muito tempo sem executar recebem um aumento na sua prioridade, sendo ento beneficiados em novas operaes de escalonamento. As prioridades dos processos podem ser modificadas pelo usurio, utilizando o comando nice. As prioridades dos processos variam entre 20 e -19, sendo esta a prioridade mais alta.

Escalonamento utilizado pelo sistema operacional Linux


Na realidade, o sistema Linux trabalha com dois tipos de prioridades: esttica e dinmica. As prioridades estticas so utilizadas exclusivamente por processos de tempo real e, neste caso, a prioridade do processo tempo real definida pelo usurio e no modificada pelo escalonador. O esquema de prioridades dinmicas aplicado aos processos interativos e batch. Aqui, a prioridade calculada, considerando-se a prioridade base do processo e a quantidade de tempo restante em seu quantum. O escalonador do Linux executa os processos de prioridade dinmica apenas quando no h processos de tempo real. Em outros termos, os processos de prioridade esttica recebem uma prioridade maior que os processos de prioridade dinmica. Para selecionar um processo para execuo, o escalonador do Linux prev trs polticas diferentes :

Escalonamento utilizado pelo sistema operacional Linux


SCHED_FIFO: Essa poltica valida apenas para os processos de tempo real. Na criao, o descritor do processo inserido no final da fila correspondente sua prioridade. Nessa poltica, quando um processo alocado ao processador, ele executa at que uma de trs situaes ocorra: (i) um processo de tempo real de prioridade superior torna-se apto a executar; (ii) o processo libera espontaneamente o processador para processos de prioridade igual sua; (iii) o processo termina, ou bloqueia-se, em uma operao de entrada e sada ou de sincronizao. SCHED_RR: Na criao, o descritor do processo inserido no final da fila correspondente sua prioridade. Quando um processo alocado ao processador, ele executa at que uma de quatro situaes ocorra: (i) seu perodo de execuo (quantum) tenha se esgotado nesse caso o processo inserido no final de sua fila de prioridade; (ii) um processo de prioridade superior torna-se apto a executar; (iii) o processo libera espontaneamente o processador para processos de prioridade igual a sua; (iv) o processo termina, ou bloqueia-se, em uma operao de entrada e sada ou de sincronizao. Essa poltica tambm s vlida para processos de tempo real.

Escalonamento utilizado pelo sistema operacional Linux


Se o processo a ser desbloqueado possuir uma prioridade mais alta, o escalonador acionado, e ocorre uma troca de processo. - A terceira, e ltima forma de execuo lazy, quando um processo explicitamente invoca o escalonador atravs de uma chamada de sistema do tipo yield. Essa chamada de sistema permite a um processo passar sua vez de execuo a outro processo, e, para isso, parece claro, necessrio executar o escalonador.

Escalonamento utilizado pelo sistema operacional Linux


SCHED_OTHER: Corresponde a um esquema de filas multinvel de prioridades dinmicas com timesharing. Os processo interativos e batch recaem nessa categoria. O escalonador do Linux executado a partir de duas formas diferentes: - A primeira a forma direta atravs de uma chamada explcita rotina que implementa o escalonador. Essa a maneira utilizada pelo ncleo do Linux quando, por exemplo, detecta que um processo dever ser bloqueado em decorrncia de uma operao de entrada e sada ou de sincronizao. - A segunda forma, denominada de lazy, tambm conseqncia do procedimento de escalonamento, ocorrendo tipicamente em uma das duas situaes: - A primeira dessas situaes a rotina de tratamento de interrupo de tempo que atualiza os temporizadores e realiza a contabilizao de tempo por processo. Essa rotina, ao detectar que um processo esgotou seu quantum de execuo aciona o escalonador para que seja efetuada uma troca de processo. - A segunda situao ocorre quando um processo de mais alta prioridade desbloqueado pela ocorrncia do evento que esperava. A parte do cdigo que efetua o desbloqueio, isto , trata os eventos de sincronizao e de entrada e sada, consulta a prioridade do processo atualmente em execuo e compara-a com a do processo que ser desbloqueado.

Escalonamento utilizado pelo sistema operacional Windows 2000


O escalonador do Windows 2000 preemptivo com prioridades. As prioridades so organizadas em duas classes: tempo real e varivel. Cada classe possui 16 nveis de prioridades, sendo que as threads da classe tempo real tm precedncia sobre as threads da classe varivel, isto , sempre que no houver processador disponvel, uma thread de classe varivel preemptada em favor de uma thread da classe tempo real. Todas as threads prontas para executar so mantidas em estruturas de filas associadas a prioridades em cada uma das classes. Cada fila atendida por uma poltica Roundrobin. A atribuio de prioridades a threads diferente para cada uma das classes. Enquanto na classe de tempo real, as threads possuem prioridade fixa, determinada no momento de sua criao, as threads da classe varivel tm suas prioridades atribudas de forma dinmica (por isso o nome de varivel para essa classe).

Escalonamento utilizado pelo sistema operacional Windows 2000


Dessa forma, uma thread de tempo real, quando criada, recebe uma prioridade e ser sempre inserida na fila dessa prioridade, ao passo que uma thread da classe varivel poder migrar entre as diferentes filas de prioridades. Em outros termos, o Windows 2000 implementa um esquema de mltiplas filas para as threads da classe real e mltiplas filas com realimentao para as threads da classe varivel. A figura a seguir ilustra o sistema de prioridades de Wndows 2000.

Escalonamento utilizado pelo sistema operacional Windows 2000


Na classe varivel, a prioridade de uma thread estabelecida a partir de dois parmetros, um vnculado prpria thread e outro, ao processo a que pertence. Um objeto processo, durante sua criao, recebe um valor, entre zero e 15 inclusive, para sua prioridade de base. Cada thread recebe uma prioridade inicial, variando 2 unidades acima ou abaixo da prioridade de base do processo, que indica sua prioridade relativa dentro desse processo. A prioridade de uma thread varia durante a sua vida, mas nunca assumir valores inferiores a sua prioridade base nem superiores a 15. O critrio empregado para variar a prioridade de uma thread o tempo de utilizao do processador. Se a thread for preemptada por ter executado durante todo o quantum de tempo que lhe foi atribudo, o escalonador do Windows 2000 diminui sua prioridade; caso contrrio, sua prioridade aumentada. Em outros termos, o escalonador do Windows 2000 tende a atribuir prioridades mais elevadas para threads do tipo I/O bound.

Escalonamento utilizado pelo sistema operacional Windows 2000


Em mquinas monoprocessadoras, a thread de mais alta prioridade est sempre ativa a menos que esteja bloqueada esperando por um evento (E/S ou sincronizao). Caso exista mais de uma thread com um mesmo nvel de prioridade o processador compartilhado de forma round-robin entre essas threads. Em um sistema multiprocessador com n processadores, as threads de mais alta prioridade executam nos n-1 processadores extras. As threads de mais baixa prioridade disputam o processador restante.

S-ar putea să vă placă și