CS431 Intro to Operating Systems

Exercise #3  Working with Kernel Objects

Using the Windows NT waitable Timer

Guidelines:

This exercise is intented to give you some experience with using kernel objects.  We've already done some of that in the assignment that had you create processes and threads.  In this assignment, you are to create a main program that will accept (as a command line parameter) a number of seconds that the main process is to run.  You will use a waitable timer to catch a signal when the timer is up.  The function of the main program will be to open a few windows that simulate doing background work.  The example "background" program given in the lab manual will be fine, although it isn't really a background process in the sense that it needs a console (since it will write to the screen and look for input from the keyboard).

The lab manual suggests developing the program in 3 steps.  This will, indeed, make the process easier, but all I am expecting to be turned in is the final version.  Please include documented source code for both your main program and the "background" program, as well as an executable version for each.

IMPORTANT!!!  Read and follow the instructions given in the lab environment of the assignment.  The program won't compile if you don't address the problem identified there.  Note that the manual suggests one way to ensure successful compiling.  There are other ways that work as well.

Items to turn in:

  1. Source code for both main program and background program.  You MUST have documentation (either embedded as comments or external) to explain what you did and how you did it. See the documentation example referenced from the "Assignments" page.
  2. Executable versions of both programs.