Académique Documents
Professionnel Documents
Culture Documents
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