Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
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.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Other OS designs go to great lengths to treat most of the kernel as processes, though at some level an OS kernel must still be fundamentally different from a collection of processes.
Linux is not at either extreme of that design spectrum. The kernel design does not go to great lengths to treat itself the same way it treats processes, but it also does use some scheduling mechanisms that are mainly intended to ordinary processes to schedule some kernel activity.
Compared to Windows, Linux is more modular, especially in having less in the kernel and more in ordinary processes. So many things one would think of as being part of the OS (as opposed to utilities or applications) are ordinary processes in any Unix-like OS.
As already noticed, the Linux OS is modular and is made of many processes. Maybe you want to dig into the boot process sequence and understand when the kernel takes control of your machine. The first and main process is /sbin/init that by convention has process ID equal to 1:
$ ps -fC init
UID PID PPID C STIME TTY TIME CMD
root1 0 0 Mar09 ? 00:00:02 init 
You can obtain a hierarchical list of processes by means of the pstree command.
As already noticed, the Linux OS is modular and is made of many processes. Maybe you want to dig into the boot process sequence and understand when the kernel takes control of your machine. The first and main process is /sbin/init
As I understand it, /sbin/init does a job that in a monolithic OS design you would expect to be part of the kernel. But in Linux it is outside the kernel.
Even though activities that logically could be in the kernel are processes outside the kernel in Linux, there still is a significant kernel.
As I understand it, some activities that are inside the kernel still act like processes to varying degrees. But some activities in the kernel are run in ways that are not similar to processes. The Linux OS is not made of only many processes.
As I understand it, /sbin/init does a job that in a monolithic OS design you would expect to be part of the kernel. But in Linux it is outside the kernel
Thank you for pointing this out. Actually the init process is the first running process in the user space, whereas the main of the kernel performs other and preliminary tasks (aimed mainly to hardware control, loading drivers, setting interrupts... if I'm not wrong).
Just out of curiosity, what do you mean by some activities in the kernel are run in ways that are not similar to processes? Any reference? Thank you.
Perhaps the OP is trying to distinguish between the kernel (which, strictly speaking, IS the OS), and userspace applications. In that case, the OS/kernel is not considered a process. It does not have most or all of the attributes that constitute a process.