Next: Environments
Up: Overview
Previous: Kernel
The basic execution unit is a process. It is a particular instantiation
of a program by a user. Under Linux-ish systems and unlike many others,
more than one instantiation of a program may exist.
Processes may spawn other processes. When this occurs, the initiating
program becomes the parent of the spawned process.
When a Linux system boots, the init program is started. It, in turn,
starts all other processes on the system (kswapd, syslogd, X,
etc.). When a user logs in, a new process is started for the
login shell. When a command is typed in, the shell spawns a new process
to run that command. The following shows an excerpt of processes
running on my machine using a home-grown perl script:
$ ptree
init (S, pid=1)
|-kflushd (S, pid=2)
|-kswapd (S, pid=3)
|-xdm (S, pid=114)
|-X (S, pid=120)
|-xdm (S, pid=121)
|-.xsession (S, pid=132)
|-fvwm2 (S, pid=217)
|-emacs (S, pid=24159)
|-xmcd (S, pid=12813)
Reece Kimball Hart
1998-03-18