escalonamento de processos métodos de escalonamento de processos em sistemas operacionais
TRANSCRIPT
Escalonamento de Processos
Métodos de escalonamento de processos em Sistemas Operacionais
Processos X Threads
Tipos de sistemas 1 processo X 1 thread: MSDOS N processos X 1 thread: OS/386, VAX/VMS,
Windows 3.1, UNIX antigo 1 processo X N threads: kernels para sist.
embarc. N processos X N threads: Windows
95/98,NT, UNIX
Escalonamento de Processos
Processo Estados de um processo
Pronto Rodando
Bloqueado
CriaçãoTérmino
Esperandoevento
Eventoocorreu
ID do ProcessoEstado
Program CounterPonteiros da Memória
Contexto (regs.)I/O Status
Prioridade
Informações gerais• tempo de CPU• limites, usuário, etc.
Process Control Block - PCB
Filas de Escalonamento
Long-term
queue
Short-term
queue CPU
I/Oqueue
I/Oqueue
I/OqueueI/O
I/O
I/O
Processrequest FIM
High-levelscheduling
Short-termscheduling
I/O scheduling
InterruptHandler
Interruptof process
Interrupt from I/O
Escalonamento de Processos Abstração Uma máquina para cada processo Paralelismo real
T11
T12
T0
P1
P2
P3
T22P3
Escalonamento de Processos
Realidade Compartilhamento do tempo Pseudoparalelismo
T11T12
T0 T22 T0
1 121905141 t70P1
Exemplo
Contr. Serviços
Escalonador
contr. interrupção
Sist. Operacional
ARodando
BPronto
Outros processos
Execu-tando
Sist. Operacional
ABloqueado
BPronto
Execu-tando
Contr. Serviços
Escalonador
contr. interrupção
Outros processos
ABloqueado
BRodando
Execu-tando
Contr. Serviços
Escalonador
contr. interrupção
Outros processos
Sist. Operacional Processo A parou:• Req. serviço ao S.O.• Interrupção de A
Ex. erro• Interrupção de outra
fonte. Ex. I/O• Tempo acabou
Características de Escalonamento Justiça (fairness)
Todos os processos têm chances iguais de uso dos processador
Eficiência Taxa de ocupação do processador ao longo do tempo
Tempo de Resposta Tempo entre a ocòrrencia de um evento e o termino da acao
correspondente Turnaround
“Tempo de resposta” para usuários em batch Throughput
Núm de “jobs” (processos) executados por unidade de tempo
Tipos de Escalonamento Mecanismos de Escalonamento
Preemptivo x Não-preemptivo
Políticas de Escalonamento Round-Robin FIFO (First-In First-Out) Híbridos
Partições de Lote (Batch) MFQ - Multiple Feedback Queue
SJF – Shortest Job First SRJN – Shortest Remaining Job Next
Tipos de EscalonamentoPreemptivo Permite a suspensão temporária de processos Quantum ou time-slice: período de tempo durante o qual
um processo usa o processador a cada vez
T11T12
T0 T22 T0
1 121905141 t70P1
Preempção
Quantum grande: Diminui núm. de mudanças de contexto e overhead do S.O. Ruim para processos interativos
Tipos de EscalonamentoRound-Robin Uso de uma lista de processos sem prioridade Escalonamento preemptivo Simples e justo Bom para sistemas interativos
Tar. BContexto
Tar. CContexto
CPU:Running
Tar. AContexto
Tar. AContexto
Tar. AContexto
Tipos de EscalonamentoFirst-In First-Out (FIFO) Uso de uma lista de processos sem prioridade Escalonamento não-preemptivo Simples e justo Bom para sistemas em batch
B C D E F … NCPUA
FIM
Tipos de EscalonamentoExemplo Três processos cpu-bound Cada um consome 1 hora de CPU Calcule o turnaround considerando
a) Round-robinb) FIFO