16
1/16 Algoritmos de escalonamento Escalonamento de CPU

Algoritmos de escalonamento - docente.ifrn.edu.brdocente.ifrn.edu.br/tadeuferreira/disciplinas/2016.1/sistemas... · 9/16 Escalonamento Shortest-Job-First (SJF) Associe a cada processo

  • Upload
    votram

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

1/16

Algoritmos de escalonamento

Escalonamento de CPU

2/16

Algoritmos na literatura

● FCFS ou FIFO (First Come First Served / FirstIn First Out)

● SJF (Shortest Job First)

● Circular (Round Robin)

● Por prioridades, circular com prioridade

● Múltiplas filas

● Múltiplas filas com realimentação

3/16

Escalonamento First-Come, First-Served(FCFS)

● Também conhecido com First In First Out(FIFO)

4/16

Exemplo FIFO

Processo Tempo de CPUA 5B 10C 3D 4E 7

A A A A A01

11

21

01 02 03 04 05 06 07 08 09 10

5/16

Exemplo FIFO

Processo Tempo de CPUA 5B 10C 3D 4E 7

A A A A A B B B B B

B B B B B

01

11

21

01 02 03 04 05 06 07 08 09 10

6/16

Exemplo FIFO

Processo Tempo de CPUA 5B 10C 3D 4E 7

A A A A A B B B B B

B B B B B C C C

01

11

21

01 02 03 04 05 06 07 08 09 10

7/16

Exemplo FIFO

Processo Tempo de CPUA 5B 10C 3D 4E 7

A A A A A B B B B B

B B B B B C C C D D

D D

01

11

21

01 02 03 04 05 06 07 08 09 10

8/16

Exemplo FIFO

A A A A A B B B B B

B B B B B C C C D D

D D E E E E E E E

01

11

21

01 02 03 04 05 06 07 08 09 10

Processo Tempo de Turnaround Tempo de Espera

A 5 0

B 15 5

C 18 15

D 22 18

E 29 22

Tempo de Espera Médio 12

9/16

Escalonamento Shortest-Job-First (SJF)

Associe a cada processo a extensão de seu próximo burstde CPU. Use essas extensões para escalonar o processocom o menor tempo

● Dois esquemas:

● não preemptivo – uma vez a CPU dada ao processo, ele nãopode ser apropriado até que termine seu burst de CPU

● preemptivo – se um novo processo chega com tamanho deburst de CPU menor que o tempo restante do processoatualmente em execução, apropria. Esse esquema éconhecido como Shortest-Remaining-Time-First (SRTF)

● SJF é ideal – gera o menor tempo de espera médio paradeterminado conjunto de processos

10/16

Exemplo SJF

Processo Tempo de CPUA 5B 10C 3D 4E 7

C C C01

11

21

01 02 03 04 05 06 07 08 09 10

11/16

Exemplo SJF

Processo Tempo de CPUA 5B 10C 3D 4E 7

01

11

21

01 02 03 04 05 06 07 08 09 10

C C C D D D D

12/16

Exemplo SJF

Processo Tempo de CPUA 5B 10C 3D 4E 7

01

11

21

01 02 03 04 05 06 07 08 09 10

C C C D D D D A A A

A A

13/16

Exemplo SJF

Processo Tempo de CPUA 5B 10C 3D 4E 7

01

11

21

01 02 03 04 05 06 07 08 09 10

C C C D D D D A A A

A A E E E E E E E

14/16

Exemplo SJF

01

11

21

01 02 03 04 05 06 07 08 09 10

Processo Tempo de Turnaround Tempo de Espera

A 12 7

B 29 19

C 3 0

D 7 3

E 19 12

Tempo de Espera Médio 8.2

C C C D D D D A A A

A A E E E E E E E B

B B B B B B B B B

15/16

Atividade

● Crie uma aplicação usando a linguagem que preferir. Aaplicação será um simulador de escalonamento.

● A aplicação deve ler de um arquivo um conjunto delinhas, cada linha contêm o tempo de CPU consumidopor um processo.

● A aplicação executará o processo usando o algoritmodefinido pelo usuário

● Os algortimos podem ser FIFO ou SJF

● Ao final a aplicação deverá exibir para cada processo otempo de turnaround e tempo de espera, além da médiados tempos de turnaround de todos os processos.

16/16

Protótipo de Tela

Endereço para entrega: https://goo.gl/zJTOfi