Lab5 FAQ

This document contains Frequently Asked Questions, which are relevant to completing the week's lab assignment. Any Questions may be posted to cspp51081.

Where to begin.

Get started on this assignment early. First, finish the Grand Ole Shell. There are two parts of this project:

You will probably find the first part is the harder of the two, because it can lead to some rather nasty C programming. (Watch out for those SIGSEGVs. Plan to give yourself some time to debug. I will give you some hints below that will take a long way on this part of the project. The second part is significantly easier to program, but the more difficult and important conceptually. You need to establish a strong foundation in process control, the rest of this course depends upon it. I will give you some pointers below to get started, and some places to look for more information.

String Processing

Get acquainted with C's standard string library, any C book will have a thorough discussion of it. A string is of type char * , and ALWAYS ends in the null character '\0'. Here are some useful functions: all require #include <string.h>

Process Control

There are three good sources for information about process control from your texts:

In addition to these references, if will look for a good and reasonably short tutorial to help; you also have your manpages, section 2. The following functions are very important:
Remember, it will pay you well if you spend some time learning to use these functions, and understanding how Unix manages processes by means of them.