Jump to content

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

В многозадачной компьютерной системе процессы могут находиться в различных состояниях . Эти отдельные состояния могут не распознаваться операционной системы ядром как таковые . Однако они представляют собой полезную абстракцию для понимания процессов.

Различные состояния процесса отображаются на диаграмме состояний со стрелками, указывающими возможные переходы между состояниями. Как видно, некоторые процессы хранятся в основной памяти (желтый), а некоторые — во вторичной памяти (зеленый).

Первичные состояния процесса

[ редактировать ]

Следующие типичные состояния процесса возможны в компьютерных системах всех типов. В большинстве этих состояний процессы «хранятся» в основной памяти .

Созданный

[ редактировать ]

Когда процесс создается впервые, он находится в состоянии « создан » или « новый ». В этом состоянии процесс ожидает перехода в состояние «готовность». Прием будет одобрен или отложен долгосрочным планировщиком приема . Обычно в большинстве настольных компьютерных систем этот допуск утверждается автоматически. Однако для операционных систем реального времени этот прием может быть отложен. В системе реального времени перевод слишком большого количества процессов в состояние «готовность» может привести к перенасыщению и чрезмерной конкуренции за ресурсы системы, что приведет к неспособности уложиться в сроки выполнения процессов.

«Готовый» или «ожидающий» процесс загружен в основную память и ожидает выполнения на ЦП (чтобы контекст переключился на ЦП диспетчером или краткосрочным планировщиком). В любой момент выполнения системы может быть много «готовых» процессов — например, в однопроцессорной системе одновременно может выполняться только один процесс, а все остальные «параллельно выполняющиеся» процессы будут ожидать исполнение.

Очередь готовности или очередь выполнения используется в компьютерном планировании . Современные компьютеры способны одновременно запускать множество различных программ или процессов. Однако процессор способен обрабатывать только один процесс одновременно. Процессы, готовые для ЦП, сохраняются в очереди «готовых» процессов. Другие процессы, ожидающие возникновения события, такие как загрузка информации с жесткого диска или ожидание подключения к Интернету, не находятся в очереди готовности.

Процесс переходит в рабочее состояние, когда он выбран для выполнения. Инструкции процесса выполняются одним из процессоров (или ядер) системы. На каждый процессор или ядро ​​может быть запущен не более одного процесса. Процесс может работать в любом из двух режимов: режиме ядра или режиме пользователя . [1] [2]

Режим ядра

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

Пользовательский режим

[ редактировать ]
  • Процессы в пользовательском режиме могут получать доступ к своим собственным инструкциям и данным, но не к инструкциям и данным ядра (или инструкциям других процессов).
  • Когда компьютерная система выполняется от имени пользовательского приложения, система находится в пользовательском режиме. Однако когда пользовательское приложение запрашивает услугу у операционной системы (через системный вызов ), система должна перейти из пользовательского режима в режим ядра, чтобы выполнить запрос.
  • Пользовательский режим позволяет избежать различных катастрофических сбоев:
    • существует изолированное виртуальное адресное пространство . Для каждого процесса в пользовательском режиме
    • Пользовательский режим обеспечивает изолированное выполнение каждого процесса, чтобы он не влиял на другие процессы как таковые.
    • Прямой доступ к любому аппаратному устройству не допускается.

Заблокировано

[ редактировать ]

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

Прекращено

[ редактировать ]

Процесс может быть завершен либо из «выполняющегося» состояния путем завершения его выполнения, либо путем явного завершения. В любом из этих случаев процесс переходит в состояние «завершено». Базовая программа больше не выполняется, но процесс остается в таблице процессов как процесс-зомби до тех пор, пока его родительский процесс не вызовет wait системный вызов для чтения статуса завершения , после чего процесс удаляется из таблицы процессов, что, наконец, завершает время существования процесса. Если родитель не может позвонить wait, это продолжает использовать запись таблицы процессов (точнее, идентификатор процесса или PID) и вызывает утечку ресурсов .

Дополнительные состояния процесса

[ редактировать ]

Два дополнительных состояния доступны для процессов в системах, поддерживающих виртуальную память . В обоих этих состояниях процессы «хранятся» во вторичной памяти (обычно на жестком диске ).

Поменял и жду

[ редактировать ]

(Также называется приостановленным и ожидающим .) В системах, поддерживающих виртуальную память, процесс может быть выгружен, то есть удален из основной памяти и помещен во внешнее хранилище с помощью планировщика. Отсюда процесс можно перевести обратно в состояние ожидания.

Заменил и заблокировал

[ редактировать ]

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

См. также

[ редактировать ]
  1. ^ Авраам Зильбершац; Питер Баер Гэлвин; Грег Ганье (29 июля 2008 г.). Концепции операционной системы . ISBN  978-0470128725 .
  2. ^ Морис Дж. Бах (1986). Проект операционной системы UNIX . Prentice-Hall, Inc. Аппер-Сэддл-Ривер, Нью-Джерси, США ©1986. ISBN  0-13-201799-7 .
  • Столлингс, Уильям (2005). Операционные системы: внутреннее устройство и принципы проектирования (5-е изд.). Прентис Холл. ISBN  0-13-127837-1 .
В частности, глава 3, раздел 3.2, «Состояния процесса», включая рисунок 3.9 «Переход между состояниями процесса с состояниями ожидания».
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ae72d817a18f77f16c0729fd171fa956__1704569160
URL1:https://arc.ask3.ru/arc/aa/ae/56/ae72d817a18f77f16c0729fd171fa956.html
Заголовок, (Title) документа по адресу, URL1:
Process state - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)