Operating Systems - Projects and Exercises

These projects and associated exercises have been designed to complement Operating Systems courses based on "Operating Systems - Internals and Design Principles", William Stallings, Prentice Hall, 5th Edition, 2004.

The exercises provide incremental solving of the problems presented for the projects. It is recommended that all the exercises be completed in the suggested order to be able to address the projects properly.

The exercises assume that students will be using the C programming language on a UNIX platform.

The level of programming expertise required is that provided by a 1st year Programming course. A familiarity with the use of pointers and the ability to use linked lists is assumed.

Projects

 

1st Project - A Simple Shell

 

2nd Project - The HOST Dispatcher Shell

Reference Material

 

Standard C Library Reference

 

The GNU C Library Reference

 

 

(most up-to-date version available from http://www.gnu.org/software/libc/)

 

C Programming Debugging Guide (gdb)

 

Debugging With The GNU Symbolic Debugger

 

 

(most up-to-date version available from http://www.gnu.org/software/gdb/)

Exercises

 

Exercise 1 - The Operating System Shell

 

Exercise 2 - Rolling Your Own Shell

 

Exercise 3 - Enhancing Your Shell

 

Exercise 4 - Adding fork and exec To Your Shell

 

Exercise 5 - I/O Redirection

 

Exercise 6 - Finishing Off Your Shell

 

1st Project deadline

 

Exercise 7 - A Batch Process Monitor

 

Exercise 8 - A Round Robin Dispatcher

 

Exercise 9 - A Feedback (q=1) Dispatcher

 

Exercise 10 - Memory Allocation

 

Exercise 11 - Resource Allocation

 

Exercise 12 - Polishing Your Dispatcher

 

2nd Project deadline

 

top

For use only by students and instructors using the supplementary material available with the text book: "Operating Systems - Internals and Design Principles", William Stallings, Prentice Hall, 5th Edition, 2004. Not to be printed out or copied by any other persons or used for any other purpose without written permission of the author(s).

©