Состояния процесса и переходы в процессе UNIX

Опубликовано: 28 Декабря, 2021

Процесс

Процесс - это экземпляр выполняемой программы. Набор процессов, объединенных вместе, составляет законченную программу.

В Unix есть две категории процессов, а именно

  • Пользовательские процессы : они работают в пользовательском режиме.
  • Процессы ядра : они работают в режиме ядра.

Состояния процесса

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

  • Создан - процесс вновь создан системным вызовом, не готов к запуску
  • Выполняемый пользователем -Process работает в пользовательском режиме, что означает, что это пользовательский процесс.
  • Выполняется ядро - указывает, что процесс - это процесс ядра, работающий в режиме ядра.
  • Зомби - Процесс не существует / прекращен.
  • Вытесненный - когда процесс переходит из режима ядра в пользовательский режим, он считается вытесненным.
  • Готов к запуску в памяти - это указывает на то, что процесс достиг состояния, в котором он готов к запуску в памяти, и ожидает, пока ядро запланирует его.
  • Готов к запуску, заменен - процесс готов к запуску, но нет пустой основной памяти
  • Спящий режим с заменой - процесс был переведен во вторичное хранилище и находится в заблокированном состоянии.
  • Спит в памяти - процесс находится в памяти (не переключен на вторичное хранилище), но находится в заблокированном состоянии.

Цифры указывают на выполняемые шаги.

Переходы процессов

Работа Process объясняется следующими шагами:

  1. Выполняется пользователем: процесс выполняется пользователем.
  2. Выполняется ядро: процесс выделен ядру и, следовательно, находится в режиме ядра.
  3. Готов к запуску в памяти: Кроме того, после обработки в основной памяти процесс переносится на ядро. Т.е. процесс не выполняется, но готов к запуску, как только ядро планирует его.
  4. Спит в памяти: процесс спит, но находится в основной памяти. Ожидает начала выполнения задачи.
  5. Готов к запуску, заменен: процесс готов к запуску и заменяется процессором в основную память, что позволяет ядру планировать его выполнение.
  6. Sleep, Swapped: процесс находится в состоянии сна во вторичной памяти, освобождая место для выполнения других процессов в основной памяти. Он может возобновиться после выполнения задачи.
  7. Pre-empted: ядро вытесняет текущий процесс для выделения другого процесса, в то время как первый процесс переходит из режима ядра в пользовательский режим.
  8. Создано: процесс вновь создан, но не запущен. Это начальное состояние для всех процессов.
  9. Зомби: процесс был тщательно выполнен, и был разрешен вызов выхода.
    Таким образом, процесс больше не существует. Но он хранит статистическую запись для процесса.
    Это конечное состояние всех процессов.

Вниманию читателя! Не прекращайте учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с курсом теории CS по доступной для студентов цене и будьте готовы к отрасли.