Планиране на процеси в OS: дългосрочен, среден, краткосрочен планировчик

⚡ Умно обобщение

Планирането на процеси е задача на операционната система, която управлява процеси в състояния на готовност, изчакване и изпълнение. То разпределя процесорно време за всеки процес, поддържа процесора зает и намалява времето за реакция, използвайки дългосрочни, средносрочни и краткосрочни планировчици.

  • Определение: Планирането на процеси управлява процесите в състояния на готовност, чакане и изпълнение, за да поддържа процесора зает.
  • 📥 Опашки: Опашките за задачи, готовност и устройства организират процесите по състояние на изпълнение.
  • 🔀 Модел на две държави: На най-просто ниво, един процес или се изпълнява, или не се изпълнява.
  • 🧑💼 Трима планировчици: Дългосрочните, средносрочните и краткосрочните планировчици контролират кои процеси се изпълняват и кога.
  • Краткосрочен: Планировчикът на процесора е най-бързият, избирайки готов процес за незабавно изпълнение.
  • 🔁 Превключване на контекста: Запазването и възстановяването на състоянието на процесора в печатната платка позволява многозадачност.

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

Какво е планиране на процеси?

Планиране на процесите е задача на операционната система, която планира процеси с различни състояния, като готовност, чакане и изпълнение.

Планирането на процеси позволява на операционната система да разпредели времеви интервал за изпълнение на процесора за всеки процес. Друга важна причина за използването на система за планиране на процеси е, че тя поддържа процесора зает през цялото време. Това ви позволява да получите минимално време за реакция на програмите.

Опашки за планиране на процеси

Опашките за планиране на процеси ви помагат да поддържате отделна опашка за всяко състояние на процес и печатна платка (PCB). Всички процеси с едно и също състояние на изпълнение се поставят в една и съща опашка. Следователно, когато състоянието на даден процес се промени, неговата печатна платка трябва да бъде откачена от съществуващата му опашка и преместена обратно в опашката с ново състояние.

Три вида опашки на операционната система са:

  1. Опашка за работа – Помага ви да съхранявате всички процеси в системата.
  2. Готова опашка – Този тип опашка ви помага да настроите всеки процес, намиращ се в основната памет, който е готов и чака да се изпълни.
  3. Опашки от устройства – Това е процес, който е блокиран поради липса на I/O устройство.
Опашки за планиране на процеси
Опашки за планиране на процеси

В горната диаграма:

  • Правоъгълникът представлява опашка.
  • Кръгът обозначава ресурса.
  • Стрелка показва потока на процеса.
  1. Всеки нов процес първо се поставя в опашката „Ready“. Той чака в опашката, докато бъде окончателно обработен за изпълнение. Тук новият процес се поставя в опашката „Ready“ и чака, докато бъде избран за изпълнение или бъде изпратен.
  2. На един от процесите е разпределен процесорът и той се изпълнява.
  3. Процесът трябва да издаде заявка за входно/изходни операции.
  4. След това трябва да бъде поставен в опашката за входно/изходни операции.
  5. Процесът трябва да създаде нов подпроцес.
  6. Процесът трябва да чака своето прекратяване.
  7. Трябва да бъде премахнато принудително от процесора в резултат на прекъсване. След като прекъсването приключи, то трябва да бъде изпратено обратно в опашката за готовност.

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

Моделите на процеси с две състояния са:

  • Работно състояние
  • Неработещо състояние

Работещи

в Operaтинг система, когато се изгради нов процес, той се въвежда в системата, която трябва да работи.

Не работи

Процесите, които не се изпълняват, се държат в опашка, която чака своя ред за изпълнение. Всеки запис в опашката е точка към специфичен процес.

Цели на планирането

Ето важните цели на планирането на процесите:

  • Увеличете максимално броя на интерактивните потребители в рамките на приемливо време за реакция.
  • Постигнете баланс между отговор и използване.
  • Избягвайте отлагането за неопределено време и налагайте приоритетите.
  • Той също така трябва да се позовава на процесите, държащи ключовите ресурси.

Тип планировчици на процеси

