Процеси та їх стани
Єдиного визначення процесу не існує. Можна навести декілька визначень, і вони всі будуть вірними.
Процес
- це програма в стадії виконання;
- це жива душа процедури;
- це об'єкт, якому виділені процесори;
- це модуль, який диспетчеризується.
Модель трьох (п'яти) станів процесів
Народження - це стан (напівстан), процес проходить через даний стан, але знаходитися в ньому не може.
Готовність - це пасивний стан, процес знаходиться в списку готових до виконання процесів, фізично він знаходиться в оперативній пам'яті.
Виконання - це єдиний активний стан, саме в цьому стані процес займає або використовує процесор, знаходиться в RAW, але прийнято казати, що в цьому стані процес знаходиться в процесорі.
Чекання - це пасивний стан, процес чекає настання якоїсь події, даних, звільнення ресурсу.
Завершення - стан (напівстан) подібний до народження, процес проходить через цей стан, коли закінчується, але знаходитися в цьому стані довго не може.
Робота даної діаграми
Народжується процес. Потрапляє в стан готовність і в стані готовності знаходиться в черзі готових до виконання процесів доки не дійде до нього черга (як в столовкі в черзі). Потрапляє процес в стан виконання. Тут 3 варіанти:
- процес виконався повністю, тоді він завершився;
- якщо процесу чогось не вистачає, процес переводиться в стан чекання;
- можливий тільки на системах з витісняючою багатозадачністю, коли в списку готових до виконання процесів з'являється процес з вищим пріоритетом.
Перейшовши в стан чекання процес чекає настання необхідної події. Як тільки процес дочекався, він переводиться в стан готовність.