Планиране на процеси -...
Transcript of Планиране на процеси -...
Планиране на процеси
Ангел Чолчев1
1Технологическо училище “Електронни системи“Технически университет, София
6 ноември 2009 г.
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 1 / 23
Въвдение в планирането на процеси
Процеси
Поведение на процеситеработещи предимно с процесора - cpu bound processesработещи предимно с IO операции - IO bound processes
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 2 / 23
Въвдение в планирането на процеси
Планиране
Кога да планираме процеситепри multiprocessing имаме нужда от стратегия за следващитепроцесипрекъсвания
Политики относно процесите - policiesнепрекъване - non preemptiveпрекъсване - preemptive
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 3 / 23
Въвдение в планирането на процеси
Планиране - системи
Три основни вида системиСистеми с последователно изпълнение - batch systemsИнтерактивни системи - interactive systemsСистеми работещи в реално време - real time systems
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 4 / 23
Въвдение в планирането на процеси
Планиране - цели
Глобални целиЧестно разпределение на процесора - FairnessБаланс - системата трябва да бъде постоянно заета
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 5 / 23
Въвдение в планирането на процеси
Планиране - цели
Batch SystemsПроизводителност(Throughput) - възможно най-много задачи заединица времеTurnaround time - времето от планирането до завършването назадачатаCPU Utilization
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 6 / 23
Въвдение в планирането на процеси
Планиране - цели
Interactive SystemsResponse time - трябва да отговаря на заявките бързоПропорционалност - трябва да отговаря на очакванията напотребителя
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 7 / 23
Въвдение в планирането на процеси
Планиране - цели
Realtime Systemsmeeting deadlines - процеса трябва да се завърши за точноопределено времеPredictability - не трябва да се влошава качествотo при мултимедия
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 8 / 23
Scheduling in Batch Systems
Планиране в последователни системи
Scheduling in Batch Systemsnonpreeptive nature
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 9 / 23
Scheduling in Batch Systems
Планиране в последователни системи
First Come First Servedлесен за разбиране и имплементиранеnonpreemptive - много бавен с io bound процесите
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 10 / 23
Scheduling in Batch Systems
Планиране в последователни системи
Shortest Job Firstпостигаме доста по-добро средно turnaround времевсички процеси трябва да известни предварителновсички процеси трябва да са готови за изпълнение едновременно
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 11 / 23
Scheduling in Batch Systems
Планиране в последователни системи
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 12 / 23
Scheduling in Batch Systems
Планиране в последователни системи
Shortest Remaining timepreemptive версия на Shortest Job First.използвана в Interactive Systems
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 13 / 23
Scheduling in Interactiv Systems
Планиране в интерактивни системи
Scheduling in Interactive Systesmnonpreeptive nature
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 14 / 23
Scheduling in Interactiv Systems
Планиране в интерактивни системи
Round Robin Algorithmquantum - единица време, за която процеса се изпълняваколко голям трябва да бъде отчитайки contex switch time
малка стойност - големи загуби от чест context switchголема стойност - процес в края на опашката чака твърде дълго
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 15 / 23
Scheduling in Interactiv Systems
Планиране в интерактивни системи-RoundRobin
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 16 / 23
Scheduling in Interactiv Systems
Планиране в интерактивни системи
Priority Scheduling AlgorithmroundRobin базиран - всеки процес работи една quantaвсеки процес има приоритетбива избран процесът с най-голям приоритет в опашката
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 17 / 23
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
Scheduling in Interactiv Systems
Планиране в интерактивни системи
Priority Scheduling Algorithm с много опашки(multiple queues)
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 19 / 23
Scheduling in Interactiv Systems
Планиране в интерактивни системи
Shortest process nextверсия на shortest process fist за интерактивни системипредложения за дължината на процеса се правят на базата напредишните изпълнения
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 20 / 23
Scheduling in Interactiv Systems
Планиране в интерактивни системи
Lottary Schedulingвсеки процес получава лотарийни билетипобедителят от лотарията печели процесорно времеважните процеси имат много билет - ще бъдат пускани честолесен за имплементиране - ако даден процес има n билета, щебъде пуснат n временовите процеси могат да бъдат пуснати веднага - highly responsive
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 21 / 23
Scheduling in Interactiv Systems
Планиране в интерактивни системи
Guaranteed Schedulingn потребителя - всеки потребител получава гарантирано 1/nпроцесорно времеsingle user system, m процеса - всеки процес получава 1/m
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 22 / 23
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
Планиране на нишки
Планиране на нишки
User level threadsПозволява използването на custom process scheduler
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 24 / 23
Планиране на нишки
Планиране на нишки
Kernel level threadsПланирането може да бъде доста скъпо - може изисква contextswitch(ako нишките са в различни процеси)
А.Чолчев (ELSYS) Scheduling (–revision–) 6 ноември 2009 г. 25 / 23