Идентификатор процесса

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Идентификатор процесса (англ. process identifier, PID) — уникальный номер (идентификатор) процесса в многозадачной операционной системе (ОС). В ОС семейства Windows pid хранится в переменной целочисленного типа[1]. В ОС, соответствующих стандарту POSIX, тип переменной, хранящей pid, определяется каждой ОС индивидуально[2]. Например, в ОС Linux pid хранится в переменной целочисленного типа (int)[3].

В Unix-подобных ОС[править | править код]

Часто имеется два специальных значения PID: swapper или sched - процесс с номером 0 (часто не отображается в списке), отвечает за выгрузку страниц и является частью ядра операционной системы. Процесс 1 - обычно является процессом init, ответственным за запуск и остановку системы. Также становится родительским процессом для процессов-сирот.

В Linux максимальный возможный идентификатор процесса по умолчанию ограничен 32 тысячами,[4] но может быть перенастроен на величину до 4 миллионов. При этом максимальный идентификатор потока в ОС ограничен 500 млн.[5]

Примечания[править | править код]

  1. MSDN:GetCurrentProcessId (англ.). Архивировано 31 октября 2012 года.
  2. POSIX Function Reference : getpid (англ.). Архивировано 31 октября 2012 года.
  3. /usr/include/bits/types.h:69 (англ.). Архивировано 31 октября 2012 года.
  4. Linux Scalability
  5. http://lxr.free-electrons.com/source/include/linux/threads.h#L29 " A maximum of 4 million PIDs should be enough for a while. [NOTE: PID/TIDs are limited to 2^29 ~= 500+ million, see futex.h.]"