Vous êtes sur la page 1sur 2

rascunho para assign 02

Escalonamento no Linux:
Tradicionalmente os processos so divididos em trs classes:
- processos interativos
- processos Batch
- processos de tempo real
Em cada uma dessas classes, o processo pode ainda ser subdividido em:
CPU bound ou I/O bound, de acordo com a proporo de tempo que ficam
esperando operaes de I/O ou utilizando o processador.
**O escalonador do Linux no distingue processos interativos de processos
batch. Ele s os distingue de processos de tempo real. Conforme todos os
escalonadores UNIX, o escalonador do Linux, privilegia processos I/O bound
em relao aos CPU bound, de forma a oferecer um melhor tempo de resposta
s aplicaes interativas.
O escalonador do Linux baseado em time-sharing, isso significa que o tempo
do processador dividido em 'quantums' (pedaos de tempo). Se o quantum de
um processo acabar durante sua execuo, um novo processo selecionado para
executar, o que causa uma troca de contexto.
Este procedimento completamente transparente ao processo e baseia-se em
interrupes, portanto o escalonar do Linux do tipo preemptivo.
O algoritmo de escalonamento do Linux divide o tempo de processamento em
pocas (epochs). Ao ser criado, cada processo, recebe um quantum, que podem
variar entre os processos. O valor do quantum corresponte a durao da poca,
e esta um multiplo de 10ms, inferior a 100ms.
O escalonador do Linux possui prioridades dinmicas. O escalonador monitora
o comportamento do processo e ajusta dinamicamente sua prioridade.
-> Processos que recentemente ocuparam o processador por um tempo "longo
"
tm a prioridade reduzida. Se o processo, ocupou pouco o processad
or,
sua prioridade aumentada.
O sistema Linux possui dois tipos de prioridades: Esttica e Dinmica.
-> Prioridades estticas so utilizadas somente pelos processos de tempo rea
l,
com valores na faixa de 1-99.
-> Prioridades dinmicas so utilizadas por processos interativos e batch.
A prioridade calculada levando-se em considerao a prioridade base do
processo e o tempo restante em seu quantum.
O escalonador Linux executa processos de prioridade dinmica somente se no houver
processos de tempo real para serem executados.
O escalonador do Linux possui 3 polticas de seleo de processos:
SCHED_FIFO: (Apenas para processos de tempo real) Quando um processo
criado, seu descritor adicionado no fim de sua fila de prioridade.
Nesta poltica, um processo s para de executar se uma de trs situaes
ocorrerem. (a) um processo de tempo real de prioridade superior fica pro
nto
para executar. (b) o processo libera espontaneamente o processador para
processos

com prioridades igual sua. (c) O processo termina, ou bloqueia-se, em um


a operao
de I/O ou sincronizao.
SCHED_RR: Ao ser criado, a descrio de um processo adicionado ao fim de
sua fila de prioridade. O processo executa at a ocorrncia de uma dentre qu
atro
condies. (a) seu quantum se esgota, neste caso o processo adicionado ao fi
m
de sua fila de prioridade. (b) Um processo de prioridade superior fica a
pto a
executar. (c) O processo libera espontaneamente o processador para proce
ssos de
igual prioridade. (d) O processo termina, ou bloqueia-se, em uma operao
de I/O ou sincronizao.
SCHED_OTHER: Corresponde a um esquema de filas multinvel de prioridades
dinmicas com timesharing. Processos interativos e batch esto nesta categor
ia.
Quando um processo executa um 'fork', ele cede metade de seu quantum restante ao
processo filho.
Este procedimento, um tipo de proteo para evitar que um processo filho execute o m
esmo cdigo
do pai. Sem esta proteo, o filho receberia um novo quantum integral.
O escalonador do Linux executado de duas formas diferentes.
-> A primeira forma atravs de uma chamada explcita rotina de implementao
do escalonador. O kernel do Linux utiliza esta forma quando,por exemplo,
detecta que um processo deve ser bloqueado devido a uma chamada de I/O o
u sincronizao.
-> A segunda forma denominada 'lazy', que ocorre em uma de trs situaes:
(a) Rotina de tratamento de interrupo de tempo que atualiza os tem
porizadores e realiza
a contabilizao de tempo por processo. Essa rotina detecta se o qua
ntum do processo acabou e
aciona o escalonador para efetuar a troca de processo.

Vous aimerez peut-être aussi