Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1....

15
Processos e Threads 1. Scheduling

Transcript of Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1....

Page 1: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

Processos e Threads

1. Scheduling

Page 2: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 2

SchedulingIntrodução ao Scheduling (1)

Tempo de utilização de CPU alterna com periodos de esperapor E/S– A) um processo com longos tempos de utilização de CPU– B) um processo com longos tempos de operações de E/S

Page 3: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 3

Quando mudar de processo?

Nonpreemptive: (Win3.1) a aplicação devolve o controlo ao SO (por E/S ou voluntáriamente)

Preemptive: (UNIX, WinNT) SO dá e retira o controlo do sistema à aplicação

Page 4: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 4

Objectivos dos algoritmos de scheduling

Todos os sistemas• Fiablidade: cada processo tem uma parte igual de CPU• Cumprimento de politica: garantir que a politica de gestão é cumprida• Equilibrio: todas as partes do sistema têm de estar ocupadas

Sistemas Batch• Troughput: maximizar o número de processos por hora• Turnaround time: minimizar o tempo que um processo leva para terminar• Utilização de CPU: manter o CPU sempre ocupado

Sistemas Interactivos• Tempo de resposta: resposta aos pedidos deve ser rapida• Proporcionalidade: resposta às expectativas do utilizador

Sistemas em Tempo-Real• Cumprimento de prazos: evitar perca de dados• Predição: evitar degradação de qualidade em sistemas multimedia

Page 5: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 5

Scheduling em sistemas batch

First come first served (nonpreemptive)– A ordem de chegada dita a ordem em que os processos são

executadosShortest Job First (nonpreemptive)– Processo com o tempo mais curto de execução é o primeiro a ser

executadoShortest Remaining Time Next (preemptive)– Tempo restante de execução mais curto é o proximo a ser executado

Three-Level Schedulling– O scheduler é distribuido em três níveis: sistema/memoria/CPU

Page 6: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 6

Scheduling em sistemas batch (1)

a) Ordem original dos processosb) Processo mais curto é o primeiro a ser executado.

Page 7: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 7

Scheduling em sistemas batch (2)

Scheduling a três níveis: Sistema / Memoria/ CPU

Page 8: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 8

Scheduling em sistemas interactivos

Round-Robin Scheduling

Priority Scheduling

Multiple Queues

Shortest Process Next

Lottery Scheduling

Fair Share Sheduling

Page 9: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 9

Scheduling em sistemas interactivos (1)Round Robin

Round Robin Scheduling– Lista de processos prontos para serem executados– Lista de processos prontos para serem executados após o

processo B ter utilizado o seu tempo

Todos os processos são igualmente importantesConceito de quantum igual para todos os processos:

Minimizar o tempo de troca de contexto entre processos

Page 10: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 10

Scheduling em sistemas interactivos(2)Priority Scheduling

Algoritmo de scheduling com quatro níveis de prioridade

Page 11: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 11

Scheduling em sistemas em tempo-real

Tempo é essêncial !!!

Tipos de sistemas:

– Hard real-time: existem eventos essências que têm de ser processados (controlo)

– Soft real-time:certos eventos podem não ser processados sendo apenas não conveniente (comunicações)

Page 12: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 12

Scheduling em sistemas em tempo-real

Sabendo que:– m eventos periódicos

– evento i ocorre no intervalo Pi e requer Ci segundos

A carga de processamento pode ser processada se:

11

mi

i i

CP=

≤∑

Page 13: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 13

Policy versus Mechanism

Separate what is allowed to be done with how it is done– a process knows which of its children threads are important and need

priority

Scheduling algorithm parameterized– mechanism in the kernel

Parameters filled in by user processes– policy set by user process

Page 14: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 14

Thread SchedulingNível de Kernel

Scheduling de Threads ao níveldo Kernel

– Cada Thread depende do SO

– 1 ms para troca de contexto

– Quantums de 50 ms por processo

– Threads correm 5 ms/CPU

Page 15: Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1. Scheduling 12/16/2002 2001/2002 2 Scheduling Introdução ao Scheduling (1) Tempo

12/16/2002 2001/2002 15

Thread Scheduling Nível de Utilizador

Scheduling de Threads ao níveldo Utilizador

– SO fica com menos carga

– Aplicação pode ter politicaespecifica

– Quantums de 50 ms por processo

– Threads correm 5 ms/CPU