[The kernel] is that part of the system which manages the resources of whatever computer system it lives on, to keep track of the disks, tapes, printers, terminals, communication lines and any other devices.
The file system is the organising structure for data. The file system is perhaps the most important part of the UNIX operating system. The file system goes beyond being a simple repository for data, and provides the means of organizing the layout of the data storage in complex ways.
The shell is the command interpreter. Although the shell is just a utility program, and is not properly a part of the system, it is the part that the user sees. The shell listens to your terminal and translates your requests into actions on the part of the kernel and the many utility programs. [7, p. 3]
file systems are discussed in chapters 2 and 3 of this manual, and shells are discussed in chapter 4.
One can imagine the UNIX system as a series of three concentric circles, with the inner circle representing the kernel, the second circle representing the programming shell, and the last one representing application programs. Figure 1.2 illustrates that concept.
The shell communicates to the kernel, and vice versa. The application programs can communicate directly with both the shell and the kernel.