Assignment 1

Topic: A Simple Shell

Due on or before: (To be announced)

Maximum Marks: 8



Take-Home Message

A shell or a command interpreter, is one of the most important parts of an Operating System. It is the job of the shell to parse user inputs, and if required, spawn other processes (which necessitates the use of the fork and exec family of instructions, for any Operating System. UNIX has a large number of shells, the Bourne Shell sh, the Bourne-Again Shell bash, the C Shell csh, tcsh, ash, the Korn Shell ksh, zsh, and others. For Windows, it is the command interpreter cmd. The login shell is listed in the login record, so that /bin/login (the program that prompts for the password), knows what shell to start in, when a login happens. This assignment considers the design of a simple shell, from scratch.
You may have heard of the limmerick,

There was a Unix salesperson named Eleanor
Who loved her work, but loved the beach more
She found a good way
To combine work and play
She sells C Shells by the seashore

Demo Schedule:


(Schedule: to be announced over email)


Sumantra Dutta Roy  Department of Electrical Engineering, IIT Delhi, Hauz Khas,
New Delhi - 110 016, INDIA. sumantra@ee.iitd.ac.in