Project Overview

Project Objectives

The purpose of this project is to have you learn how to use signals, implement process control, and control data flow through file descriptors (piping and redirection). We have tried to abstract away mundane aspects of writing a shell by providing code to parse the command line. We hope that this allows you to focus your work on understanding the system calls.

Expectations

We expect that you will implement your tsh using system calls available to you on the Linux OS. Check the README.api file provided in the skeleton for a list of calls you will likely have to use.

Resources
Teams

We have designed the project (i.e. the amount of things for you to implement) for a team of two people working together.

If you do not yet have a partner, please take the following steps immediately:

  1. Post a message to the newsgroup
  2. Contact me directly via email
Version Control

As Nikola suggested on the newsgroup, using version control for the remaining projects can save a lot of headaches... Some of the benefits include:

Have I convinced you yet? If so, there are a number of options for getting access to a repository.