escalonamento de processos métodos de escalonamento de processos em sistemas operacionais

13
Escalonament o de Processos Métodos de escalonamento de processos em Sistemas Operacionais

Upload: tayna-leitao

Post on 07-Apr-2016

245 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Escalonamento de Processos Métodos de escalonamento de processos em Sistemas Operacionais

Escalonamento de Processos

Métodos de escalonamento de processos em Sistemas Operacionais

Page 2: 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

Page 3: Escalonamento de Processos Métodos de escalonamento de processos em Sistemas Operacionais

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

Page 4: Escalonamento de Processos Métodos de escalonamento de processos em Sistemas Operacionais

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

Page 5: Escalonamento de Processos Métodos de escalonamento de processos em Sistemas Operacionais

Escalonamento de Processos Abstração Uma máquina para cada processo Paralelismo real

T11

T12

T0

P1

P2

P3

T22P3

Page 6: Escalonamento de Processos Métodos de escalonamento de processos em Sistemas Operacionais

Escalonamento de Processos

Realidade Compartilhamento do tempo Pseudoparalelismo

T11T12

T0 T22 T0

1 121905141 t70P1

Page 7: Escalonamento de Processos Métodos de escalonamento de processos em Sistemas Operacionais

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

Page 8: Escalonamento de Processos Métodos de escalonamento de processos em Sistemas Operacionais

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

Page 9: Escalonamento de Processos Métodos de escalonamento de processos em Sistemas Operacionais

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

Page 10: Escalonamento de Processos Métodos de escalonamento de processos em Sistemas Operacionais

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

Page 11: Escalonamento de Processos Métodos de escalonamento de processos em Sistemas Operacionais

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

Page 12: Escalonamento de Processos Métodos de escalonamento de processos em Sistemas Operacionais

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

Page 13: Escalonamento de Processos Métodos de escalonamento de processos em Sistemas Operacionais

Tipos de EscalonamentoExemplo Três processos cpu-bound Cada um consome 1 hora de CPU Calcule o turnaround considerando

a) Round-robinb) FIFO