Inside Linux

 Kernel

o The core of the UNIX system. Loaded at system start up (boot). Memory-resident control program.
o Manages the entire resources of the system, presenting them to you and every other user as a coherent system. Provides service to user applications such as device management, process scheduling, etc.
o Example functions performed by the kernel are:
 Managing the machine's memory and allocating it to each process.
 Scheduling the work done by the CPU so that the work of each user is
carried out as efficiently as is possible.
 Accomplishing the transfer of data from one part of the machine to another
 Interpreting and executing instructions from the shell
 Enforcing file access permissions
o You do not need to know anything about the kernel in order to use a UNIX system. These details are provided for your information only.

 Shell

o Whenever you login to a Unix system you are placed in a shell program. The shell's prompt is usually visible at the cursor's position on your screen. To get your work done, you enter commands at this prompt.
o The shell is a command interpreter; it takes each command and passes it to the operating system kernel to be acted upon. It then displays the results of this operation on your screen.
o Several shells are usually available on any UNIX system, each with its own strengths and weaknesses.
o Different users may use different shells. Initially, your system administrator will supply a default shell, which can be overridden or changed. The most commonly available shells are:
 Bourne shell (sh)
 C shell (csh)
 Korn shell (ksh)
 TC Shell (tcsh)
 Bourne Again Shell (bash)

o Each shell also includes its own programming language. Command files, called "shell scripts" are used to accomplish a series of tasks.

 Utilities

o UNIX provides several hundred utility programs, often referred to as commands.
o Accomplish universal functions
 editing
 file maintenance
 printing
 sorting
 programming support
 online info etc.

o Modular: single functions can be grouped to perform more complex tasks