9 Жизненный цикл процесса, потока, нити.
В ОС
UNIX процесс в ходе своего существования может иметь одно из девяти состояний:
Граф состояний процесса в ОС UNIX
Пояснения
к рисунку:
1 - процесс выполняет инструкции программы (USER
RUNNING) (CPU) – на процессоре (активен);
2 - процесс выполняет системный вызов (KERNEL RUNNING)
(обращение к ядру);
3 - процесс готов к выполнению (READY_TO_RUN)
(ресурс выделен);
4 - процесс "спит" и ждет события
(SLEEP_IN_MEMORY);
5 - процесс готов к выполнению, но он находится на
внешнем носителе (т.е. выгружен) (READY_TO_ RUN, SWAPPED);
6- процесс "спит" и находится на внешнем
носителе (SLEEP, SWAPPED) ;
7-
процесс только что создан (процесс родился) (CREATED) (процесс родился);
8 - процесс уничтожен, завершен (ZOMBIE);
9 - процесс прерван по
приоритету (PREEMPTED).
В UNIX
нет разделения задача/задание. Работа в UNIX
представлена множеством конкурирующих процессов.
Сегменты завершающегося процесса
уничтож-ся, но остается стр-ра пользов-ля для родит-го процесса. Когда родит-й
процесс получил инфу об уничтожении порожденного им процесса, тогда м.б.
уничтожена стр-ра польз-я и освобождено место в таблице процессов.