1 / 56

Лекция 7 Еднопроцесорно планиране

Лекция 7 Еднопроцесорно планиране. Типове процесорно планиране Алгоритми за планиране Традиционно UNIX планиране. Планиране. Една ОС трябва да разпределя ресурсите между конкуриращи се процеси. Ресурсът, осигуряван от процесора, е време за изпълнение (execution time)

Download Presentation

Лекция 7 Еднопроцесорно планиране

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Лекция 7Еднопроцесорно планиране

  2. Типове процесорно планиране • Алгоритми за планиране • Традиционно UNIX планиране

  3. Планиране • Една ОС трябва да разпределя ресурсите между конкуриращи се процеси. • Ресурсът, осигуряван от процесора, е време за изпълнение (execution time) • Ресурсът се разпределя по график

  4. Главна цел на планирането • Целта на планирането на процесора е да се определи кои процеси да се изпълнят от процесора в течение на времето, • по начин, който отговаря на целите на системата, като например време за отговор, капацитет и ефективност на процесора.

  5. Цели на планирането • Функцията “планиране” трябва да • Поделя справедливо времето между процесите • Предотвратява starvation на процес • Използва процесора ефективно • Има ниско допълнително натоварване (overhead) • Да приоритизира процесите, когато е необходимо (тоест при крайни срокове в реално време)

  6. Типове планиране

  7. Две суспендирани състояния • Помните ли тази диаграма от Глава 3

  8. Планиране и преходи между състоянията на процес

  9. Влагане на планиращите функции

  10. Диаграма на опашка

  11. Дългосрочно планиране • Определя кои програми се допускат до системата за обработка • Може да бъде “първа дошла, първа обслужена” (first-come-first-served) • Или според критерии като приоритет, входно-изходни изисквания или очаквано време за изпълнение • Контролира степента на мултипрограмиране • При повече процеси е по-малък процента време за изпълнение на процеса

  12. Средносрочно планиране • Част от функцията за размяна • Решенията за размяна се основават на необходимостта да се управлява степента на мултипрограмиране

  13. Краткосрочно планиране • Известно като диспечерът • Най-често се изпълнява • Извиква се при настъпването на събитие • Прекъсвания (Clock interrupts) • Входно-изходни прекъсвания • Извиквания от операционната система • Сигнали

  14. Roadmap • Типове процесорно планиране • Алгоритми за планиране • Традиционно UNIX планиране

  15. Цели на краткосрочното планиране • Основната цел е да разпредели процесорно време, за да оптимизира определени аспекти от поведението на системата. • Необходим е набор от критерии за оценка на политиката на планиране.

  16. Критерии при краткосрочното планиране: Потребител срещу система • Можем да направим разграничение между критерии, свързани с потребителя и със системата • Ориентирани към потребителя • Време за отговор • Времето, изминало между подаването на заявката и отговора й. • Ориентирани към системата • Ефективно използване на процесора

  17. Критерии при краткосрочното планиране: Производителност • Можем да разграничим критериите, свързани с производителността и тези, които не са свързани с нея • Свързани с производителността • Количествени, лесни за измерване • Например време за отговор и капацитет • Не свързани с производителността • Качествени • Трудни за измерване

  18. Приоритети • При планиране винаги се предпочита процес с по-висок приоритет пред такъв с по-нисък • Трябва да има няколко готови опашки, които да представляват всяко ниво на приоритет

  19. Подреждане на приоритетите в опашки

  20. Starvation • Проблем: • За процесите с нисък приоритет може никога да няма ресурс, ако има постоянен приток от процеси с висок приоритет. • Решение: • Да се позволи на процесите да променят приоритета си в зависимост от възрастта и историята си

  21. Алтернативни политики за планиране

  22. Функция за избор • Определя кой процес да се избере за изпълнение • Ако се основава на параметрите на изпълнението, тогава важните параметри са: • w = времето, прекарано досега в системата в процес на очакване • e = времето, прекарано досега в изпълнение • s = общото необходимо време, включително e;

  23. Режим за решаване • Определя моментите във времето, когато се изпълнява фукцията за избор. • Две категории: • Без изместване (Nonpreemptive) • С изместване (Preemptive)

  24. Сравнение на без изместване и с изместване • Без изместване • След като веднъж един процес е в състояние на работа (running state), той ще продължи да се изпълнява, докато свърши или се блокира за вход и изход • С изместване • Текущо работещ процес може да се прекъсне от ОС и да се премести в готово състояние • Изместването може да стане, когато се появи нов процес, при прекъсване или периодично.

  25. Пример за планиране на процеси • Примерен набор от процеси, като всеки от тях е групова задача (batch job) • Времето за обслужване представлява общото време за изпълнение

  26. Първи дошъл, първи обслужен (First-Come-First-Served) • Всеки процес се добавя към опашката с готови процеси • Когато текущият процес спре изпълнение, процесът, който най-дълго е бил в опашката с готови процеси, се избира

  27. Първи дошъл, първи обслужен • Кратките процеси може да чакат много дълго преди да се изпълнят • В полза на свързаните с процесора процеси • Процесите, свързани с входа и изхода, трябва да чакат, докато тези, свързани с процесора, приключат

  28. Циклична (Round Robin) • Използва изместване, базирано на часовник • Известно още като (time slicing), защото всеки процес получава по една единица време преди да бъде изместен.

  29. Циклична • Часовниково прекъсване се генерира периодично с определени интервали • Когато има прекъсване, текущо изпълняваният процес се поставя в готовата опашка • Избира се следващата готова задача

  30. Влияние на размера на времевия квантум за изместването

  31. Влияние на размера на времевия квантум за изместването

  32. ‘Виртуална циклична’

  33. Най-краткият процес е следващ (Shortest Process Next) • Политика без изместване • Процесът с най-кратко очаквано време за обработка се избира да е следващ • Кратките процеси са облагодетелствани за сметка на по-дългите процеси

  34. Най-краткият процес е следващ • Намалява се предсказуемостта за по-дългите процеси • Ако прогнозираното време за процес не е точно, операционната система може да спре изпълнението му • При по-дългите процеси може да се стигне до ???starvation

  35. Изчисляване на пика (‘Burst’) на програмата • Където: • Ti = процесорното време, необходимо за изпълнение на i-тата инстанция на този процес • Si = прогнозираната стойност за i-тата инстанция • S1 = прогнозираната стойност за първата инстанция; не се изчислява

  36. Експоненциално усредняване • Често използваната техника за прогнозиране на бъдеща стойност на базата на времева серия от минали стойности се нарича експоненциално усредняване

  37. Коефициенти за ???експоненциално изглаждане (Exponential Smoothing Coefficients)

  38. Употреба на експоненциално усредняване

  39. Use Of Exponential Averaging

  40. Най-кратко оставащо време (Shortest RemainingTime) • Версия с изместване на политиката “най-краткият процес е следващ” • Трябва да оцени времето за обработка и да избере процеса с най-кратко такова

  41. Най-високо отношение на отклик (Highest Response Ratio Next) • Изберете за следващ процес процесът с най-голямо съотношение

  42. Политика с обратна връзка (Feedback Scheduling) • В ущърб на задачите, които са изпълнявани най-дълго • Не се знае оставащото време, необходимо на процеса за изпълнение

  43. Производителност при обратната връзка • Има разновидности, най-елементарната разновидност включва периодично изместване, подобно на цикличната политика • Но може да доведе до ???starvation

  44. Сравнение на производителността • Всяка политика на планиране, която избира следващия процес за обслужване независимо от времето за обслужване се подчинява на следната зависимост:

  45. Формули

  46. ?????Цялостно нормализирано време за отговор (Overall Normalized Response Time)

  47. Нормализирано време за отговор за по-кратки процеси

  48. Нормализирано време за отговор за по-дълги процеси

  49. Нормализирано време за обработка

  50. Справедливо планиране (Fair-Share Scheduling) • Потребителското приложение работи като набор от процеси (нишки) • За потребителя значение има производителността на приложението • Необходимост да се вземат решения за планиране на базата на набори от процеси

More Related