A shell is a piece of software that provides an interface for users of an
operating system which provides access to the services of a kernel.
However, the term is also applied very loosely to applications and may
include any software that is "built around" a particular component, such as
web browsers and email clients that are "shells" for HTML rendering
engines. The name shell originates from shells being an outer layer of
interface between the user and the internals of the operating system (the
The user wishes to open a file. It doesn’t matter whether the user issued a
command from the CLI, or clicked a button in the GUI. The result is the
same. The request is passed to the SHELL by the application layer and the
OS responds by calling the open routine in the file management layer. The
shell passes the open file request down to the file management layer which
determines exactly where the requested file is located. If the file in on the
local computer, the file management layer passes the request down to the
device management layer, which communicates with the hardware layer.
Today we are going to focus on the CLI. For example:
-Type cmd at the run command


The CLI window is the application layer user interface which allows use to
communicate with kernel services and between services. Commands are separated
by 1 or more spaces and to execute the command you press the enter key.
-Type the command start notepad
The command start caused the application Notepad to open an untitled file.
When we issue a command whether from the CLI or the GUI the command line, it is
not understood by the processor. The “English” like command called “source code”
has to be converted into “object code”. Object code is machine code which the
processor can execute. The interpretation process is the responsibility of the
“command interpreter” which is built into the SHELL, called cmd.exe. The program
checks that the command was typed...