差分

移動先: 案内検索

プロセス管理

605 バイト追加, 2021年11月9日 (火) 15:39
/* プロセスの基本的概念 */
プログラムが動作する実行実体のことをプロセスと呼びます。プログラムが動作する実行実体のことをプロセスと呼びます。単純化して説明すると、プログラムの実行のことです。単純化して説明すると、プログラムの実行のことです。
プロセスはプロセスごとにプロセス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 >
それで説明が終わるのはあんまりなので、もうちょっと概念的にどのような位置づけなのか考えてみます。概念的にどのような位置づけなのかを確認してみます。