差分
プロセス管理
,/* プロセスの基本的概念 */
プロセスはプロセスごとにプロセスIDを付与され、その数字で管理されています。
このプロセスIDの数字は[[プロセスIDを擬似乱数生成関数の初期化パラメータに使う是非 | 一定の数字で循環]]します。
Linuxカーネルが扱えるプロセスIDの最大値は/proc/sys/kernel/pid_maxを参照すればわかりますが、pid_maxを参照すればわかります。一般向けのLinuxディストリビューションであれば現状ではプロセスIDの最大値は カーネルの[https://github.com/torvalds/linux/blob/master/include/linux/threads.h ソースコード]内ではプロセスIDの最大値は次のようにして設定しています。最少構成でカーネルを作った場合は4096、32ビットCPUだと32768、64ビットもしくはそれ以上のCPUだと68293696ということになります。 <syntaxhighlight lang='C' line="1" > /* * This controls the default maximum pid allocated to a process */#define PID_MAX_DEFAULT (CONFIG_BASE_SMALL ? 0x1000 : 0x8000) /* * A maximum of 4 million PIDs should be enough for a while. * [NOTE: PID/TIDs are limited to 2^15 30 ~= 1 billion, see FUTEX_TID_MASK.] */#define PID_MAX_LIMIT (32768CONFIG_BASE_SMALL ? PAGE_SIZE * 8 : \ (sizeof(long) となっています。> 4 ? 4 * 1024 * 1024 : PID_MAX_DEFAULT)) </syntaxhighlight >