Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Відповіді 17-25.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
46.96 Кб
Скачать
  1. Стани процесу

2 . Стани процесів

Під час виконання процесу його стан змінюється. Під станом процесу розуміють його біжучий режим або статус. В середовищі UNIX процес може перебувати в одному з наступних станів:

  • виконання;

  • працездатності (готовності);

  • зомбі;

  • очікування (блокування);

  • зупинки.

С тан процесу змінюється при певних умовах, які створюються існуван­ням процесу або операційною системою. Під зміною стану, або переходом з одного стану в інший, розуміють обставини, заставляють процес змінити свій стан. На рис. 4 показано діаграму станів для середовища UNIX. Діаграма станів містить вузли та напрямлені ребра, що з’єднують ці вузли. Кожен вузол відоб­ражає стан процесу, а напрямлені ребра між вузлами – переходи з одного стану в інший. Можливі зміни стані (з анотацією) описано в табл. 1. На рис. 4 і табл. 1 показано, що між станами дозволені лише певні переходи. Наприклад, між ста­нами готовності і виконання існує перехід (ребро діаграми), а між станами очі­кування і виконання – немає. Це означає, що можливі обставини, які заставля­ють процес перейти з стану готовності в стан виконання, але немає обставин, які можуть заставити процес перейти в стан виконання з стану очікування.

Коли процес тільки створюється, від готовий до виконання своїх інстру­кцій, але повинен очікувати свого часу до тих пір, доки не звільниться проце­сор. Кожному процесу персонально дозволяється використати процесор в ме­жах дискретного часового інтервалу, який називаємо квант часу (time slice). Про­цеси, які очікують використання процесора, займають чергу, тобто пере­міщуються в чергу готових процесів. Тільки з таких черг планувальник вибирає процес, який буде використовувати процесорний час. Процеси, які знаходяться в чергах готових процесів, перебувають в працездатному стані. Коли процесор

Переходи процесів з одного стану в інший

Переходи між станами

Опис

ОЧІКУЄ  ВИКОНУЄТЬСЯ (завантаження)

Процес призначається процесору

ВИКОНУЄТЬСЯ  ГОТОВИЙ (кінець кванту часу)

Квант часу процесу, якій призначений процесу закінчився

ВИКОНУЄТЬСЯ  ГОТОВИЙ (дострокове вивантаження)

Процес вивантажується до закінчення його кванту ча­су. (Це можливе у випадку, якщо став готовим процес з більш високим пріоритетом). Виванта­жений процес роз­­міщується знову в чергу процесів

  1. Планування процесу, стратегії планування.

Якщо готових до виконання процесів більше одного, планувальник по­винен визначити, який з них першим призначити процесору. З цією метою пла­нувальник підтримує структуру даних, які дозволяють найбільш ефективним чи­ном розподіляти між процесами процесорний час. Кожен процес отримує клас (тип) пріоритету і розміщується у відповідній йому черзі разом з іншими працездатними процесами того ж пріоритетного класу. Тому істує декілька прі­оритетних черг, які відображають різні класи пріоритетів, які використовую­ть­ся системою. Ці пріоритетні черги впорядковуються і розміщуються в масив розподілу, що називається багаторівневою пріоритетною чергою (multilevel priority queue), зображеній на рис. 5. Кожен елемент цього масиву пов'язаний з конкретною пріоритетною чергою. Для виконання процесором планувальник призначає той процес, який міститься в головній частині не порожньої черги, і має самий високий пріоритет. Пріоритети можуть бути динамічними і статичними

. Стратегія планування

Процеси розміщуються в пріоритетних чергах у відповідності до страте­гії планування. В системах UNIX/Linux використовуються дві стратегії плану­вання FIFO (First In First Out – перший прийшов, першим обслужений) і RR (round-robin, тобто циклічна). Схема дії стратегії FIFO подана на рис. 6, а. При використанні стратегії FIFO процеси призначаються процесору у відповідності з часом надходження в чергу. Після закінчення кванту часу процес розміщуєть­ся на початок (головну частину) своєї пріоритетної черги. Коли процес, який очікує, стає працездатним (працездатним), він розміщується в кінець своєї пріо­ритетної черги. Процес може викликати системну функцію і відмовитися від процесора на користь іншого процесу з таким же рівнем пріоритету.

У відповідності з циклічною стратегією планування RR всі процеси вва­жаються рівноправними (рис. 6, б). RR-планування співпадає з FIFO-плануван­ням за одним виключенням: після закінчення кванту часу процес розміщується не на початок черги, а в кінець своєї пріоритетної черги, і процесору признача­ється наступний (по черзі) процес.