Home   Inte
rnet   Security       Virtual Machine   Vir
tual Memory   Processes   

Shell

UI Home

Timeline

Dot Shell

GUI

One of the great ideas in UI history is a command interpreter known as 'shell'. It might be easier to understand the concept of a shell if I explain it as using a typical ATM. Let's say a person walks upto an ATM. In order to use it, he/she needs to insert his/her ATM card then type in the PIN. If the card and the PIN matches, screen shows the main menu.

A shell provides process control for user

This main menu serves like a shell. In order to trigger the shell, user needs to type in 'login' name. This serves just like as inserting an ATM card into a machine. Then user needs to type in the password. This password has same function as PIN for ATM. With the correct login name and the password, the machine brings up the shell for an user.

Just like ATM shows the main menu and waits for the user to select one of its menu, the shell initializes itself, then types a 'prompt' character, often a percent or dollar sign, on the screen and waits for the user to type a command. The only difference between the ATM and the shell is the way to communicate with the machine. User pushes buttons to tell ATM what to do but in shell, user types the command into a command line.

Furthermore, like ATM has functions such as deposit, withdrawal, balance check, and etc., shell has function set known as 'command set'. When the user types a command line, the shell extracts the first word from it, assumes it is the name of a program to be run, searches for this program, and if it finds, it runs the program. Then it prints the result back to screen, just like ATM prints out the statement on the piece of paper or gives money to the user as a result.


Shell in Virtual Machine Level