Планиране на процеси -...

25
Планиране на процеси Ангел Чолчев 1 [email protected] 1Технологическо училище “Електронни системи“ Технически университет, София 6 ноември 2009 г. А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 1 / 23

Upload: phamcong

Post on 27-Feb-2018

251 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Планиране на процеси

Ангел Чолчев1

[email protected]

1Технологическо училище “Електронни системи“Технически университет, София

6 ноември 2009 г.

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 1 / 23

Page 2: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Въвдение в планирането на процеси

Процеси

Поведение на процеситеработещи предимно с процесора - cpu bound processesработещи предимно с IO операции - IO bound processes

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 2 / 23

Page 3: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Въвдение в планирането на процеси

Планиране

Кога да планираме процеситепри multiprocessing имаме нужда от стратегия за следващитепроцесипрекъсвания

Политики относно процесите - policiesнепрекъване - non preemptiveпрекъсване - preemptive

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 3 / 23

Page 4: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Въвдение в планирането на процеси

Планиране - системи

Три основни вида системиСистеми с последователно изпълнение - batch systemsИнтерактивни системи - interactive systemsСистеми работещи в реално време - real time systems

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 4 / 23

Page 5: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Въвдение в планирането на процеси

Планиране - цели

Глобални целиЧестно разпределение на процесора - FairnessБаланс - системата трябва да бъде постоянно заета

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 5 / 23

Page 6: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Въвдение в планирането на процеси

Планиране - цели

Batch SystemsПроизводителност(Throughput) - възможно най-много задачи заединица времеTurnaround time - времето от планирането до завършването назадачатаCPU Utilization

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 6 / 23

Page 7: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Въвдение в планирането на процеси

Планиране - цели

Interactive SystemsResponse time - трябва да отговаря на заявките бързоПропорционалност - трябва да отговаря на очакванията напотребителя

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 7 / 23

Page 8: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Въвдение в планирането на процеси

Планиране - цели

Realtime Systemsmeeting deadlines - процеса трябва да се завърши за точноопределено времеPredictability - не трябва да се влошава качествотo при мултимедия

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 8 / 23

Page 9: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Batch Systems

Планиране в последователни системи

Scheduling in Batch Systemsnonpreeptive nature

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 9 / 23

Page 10: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Batch Systems

Планиране в последователни системи

First Come First Servedлесен за разбиране и имплементиранеnonpreemptive - много бавен с io bound процесите

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 10 / 23

Page 11: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Batch Systems

Планиране в последователни системи

Shortest Job Firstпостигаме доста по-добро средно turnaround времевсички процеси трябва да известни предварителновсички процеси трябва да са готови за изпълнение едновременно

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 11 / 23

Page 12: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Batch Systems

Планиране в последователни системи

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 12 / 23

Page 13: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Batch Systems

Планиране в последователни системи

Shortest Remaining timepreemptive версия на Shortest Job First.използвана в Interactive Systems

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 13 / 23

Page 14: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Interactiv Systems

Планиране в интерактивни системи

Scheduling in Interactive Systesmnonpreeptive nature

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 14 / 23

Page 15: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Interactiv Systems

Планиране в интерактивни системи

Round Robin Algorithmquantum - единица време, за която процеса се изпълняваколко голям трябва да бъде отчитайки contex switch time

малка стойност - големи загуби от чест context switchголема стойност - процес в края на опашката чака твърде дълго

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 15 / 23

Page 16: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Interactiv Systems

Планиране в интерактивни системи-RoundRobin

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 16 / 23

Page 17: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Interactiv Systems

Планиране в интерактивни системи

Priority Scheduling AlgorithmroundRobin базиран - всеки процес работи една quantaвсеки процес има приоритетбива избран процесът с най-голям приоритет в опашката

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 17 / 23

Page 18: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Interactiv Systems

Планиране в интерактивни системи

Priority Scheduling Algorithm с много опашки(multiple queues)IO bound - трябва да бъдат планирани бързо, за да бъде систематапредсказуемаCPU bound - трябва да работят по-дълго, за да не губим време вcontext switchналичие на много опашки с различен приоритет.опашките биват редувани по round robin algorithmпроцес с най-висок приорите бива пускан 1 quantums времепроцес с по-нисък приорите бива пускан 2 quantums времепроцес с най-нисък приорите бива пускан 4 quantums времеприоритетите се задават динамично

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 18 / 23

Page 19: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Interactiv Systems

Планиране в интерактивни системи

Priority Scheduling Algorithm с много опашки(multiple queues)

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 19 / 23

Page 20: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Interactiv Systems

Планиране в интерактивни системи

Shortest process nextверсия на shortest process fist за интерактивни системипредложения за дължината на процеса се правят на базата напредишните изпълнения

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 20 / 23

Page 21: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Interactiv Systems

Планиране в интерактивни системи

Lottary Schedulingвсеки процес получава лотарийни билетипобедителят от лотарията печели процесорно времеважните процеси имат много билет - ще бъдат пускани честолесен за имплементиране - ако даден процес има n билета, щебъде пуснат n временовите процеси могат да бъдат пуснати веднага - highly responsive

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 21 / 23

Page 22: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Interactiv Systems

Планиране в интерактивни системи

Guaranteed Schedulingn потребителя - всеки потребител получава гарантирано 1/nпроцесорно времеsingle user system, m процеса - всеки процес получава 1/m

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 22 / 23

Page 23: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Scheduling in Interactiv Systems

Планиране в интерактивни системи

Fair-share schedulingProblem - 2 потребителя с Round Robin

User 1 - 9 Processes - 90% computing timeUser 2 - 1 processes - 10% computing time

Fair-share algorithm подсигурява равнопоставеност междупотребителите

User 1 - 4 Processes A B C DUser 2 - 1 processes EНека обещаем на 2 потребителя по равно CPUScheduling A E B E C E D E A E B E C E D E...Нека обещаем на потребител 1 2х повече CPUScheduling A B E C D E A B E C D E...

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 23 / 23

Page 24: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Планиране на нишки

Планиране на нишки

User level threadsПозволява използването на custom process scheduler

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 24 / 23

Page 25: Планиране на процеси - lubo.elsys-bg.orglubo.elsys-bg.org/wp-content/uploads/2009/11/os06.pdfПланиране на процеси Ангел Чолчев1 atcholtchev@elsys-bg.org

Планиране на нишки

Планиране на нишки

Kernel level threadsПланирането може да бъде доста скъпо - може изисква contextswitch(ako нишките са в различни процеси)

А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 25 / 23