Processos e Threads - IPSltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A05.pdfProcessos e Threads 1....
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/1.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/2.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/3.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/4.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/5.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/6.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/7.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/8.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/9.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/10.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/11.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/12.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/13.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/14.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022042613/5fae59488311931c293d7e58/html5/thumbnails/15.jpg)
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