Programming Assignment 1 Solved

$24.99 $18.99

2. Requirements: This programming assignment is inspired by one given at MIT (https://pdos.csail.mit.edu/6.828/2012/homework/xv6-shell.html). The MIT assignment asks the students to implement the pipe “|” and IO indirection “>” operators and somewhat more. We ask you to implement the sequence command execution operator “;” and the parallel execution operator “&” and more. You should do this…

5/5 – (2 votes)

You’ll get a: zip file solution

 

Description

5/5 – (2 votes)

2. Requirements:

This programming assignment is inspired by one given at MIT

(https://pdos.csail.mit.edu/6.828/2012/homework/xv6-shell.html). The MIT assignment

asks the students to implement the pipe “|” and IO indirection “>” operators and

somewhat more. We ask you to implement the sequence command execution operator

“;” and the parallel execution operator “&” and more. You should do this assignment by

modifying the skeleton code attached. Invoke your shell from the shell that comes with

xv6 or from a robust UNIX.

1) After your shell has started, it will give a prompt to the user. You should use

“$CS450” for the prompt.

2) If the user types cmd1;cmd2;…;cmdn after the prompt, cmd1 will get

executed, followed by cmd2 and so on. After cmdn is executed, your shell will

give a new prompt in a new line, ready to execute the next command line.

3) If the user types cmd1&cmd2&…&cmdn, all commands will get executed in

parallel. After all terminate, your shell will give a new prompt in a new line,

ready to execute the next command line.

4) The commands cmd1 etc. are real commands supported by xv6 and they take

arguments. An example is the command echo “A”.

5) Your shell shall support command lines with 3 or more commands connected by

the “;” and “&” operators. The operators are of equal rank and they will be

executed from left to right. As an example, the string “cmd1&cmd2;cmd3” will

see cmd1 and cmd2 executed in parallel, then Cmd3 after they both terminate.

6) A command string terminated by a “&” is illegal; but it is fine with “;”

3. Deliverables:

1) Source and executable objects with a README on how to build and execute

them.

2) Screenshots showing your shell and test cases being executed. An example is

attached.

3) A copy of the modified skeleton code, showing the modifications that you make

and with comments that explains how your code works.

4) The test data that you use and explanation on why the test data is of good

quality. If you use the equivalence partitioning method to generate your test

data, describe your equivalence partitions.

Programming Assignment 1 Solved
$24.99 $18.99