I need a stripped-down shell program for UNIX. The program itself is short. The shell, not including the parser, is one and a half pages of C code. However, in order to write a shell you will need to understand the UNIX mechanisms for process creation/termination, interprocess communication, and basic file management, as well as the C system calls which are used to implement these operating system constructs. You must implement three versions of the assignment. 1st will use pipes as the inter-process communication mechanism. 2nd will use named pipes or FIFOs as the inter-process communication mechanism. Finally, 3rd will use shared memory. First are the basic functions of the standard UNIX shell: *Redirection of a command's input/output from/to a file(the use of > and < in the UNIX shell) *The use of pipes to connect the output of one command to the input of the following command on the command line (the use of | in the UNIX shell) *The execution of commands "in the background," (the use of & as a command line terminator in the UNIX shell) The second thing is that you need to use the following system calls in your shell: fork(), wait(), exit(), execvp(), close(), open(), pipe(), dup(). Third, the command line parser for the shell will be provided to you. #include "parser.c" should be the first line in the shell program. Using the above system calls and parsecmd() you should write a shell which will do the following: *Execute either a single command on a command line or two or more commands on a command line (separated by pipes). The commands may have arguments as well. *Handle the arbitrary (but syntactically correct) use of redirection of input and/or output for the commands (together with the possible use of pipes) *Check for correct use of < , > and | in the command line. Time of when this program is needed to be done is by Monday, March 3 around 12 noon. For any further questions or information, email my account.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased. 4) Completed by Monday March 3 around 12 noon.
Must run on a pc system. Must be able to run on Unix.