0% found this document useful (0 votes)
101 views2 pages

CIS 570 - Advanced Computing Systems Assignment 1: Objective

This document provides specifications for Assignment 1 of the CIS 570 course. The objective is to create a command-interpreter program that supports both DOS and Unix-style commands. It must accept commands like dir, del, copy, move, type, cd, more, md, rd, and cls from DOS, as well as commands like ls, rm, cp, mv, cat, mkdir, rmdir, and clear from Unix. The program needs to fork processes and use execvp() to execute commands. It also needs to support redirection, running processes in the background, and piping commands. The submission is a single program file that must be the student's own work.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
101 views2 pages

CIS 570 - Advanced Computing Systems Assignment 1: Objective

This document provides specifications for Assignment 1 of the CIS 570 course. The objective is to create a command-interpreter program that supports both DOS and Unix-style commands. It must accept commands like dir, del, copy, move, type, cd, more, md, rd, and cls from DOS, as well as commands like ls, rm, cp, mv, cat, mkdir, rmdir, and clear from Unix. The program needs to fork processes and use execvp() to execute commands. It also needs to support redirection, running processes in the background, and piping commands. The submission is a single program file that must be the student's own work.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

CIS 570 - Advanced Computing Systems

Assignment 1
Objective : The object of this assignment is to learn about system calls, creating an interface between the
operating system and the user
(command interpreter) and implementing an important part of an operating system.

Goal : Create a command-interpreter that will accept a few dos-like commands but execute in the unix
style.
Commands that should be supported - most of unix commands such as grep, clear, ps, in addition we will
support some dos commands such
as dir (which will list the files and directories in the current directory). The specifications are given below.

Specifications:
1. Like the dos environment your prompt should be the path of the current directory. (Unix system call getcwd - find the name of the current
working directory).
2. Your program should support the following DOS command. You don't have to worry about the
switches, but
implementing switches will get extra credit.
Dos

Unix

dir

ls

del

rm

copy

cp

move/rename

mv

type

cat

cd

cd

more < file

more file

md

mkdir

rd

rmdir

cls

clear

3. When executing these commands your program should fork a process and use execvp to execute the
commands.
4. Redirection (< and >) should work as intended on the Unix system.
5. Unlike dos, your program should support running the process in the background using the ampersand
sign (&). This means that the prompt
will printed and the command-interpreter will wait for the next command before the previous commands is
completely executed when & is used
following the command.
6. You should also implement the pipe in your program. A pipe (|) enables you to pass the output of the

command on the left of the pipe as the


input to the command on the right of the pipe. For example: $ ls -l | wc will produce a number that will tell
you the number of files (including
directories, links etc) in your current directory.
Submission: The submission is to be done on MyCourses. If you have not used the system before you
need to register.
Please submit only one copy of your program. If you make multiple submission only the latest copy will be
graded.
I will start a discussion page where you can post your comments and questions. You can send me questions
and I will post the answers for everyone to see.

Requirements:
Your program should compile and run on the Linux workstations (Lab DION305) (I recommend you use
gcc and ddd to compile and debugrespectively, remember for ddd to work on the executable it should have
been compiled with the -g option). Your program should contain a header displaying your name,
information on what the program does and instructions for compilation and execution. The program you
turn in must be your work. You may not discuss implementation or the solution with other members of the
class. Any form of cheating will result in an F in the course.
All references must be cited. Late submissions will be penalized 10% per day.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy