FINAL EXAM STUDY GUIDE

 

The only topics from prior to the midterm which you WILL be responsible for are process control functions such as fork(), the exec()s, and system(), pipes, and their related functions.

 

Specifically, you will be responsible for knowing the following information:

 

 

The Final Exam will be similar in structure to the MidTerm.  There will be a written section and a live section.

You will be given 1.5 hours to work on the written section, which will be from 5:30pm until 7:00 pm.

You will be given until 10:00 pm to complete the live portion, so a minimum of 3.0 hours for the live section will be allowed (more if you finish the written portion in under 1.5 hours).  It is NOT my intent that people stay that late.  You can leave whenever you’re finished, obviously, but you will have the full time if needed.  The exam is not intended, nor will it be designed, to take 4.5 hours to write.

 

There will be approximately 20-25 questions on the written exam, with some extra credit questions

There will be approximately 1-3 questions on the live portion.

 

The written portion will be very similar in structure to the written portion of the midterm, including multiple choice questions, concept matching, and short answer.

 

EXAMPLE LIVE QUESTIONS (Makefiles will be provided for your convenience):

 

1.                   The following program forks a child process.  Modify the program so that the parent can communicate to the child over a pipe.

2.                   The following program creates a message queue and writes to it.  Write a client that will read from the message queue and print out what it read.

3.                   etc.

 

You will find that if you have done (by exam time) most all of the reading (with a focus on supporting the lecture concepts), done the labs, and know the lecture content, that you will do an excellent job on the final.  The complexity of coding required on the live portion of the final will be more akin to the succinctness of the example programs in Basic Linux Programming rather than the more extensive example code I’ve provided (like matrix multiplication examples, etc.).

 

The TA and Grader staff will be present during the live portion of the final exam for assistance, to clarify questions about question intent.

 

The written portion of the final will count approximately 70% of the overall score, while the live portion will account for approximately the final 30%.