Що таке планування процесора?
Планування процесора - це процес визначення, якому процесу належатиме процесор для виконання, поки інший процес утримується. Основне завдання планування ЦП полягає в тому, щоб переконатися, що всякий раз, коли ЦП залишається простоєм, ОС принаймні вибирає один із процесів, доступних у черзі готових для виконання. Процес вибору буде здійснюватися планувальником процесора. Він вибирає один із процесів у пам'яті, готових до виконання.
У цьому посібнику з планування роботи процесора ви дізнаєтесь:
- Що таке планування процесора?
- Типи планування процесора
- Важливі термінології планування процесора
- Критерії планування процесора
- Таймер інтервалу
- Що таке диспетчер?
- Типи алгоритму планування процесора
- Перший приходь перший подавай
- Найкоротший час, що залишився
- Пріоритетне планування
- Планування кругового Робіна
- Спочатку найкоротша робота
- Багаторівневе планування черг
- Призначення алгоритму планування
Типи планування процесора
Ось два види методів планування:
Попереджувальне планування
У превентивному плануванні завдання в основному розподіляються з їх пріоритетами. Іноді важливо виконати завдання з вищим пріоритетом перед іншим завданням з нижчим пріоритетом, навіть якщо завдання з нижчим пріоритетом все ще виконується. Завдання з нижчим пріоритетом тримається деякий час і відновлюється, коли завдання з вищим пріоритетом закінчує своє виконання.
Непереважне планування
У цьому типі методу планування ЦП було виділено для певного процесу. Процес, який робить CPU зайнятим, звільняє CPU або перемикаючи контекст, або завершуючи. Це єдиний метод, який можна використовувати для різних апаратних платформ. Це тому, що воно не потребує спеціального обладнання (наприклад, таймера), як попереджувальне планування.
Коли планування є попереджувальним чи непередбачувальним?
Щоб визначити, чи є планування переважним чи непередбачувальним, враховуйте ці чотири параметри:
- Процес переходить із запущеного в стан очікування.
- Конкретний процес переходить із робочого стану в стан готовності.
- Конкретний процес переходить із стану очікування у стан готовності.
- Процес закінчив своє виконання та завершив.
Застосовуються лише умови 1 і 4, планування називається непередбачувальним.
Усі інші графіки є превентивними.
Важливі термінології планування процесора
- Час вибуху / час виконання: це час, необхідний процесу для завершення виконання. Його ще називають часом роботи.
- Час прибуття: коли процес переходить у готовий стан
- Час завершення: коли процес завершено та вихід із системи
- Мультипрограмування: Кількість програм, які можуть бути присутніми в пам'яті одночасно.
- Вакансії: Це тип програми без будь-якої взаємодії з користувачем.
- Користувач: Це свого роду програма, що взаємодіє з користувачем.
- Процес: Це посилання, яке використовується як для завдання, так і для користувача.
- Цикл спалаху CPU / IO: характеризує виконання процесу, який чергується між процесором та активністю вводу-виводу. Час роботи процесора зазвичай коротший, ніж час введення / виводу.
Критерії планування процесора
Алгоритм планування процесора намагається максимізувати та мінімізувати наступне:
Розгорнути:
Використання центрального процесора: використання центрального процесора - це головне завдання, при якому операційна система повинна переконатися, що центральний процесор залишається максимально зайнятим. Він може коливатися від 0 до 100 відсотків. Однак для RTOS він може становити від 40 відсотків для низькорівневих та 90 відсотків для високорівневих систем.
Пропускна здатність: кількість процесів, які закінчують своє виконання за одиницю часу, відома пропускна здатність. Отже, коли центральний процесор зайнятий виконанням процесу, на той момент робота виконується, і робота, виконана за одиницю часу, називається пропускною здатністю.
Згорнути:
Час очікування: Час очікування - це кількість, яку певний процес повинен зачекати у готовій черзі.
Час відповіді: це кількість часу, протягом якого запит було подано до першої відповіді.
Час виконання: час виконання - це кількість часу для виконання певного процесу. Це розрахунок загального часу, витраченого на очікування потрапляння в пам’ять, очікування в черзі та виконання на центральному процесорі. Період між часом подання процесу та часом завершення є часом повороту.
Таймер інтервалу
Переривання таймера - це метод, який тісно пов’язаний з попередженням. Коли певний процес отримує розподіл ЦП, таймеру може бути встановлений заданий інтервал. Як переривання таймера, так і попередження примушують процес повернути центральний процесор до завершення його спалаху.
Більшість мультипрограмованих операційних систем використовує певну форму таймера, щоб запобігти назавжди зв’язуванню системи.
Що таке диспетчер?
Це модуль, який забезпечує управління процесором процесу. Диспетчер повинен бути швидким, щоб він міг працювати на кожному перемикачі контексту. Затримка відправлення - це кількість часу, необхідного планувальнику ЦП для зупинки одного процесу та запуску іншого.
Функції, які виконує Dispatcher:
- Перемикання контексту
- Перехід у режим користувача
- Перехід до правильного місця в нещодавно завантаженій програмі.
Типи алгоритму планування процесора
В основному існує шість типів алгоритмів планування процесів
- Перший прийшов, перший подає (FCFS)
- Планування найкоротшого робочого місця (SJF)
- Найкоротший час, що залишився
- Пріоритетне планування
- Планування кругового Робіна
- Багаторівневе планування черг
Перший приходь перший подавай
First Come First Serve - це повна форма FCFS. Це найпростіший і найпростіший алгоритм планування процесора. У цьому типі алгоритму процес, який запитує ЦП, отримує розподіл ЦП спочатку. Цим методом планування можна керувати за допомогою черги FIFO.
Коли процес надходить у готову чергу, його друкована плата (блок управління процесом) пов’язана з хвостом черги. Отже, коли центральний процесор стає вільним, його слід призначити процесу на початку черги.
Характеристики методу FCFS:
- Він пропонує алгоритм непередбачуваного та попереджувального планування.
- Роботи завжди виконуються за принципом «хто прийшов, хто надав послуги»
- Це просто у впровадженні та використанні.
- Однак цей метод погано працює, а загальний час очікування досить високий.
Найкоротший час, що залишився
Повна форма СТО - це найкоротший час, що залишився. Він також відомий як попереджувальне планування SJF. У цьому методі процес буде розподілено на завдання, яке є найближчим до його завершення. Цей метод заважає новому процесу готового стану утримувати завершення попереднього процесу.
Характеристики методу планування SRT:
- Цей метод застосовується здебільшого в пакетних середовищах, де коротким завданням потрібно надавати перевагу.
- Це не ідеальний метод для його реалізації в загальній системі, де необхідний час процесора невідомий.
- Пов'язуйте з кожним процесом як тривалість наступного сплеску процесора. Таким чином, операційна система використовує ці довжини, що допомагає планувати процес із найкоротшим часом.
Пріоритетне планування
Пріоритетне планування - це метод планування процесів, заснований на пріоритеті. У цьому методі планувальник вибирає завдання для роботи відповідно до пріоритету.
Планування пріоритетів також допомагає ОС залучати пріоритетні призначення. Процеси з вищим пріоритетом повинні виконуватися спочатку, тоді як роботи з однаковими пріоритетами виконуються на круговій основі або FCFS. Пріоритет можна визначити, виходячи з вимог пам’яті, часу та ін.
Планування кругового Робіна
Round Robin - це найстаріший, найпростіший алгоритм планування. Назва цього алгоритму походить від принципу кругового руху, коли кожна людина отримує рівну частку чогось по черзі. Він в основному використовується для алгоритмів планування в багатозадачності. Цей метод алгоритму допомагає виконувати процеси без голоду.
Характеристика планування кругового Робіна
- Round robin - це гібридна модель, що керується годинником
- Часовий фрагмент повинен бути мінімальним, який призначається для конкретного завдання, яке підлягає обробці. Однак вона може відрізнятися для різних процесів.
- Це система реального часу, яка реагує на подію у визначений термін.
Спочатку найкоротша робота
SJF - це повна форма (спочатку найкоротша робота) - це алгоритм планування, в якому процес із найкоротшим часом виконання повинен бути обраний для виконання наступним. Цей метод планування може бути попереджувальним або непередбачувальним. Це значно зменшує середній час очікування для інших процесів, що очікують виконання.
Характеристика планування SJF
- Це пов’язано з кожною роботою як одиниця часу, яку потрібно виконати.
- У цьому методі, коли доступний центральний процесор, спочатку виконується наступний процес або завдання з найкоротшим часом завершення.
- Він реалізується з попереджувальною політикою.
- Цей метод алгоритму корисний для пакетної обробки, де очікування завершення завдань не є критичним.
- Це покращує випуск робочих місць, пропонуючи коротші робочі місця, які слід виконувати спочатку, в основному з меншим часом виконання.
Багаторівневе планування черг
Цей алгоритм розділяє готову чергу на різні окремі черги. У цьому методі процеси присвоюються черзі на основі певної властивості процесу, наприклад пріоритету процесу, обсягу пам'яті тощо.
Однак це не самостійний алгоритм планування ОС, оскільки йому потрібно використовувати інші типи алгоритмів для планування завдань.
Характеристика багаторівневого планування черг:
- Для процесів з деякими характеристиками слід вести кілька черг.
- Кожна черга може мати свої окремі алгоритми планування.
- Пріоритети даються для кожної черги.
Призначення алгоритму планування
Ось причини використання алгоритму планування:
- ЦП використовує планування для підвищення своєї ефективності.
- Це допомагає розподілити ресурси між конкуруючими процесами.
- Максимальне використання центрального процесора можна отримати за допомогою мультипрограмування.
- Процеси, які мають бути виконані, знаходяться в готовій черзі.
Короткий зміст:
- Планування процесора - це процес визначення, якому процесу належатиме процесор для виконання, поки інший процес утримується.
- У превентивному плануванні завдання в основному розподіляються з їх пріоритетами.
- У методі непередбачуваного планування ЦП було виділено для певного процесу.
- Час сплеску - це час, необхідний для завершення процесу. Його ще називають часом роботи.
- Використання центрального процесора - головне завдання, при якому операційна система повинна переконатися, що центральний процесор залишається якомога зайнятішим
- Кількість процесів, які закінчують своє виконання за одиницю часу, відома пропускна здатність.
- Час очікування - це сума, яку конкретний процес повинен зачекати у готовій черзі.
- Це кількість часу, протягом якого було подано запит, до подання першої відповіді.
- Час виконання - це кількість часу для виконання певного процесу.
- Переривання таймера - це метод, який тісно пов'язаний з попередженням,
- Диспетчер - це модуль, який забезпечує управління процесором процесу.
- Шість типів алгоритмів планування процесів:
- Перший приход - перша послуга (FCFS), 2) Планування найкоротшої роботи (SJF) 3) Найкоротший час, що залишився 4) Пріоритетне планування 5) Планування кругового Робін 6) Планування багаторівневої черги
- У методі «Перший приходить перший», процес, який запитує ЦП, отримує розподіл ЦП першим.
- За найкоротший час, що залишився, процес буде розподілено на завдання, яке є найближчим до його завершення.
- У програмі планування пріоритетів планувальник вибирає завдання для роботи відповідно до пріоритету.
- У цьому графіку кругових робіт працює в принципі, коли кожна людина отримує рівну частку чогось по черзі
- У найкоротшій роботі спочатку слід обрати найкоротший час виконання для наступного виконання
- У багаторівневому плануванні метод розділяє готову чергу на різні окремі черги. У цьому методі процеси присвоюються черзі на основі певної властивості
- ЦП використовує планування для підвищення своєї ефективності.