Project 1
Design and Implement a Simple UNIX Shell
2 Objective
This project is about services that an operating system provides to users, processes, and other systems. In particular, via this project, you are to gain familiarity to services provided by operating systems and to use system calls to access the services.
To achieve this objective, you are to create a simple “shell” for Linux systems. A shell is a command interpreter whose main function is to get and execute the next user-specified command. See Section 2.2.1 in the textbook for more discussion.
3 Warning
Many people have written various operating system shells and tutorials, and even shared their code. It is acceptable to study what they wrote, but it constitutes plagiarism in this class to copy and paste their code as your own.
4 Task Description
4.1 Required Tasks
You must write the shell in C/C++ for Linux systems, and the shell must have the following functionalities (or features):
can use command list to list files and directory of a given directory;
can use command history to list commands entered in the past;
can use command printwd to print current working directory;
can use command chdir to change to a given directory; and
can run an external program with command line arguments.
REVISION: 05DFA8BAE132
It is optional to complete these enhancements in this subsection. However, satisfactory completion of these enhancements will bump your project quality grade one notch up, e.g., if your project quality based on the required tasks is ”A”, satisfactory completion of this enhancement will improve your project quality grade from ”A” to ”A+”.
when you list files and directory in your shell, print the following information along with the name:
user id and group id of the owner of the file or the directory
the size of the file
the file’s last access timestamp, the file’s last modification time stamp, and the file’s last status change timestamp
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of