The purpose of this page is describe the Linux architecture. The layers to the Linux system consist of:
- hardware (CPU, memory, storage, monitors, etc.)
- Linux kernel (process management, file system, memory management, I/O, etc.)
- standard utility programs (GNU core utilities) and standard C library
- user interface (command line shell such as bash or a GUI such as Gnome, KDE or XWindows)
- applications (such as Apache, MySQL and PhP) and networking (sshd and inetd)
- contains many of the basic tools such as
cat,
ls, and
rm needed for
Unix-like operating systems)

What is the Linux kernel?
"The kernel is the essential center of a computer operating system, the core that provides basic services for all other parts of the operating system. A synonym is nucleus. A kernel can be contrasted with a shell, the outermost part of an operating system that interacts with user commands. Kernel and shell are terms used more frequently in Unix operating systems than in IBM mainframe or Microsoft Windows systems." (Source:
SearchEnterpriseLinux.com )
"Typically, a kernel (or any comparable center of an operating system) includes an interrupt handler that handles all requests or completed I/O operations that compete for the kernel’s services, a scheduler that determines which programs share the kernel’s processing time in what order, and a supervisor that actually gives use of the computer to each process when it is scheduled. A kernel may also include a manager of the operating system’s address spaces in memory or storage, sharing these among all components and other users of the kernel’s services. A kernel’s services are requested by other parts of the operating system or by application programs through a specified set of program interfaces sometimes known as system calls."
The Linux Kernel If any single aspect of a Linux distribution could be called "Linux," then it would be the
kernel. So what is the kernel? Well, on the hard disk, it is
represented by the file /vmlinuz. Just as a program like /bin/date is a collection of bytes that isn't very useful until it is loaded in memory and running, the same applies to /vmlinuz. However, once the /vmlinuz program is loaded into memory and starts its work, it becomes "the
kernel" and has many responsibilities. Perhaps the two most important responsibilities are process management and file management. However, the
kernel is responsible for many other things. One aspect is
I/O management, which is essentially the accessing of all the peripheral devices. (source: the
Linux Tutorial)