22
09/03/10 20:13 Claudio de Oliveira – [email protected] 1/22

09/03/10 20:13 Claudio de Oliveira – [email protected] 1/22

Embed Size (px)

Citation preview

Page 1: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

09/03/10 20:13 Claudio de Oliveira – [email protected]

1/22

Page 2: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

09/03/10 20:13 Claudio de Oliveira – [email protected]

2/22

O que é?A política de escalonamento é a base da gerência do processador e da multiprogramação.

Estado d eEsp era

Estado d eExecu çã o

Estado d ePronto

Esca lo namento

Page 3: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

09/03/10 20:13 Claudio de Oliveira – [email protected]

Funções Básicas

Manter a UCP ocupada a maior parte do tempo

Balancear o uso da UCP entre processos

Privilegiar a execução de aplicações críticas

Maximizar o throughput

Oferecer tempos de resposta razoáveis para usuários interativos

Implementada pelo scheduler e dispatcher

Processos – unidades de alocação de recursos

Threads – unidades de escalonamento

3/22

Page 4: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

09/03/10 20:13 Claudio de Oliveira – [email protected]

Critérios de Escalonamento

Utilização do processador

Throughput

Tempo de Processador / Tempo de UCP

Tempo de Espera

Tempo de Turnaround

Tempo de Resposta

4/22

Page 5: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Escalonamentos Não-Preemptivo e Preemptivo

Preempção – possibilidade do SO interromper um processo em execução e substituí-lo por outro

Escalonamento não-preemptivo

Escalonamento preemptivo

5/22

Page 6: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Escalonamento FIFO

Escalonamento First-In-First-Out

U C P

Estado d eC r iação

Estado d eEsp era

Fila do s pro cesso s n o estad o d e Pron to

Estado d eTérm ino

6/22

Page 7: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Escalonamento FIFO

ExemploProcesso A

Processo B

Processo C

10 14 17

Processo A

Processo B

Processo C

4 7 17 u .t.

u .t.

ProcessoTem p o d e

p rocessa do r(u .t.)

A

B

C

10

4

3

7/22

Page 8: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Arq

uite

tura

de

Sis

tem

as O

per

aci

on

ais

– M

ach

ad

o/M

aia

Escalonamento SJF

Escalonamento Shortest-Job-First

Processo A

Processo B

Processo C

3 7 17 u .t.

8/22

Page 9: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Escalonamento Cooperativo

Processo em execução libera voluntariamente a UCP

Verifica a fila de mensagens periodicamente

Podem ocorrer problemas

Exemplo: primeiros sistemas

MS-Windows

9/22

Page 10: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Escalonamento Circular

Preem p ção po r tem p o

U C P

Estado d eC r ia çã o

Estado d eEsp era

Fila do s pro cesso s n o estad o d e Pron to

Estado d eTérm ino

10/22

Page 11: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Escalonamento Circular

Exemplo

Processo A

Processo B

Processo C

2 4 17 u .t.6 8 10 11

11/22

Page 12: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Escalonamento Circular

Escalonamento circular virtual

Preem p ção po r tem p o

U C P

Estado d eC r iação

Fila do s pro cesso s n o estad o d e Pron to

Estado d eTérm ino

Estado d eEsp era

Fila au xi lia r

12/22

Page 13: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Escalonamento por Prioridades

U C P

Estado d eTérm ino

Fila s do s p ro cesso s n o estad o d e Pro n to

Pr io r id ad e P1

Pr io r id ad e P2

Pr io r id ad e Pn

Estado d eC r iação

Estado d eEsp era

Preem p ção po r p r io r id ad e

13/22

Page 14: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Escalonamento por Prioridades

Exemplo

Processo A

Processo B

Processo C

3 13 17 u .t.

ProcessoTem p o d e

p rocessa do r(u .t.)

A

B

C

10

4

3

Pr io r id ad e

2

1

3

14/22

Page 15: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Escalonamento Circular com Prioridades

U C P

Estado d eTérm ino

Fila dos processos n o estad o d e Pron to

Pr io r id ad e P1

Pr io r id ad e P2

Pr io r id ad e Pn

Estado d eC r iação

Estado d eEsp era

Preem p ção po r tem p o o u pr io rida de

15/22

Page 16: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Escalonamento por Múltiplas Filas

U C P

Fila de p rocessos d o sistem a

Fila de p rocessos in tera tivos

Fila de p rocessos b a tch

M a io rp rio r id ade

M eno rp rio r id ade

16/22

Page 17: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Escalonamento por Múltiplas Filas com Realimentação

U C P

Fila 1 (FIFO A da ptad o )

Preem p ção po r tem p o

Fila 2 (FIFO A da ptad o )

Preem p ção po r tem p o

Fila 3 (FIFO A da ptad o )

Preem p ção po r tem p o

Fila n (C ircu la r)

Preem p ção po r tem p o

Men

or

Prio

rid

ad

eM

aio

rPr

iori

da

de

Ma

ior

fati

ad

e te

mp

oM

eno

r fa

tia

de

tem

po

17/22

Page 18: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Políticas em Sistemas de Tempo Compartilhado

Escalonamento FIFO (exemplo)

Pro cesso A

Pro cesso B

u .t.277

E/S

de

A

11

E/S

de

B

19

E/S

de

A

21

E/S

de

B

Pro cessoTem p o d e

p rocessa do r(u .t.)

A

B

21

6

C aracter ística

C PU - b ou nd

I / O - b ou nd

18/22

Page 19: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Políticas em Sistemas de Tempo Compartilhado

Escalonamento circular (exemplo)

Pro cessoTem p o d e

p rocessa do r(u .t.)

A

B

15

10

C aracter ística

C PU - b ou nd

I / O - b ou nd

Pro cesso A

Pro cesso B

u .t.

Pree

mp

ção

po

rte

mp

o d

e A

5

E/S

de

B

9

E/S

de

A

11

E/S

de

B

13

Pree

mp

ção

po

rte

mp

o d

e A

18

E/S

de

B

20

E/S

de

A

23 25

E/S

de

B

27

UC

P liv

re19/22

Page 20: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Políticas em Sistemas de Tempo Compartilhado

Escalonamento circular com prioridades (exemplo)

Pro cesso A

Pro cesso B

u .t.

E/S

de

B

4

Pre

emp

ção

po

rp

rio

rid

ad

e d

e A

6E/

S d

e B

8

Pre

emp

ção

po

rp

rio

rid

ad

e d

e A

12

E/S

de

B

14

E/S

de

A

15 17

Pre

emp

ção

po

rp

rio

rid

ad

e d

e A

18

E/S

de

B

20

Pre

emp

ção

po

rp

rio

rid

ad

e d

e A

24

E/S

de

B

27

UC

P liv

re

Pro cessoTem p o d e

p rocessa do r(u .t.)

A

B

12

13

C aracter ística

C PU - b ou nd

I / O - b ou nd

Pr io r id a d e

Ba ixa

A lta

20/22

Page 21: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Políticas em Sistemas de Tempo Real

Tempos de respostas rígidos

Aplicações de controle de processos

Utiliza prioridades estáticas

Não utiliza fatias de tempo

Exemplo: OpenVMS

21/22

Page 22: 09/03/10 20:13 Claudio de Oliveira – claudio@infocao.com.br 1/22

Exercícios

Questões para reflexão

Questões para simulação

09/03/10 20:13 Claudio de Oliveira – [email protected]

22/22