Планировчикът е вид системен софтуер, който ви позволява да управлявате планирането на процеси.

Има основно три типа планировчици на процеси:

  1. Дългосрочен планировчик
  2. Краткосрочен планировчик
  3. Средносрочен график

Дългосрочен планировчик

Дългосрочният планировчик е известен още като график за работаТози планировчик регулира програмата, избира процеси от опашката и ги зарежда в паметта за изпълнение. Той също така регулира степента на мултипрограмиране.

Основната цел на този тип планировчик обаче е да предложи балансирана комбинация от задачи, като процесорни и входно/изходни задачи, която позволява управление на мултипрограмирането.

Средносрочен график

Средносрочният график е важна част от размянаpingТова ви позволява да обработвате разменените процеси. В този планировчик, работещ процес може да бъде спрян, което прави заявка за входно/изходни операции.

Изпълняващ се процес може да бъде спрян, ако направи заявка за входно/изходни операции. Спираният процес не може да постигне никакъв напредък към завършване. За да се премахне процесът от паметта и да се освободи място за други процеси, спреният процес трябва да бъде преместен във вторично хранилище.

Краткосрочен планировчик

Краткосрочното планиране е известно още като Планировчик на процесораОсновната цел на този планировчик е да повиши производителността на системата според зададени критерии. Това ви помага да изберете от група процеси, които са готови за изпълнение, и да разпределите процесора на един от тях. Диспечерът предоставя контрол над процесора на процеса, избран от краткосрочния планировчик.

Разлика между Schedulers

Дългосрочен срещу краткосрочен срещу средносрочен:

Дългосрочен Краткосрочен Средносрочната
Дългосрочният план е известен още като планировчик на задачи. Краткосрочният план е известен още като планировчик на процесора. Средносрочният се нарича още суапping планировчик.
Той или липсва, или е минимален в система за споделяне на време. Той е незначителен в реда за споделяне на времето. Този планировчик е елемент от системите за споделяне на време.
Скоростта е по-малка в сравнение с краткосрочния планировчик. Скоростта е най-бърза в сравнение с краткосрочния и средносрочния планировчик. Предлага средна скорост.
Позволява ви да избирате процеси от зареждането и да ги обединявате обратно в паметта. Той избира само процеси, които са в състояние на готовност за изпълнение. Това ви помага да изпратите процеса обратно в паметта.
Предлага пълен контрол. Предлага по-малко контрол. Намалява нивото на мултипрограмиране.

Какво е Context Switch?

Това е метод за съхраняване/възстановяване на състоянието на процесора в печатната платка, така че изпълнението на процеса да може да бъде възобновено от същата точка по-късно. Методът за превключване на контекста е важен за многозадачна операционна система.

Въпроси и Отговори

Планировчикът решава кой процес да се изпълни следващ въз основа на политика. Диспечерът е модулът, който всъщност дава на избрания процес контрол над процесора, извършвайки превключване на контекста и прескачане.ping на правилното място в програмата.

Степента на мултипрограмиране е броят на процесите, съхранявани едновременно в основната памет. Дългосрочният планировчик я контролира, като решава колко процеса да допусне, балансирайки използването на процесора и входно/изходните операции за ефективна производителност на системата.

Блокът за управление на процеса е структура от данни, която операционната система използва, за да съхранява цялата информация за даден процес, като например неговото състояние, програмен брояч, регистри и ограничения на паметта. Той е от съществено значение за запазване и възстановяване на процеси по време на превключване на контекста.

Изкуственият интелект може да изучава модели на натоварване, за да решава кой процес да изпълнява и как да разпределя процесорното време. Вместо фиксирани правила, той адаптира планирането в реално време, подобрявайки пропускателната способност, времето за реакция и енергийната ефективност, особено в облачни и многоядрени системи.

Да. Чрез анализ на минали процесорни натоварвания и модели на входно/изходни операции, моделите с изкуствен интелект могат да преценят колко дълго ще се изпълнява даден процес и дали е ограничен до процесора или до входно/изходните операции. Тези прогнози помагат на планировчика да приоритизира процесите и да намали времето за изчакване.

Обобщете тази публикация с: