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

Post on 12-Aug-2020

13 views 0 download

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

Processos e Threads

1. Scheduling

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

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

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

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

12/16/2002 2001/2002 6

Scheduling em sistemas batch (1)

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

12/16/2002 2001/2002 7

Scheduling em sistemas batch (2)

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

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

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

12/16/2002 2001/2002 10

Scheduling em sistemas interactivos(2)Priority Scheduling

Algoritmo de scheduling com quatro níveis de prioridade

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)

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=

≤∑

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

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

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