``Operating system'' (OS) is the name given to the set of programs that controls a computer's hardware and software, and that interacts with the user. This Guide is about using a computer running the GNU/Linux OS. It assumes a fairly new PC and an up-to-date OS installation. Typical GNU/Linux distributions (distros) are Debian Woody and RedHat 7.x, 8, or 9.
In this guide, ``unix'' is used as a generic term to apply to all UNIX-type operating systems. All examples are based on GNU/Linux systems. While most of these commands will work on other unix systems such as Sun Solaris, BSD, HP-UX, Mac OS/X, and IBM's AIX, there are often differences between them and GNU/Linux in the syntax of switches and the appearance of the output.
The unix operating system has three main components:
The Linux kernel
The filesystem
The shell
The kernel is the core part of the operating system. It is the part that loads first, and it stays resident in memory as long as the computer is powered on and running.
The key functions of the kernel include:
Process Management - creating, suspending, and terminating processes, and maintaining their states.
Interprocess Communication (IPC) - managing the facilities for processes to communicate with each other. The two main types are:
Pipes: temporary channels to allow processes to communicate on the same computer.
Sockets: Network (including Internet) channels to allow processes to communicate across the network.
File Management - the kernel manages the filesystem and the hardware such as disks that the filesystem uses.
Memory Management - the kernel allocates RAM for itself and all the other processes.
On a typical GNU/Linux system, the kernel is stored in a file named /boot/vmlinux or /boot/vmlinuz. This file is loaded into memory when the computer boots.