Você está na página 1de 3

Escalonadores Em multiprogramao diversos processos disputam os recursos do processador.

Existe ento a necessidade de organizar a utilizao do processador, ou seja, os processos devem ser ESCALONADOS. Maneiras de escalonar: Escalonamento de Curto Prazo = Processos em memria executando Escalonamento de Longo Prazo = Processos relativos entrada/sada Escalonamento de Mdio Prazo = Processo com escalonamento utilizando SWAPPING: SWAP-IN e SWAP-OUT. Algoritmos de Escalonamento So desenvolvidos visando os escalonadores de curto prazo, porm, podem ser adaptados para os de mdio prazo. Funes dos Algoritmos de escalonamento: Produo do Sistema (thoughput): Que mantm o processador funcionando todo o tempo. Quanto maior o Thoughput mais eficiente ser o algoritmo. -Diminuir o tempo de resposta percebido pelo usurio. Para todos os algoritmos necessrio considerar a existncia de processos i/o-bound (espera uma chamada) e cpu-bound(enquanto esta executando). No adianta baixo tempo mdio de espera se tivermos Varincia Elevada. FIFO: mais simples; Problema: Quando um processo cpu/bound ocupa o processador os outros processos devem ficar esperando a sua vez. Programa de tempo usando FIFO Processo A B C D Durao do prximo ciclo de processador 12 unidades de tempo 8 unidades de tempo 15 unidades de tempo 5 unidades de tempo

Tempo mdio na fila do processador = 0+12+20+35/ 4= 16,75 unidades de tempo.

SIF: (Shortest Job First) Ciclo do processador menor antes. O menor tempo mdio obtido quando selecionado antes do processo cujo prximo ciclo de processador o menor entre os processos que esto na fila.

Esse algoritmo poderia ser implementado como uma lista ordenada na ordem recente de durao do prximo ciclo do processador.

Tempo mdio de espera na fila = (0+5+13+25) /4= 10,75 Mesmo no podendo ser implementado, esse algoritmo til por duas razes. Primeiro ele oferece um limite tcnico para o tempo mdio de espera. Em segundo lugar, pode ser implementado para simulaes e comparaes com outros algoritmos. Prioridade: Quando os processos de um sistema possuem diferentes prioridades, essa prioridade pode ser utilizada para decidir qual processo executado a seguir. Um algoritmo de escalonamento desse tipo pode ser implementado atravs de uma lista ordenada conforme a prioridade do processo. Tabela com fila de processos hipottica. Para cada processo foi especificada uma prioridade. Processo A B C D Prioridade 3 4 2 1 Durao do prximo ciclo de processador 12 unidades de tempo 8 unidades de tempo 19 unidades de tempo 5 unidades de tempo

Diagrama de tempo

possvel que o processo de baixa prioridade nunca execute, porque sempre existe algum outro de prioridade na fila, em outras palavras, possvel que o processo sofra uma postergao indefinida.

Algoritmo Preceptivo Se o processo em execuo perder o processador para outro processo, por algum motivo que no seja o trmino de seu ciclo de processador. Algoritmo No Preceptivo Se o processo em execuo puder o processador por vontade prpria (chamada do sistema). Fatia de Tempo Este mtodo, tambm conhecido como Round-Robin, cada fatia recebe fatia de tempo do processador chamado 1 quantum, ele pode ser implementado atravs de FIFO. Como esse algoritmo trabalha com fatias de tempo se um processo perder o processador por uma chamada de sistema, ele voltar para o final da fila. E tambm poder perder o processador caso o processo no tenha sido totalmente executado durante o quantum. Mltiplas Filas A partir dos algoritmos bsicos apresentados possvel imaginar dezenas de combinaes e variaes tipicamente, a maioria dos sistemas trabalha com fatia de tempo. Tambm usual empregarem prioridade para favorecer determinados processos que realizam tarefas para o prprio sistema operacional. Em sistemas de tempo real que atendem a eventos externos, tais como fornos, motores e vlvulas prioridade essencial. Esses processos precisam atender eventos externos dentro de limites bem definidos de tempo.

Você também pode gostar