Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
you'll realize all the first (small) PIDS are kernel processes.
As to unique identifiers in kernels up to 2.6.18 (RHEL version w backports), what these processes have in common is all kernel threads share the same user Id (obviously 0) and the same session Id and process group Id. What's more is that, depending on the machines HW, "kthread" spawns a host of children which then share the common "kthread" ancestors identifiers.
Originally Posted by MisterBark
The thing is, this is not always 300 and this number can be configured (and read). I just don't remember where.
PID #1 (init) is hard-coded. This process-table entry is constructed "by hand" during kernel initialization, and this very special process cannot die. (If it does, the kernel panics.)
Some operating systems have several such "hand built" entries, and the definition and purpose of these special processes vary from system to system.
"Kernel threads" are parts of the operating system kernel that are need to operate in an asynchronous fashion. (For instance, kswapd needs to perform disk I/O and to wait for completion of those I/O operations.) They are nevertheless "fully part of the kernel" and as such they operate by special rules. They will typically have low-numbered PIDs although there are no fixed assignments.