Operating Systems - CMSC 412 Spring 1998

Project 3:
Additional Requirements

Interface Header File

  • Please put all global names visible to the user in a header file user412.h which will be included by the user code (proc.c and alike) together with cmsc412.h as well as Borland (standard) header files, as needed. (This means that you do not have to duplicate names declared in cmsc412.h file.) The global names include (1) function prototypes; (2) global variables, if any; (3) also macro definitions. Make sure that file user412.h lists all names that can be used in the user code, to let it work with the keyboard, screen, timer, etc. Also, make sure no names are listed that the user is not supposed to use. This time, I will read your source code.

    Scheduling Experiments

  • Please run experiments with both scheduling algorithms you are supposed to implement and write a short (one-paragraph) description of your observations. This could include processes' order of execution, latency, effective throughput, average latency, etc., for different quantum sizes, perhaps different types of batches. You do not have to make an essay of this, please. However, your observations will be compared with ours.

    Compiler Warnings

  • Starting with the next project, we will require that your code compiles without warnings (without errors too). In this project, we ask you to try and get rid of the warnings too, so you will be comfortable the next time.

    In general, you will need to polish your code so that it would not look "suspicous" for the compiler. However, sometimes we need to write code that would cause wanrings to be generated (as is the case with the System_service() function, for instance). To force particular conditions that generate warnings to be checked, or not checked, you can use either -w option of the Borland compiler or #pragma warn for a more selective choice. Please read the appropriate Borland help files to familiarize yourself with these features.

    By default, the compiler disables some warnings and enables the others. We do not want you to disable warnings using the compiler option -w and you can only use the #pragma warn for this purpose. If you want to enable warnings that are disabled by default, feel free to use either method.


  • Simon Hawkin - cema@cs.umd.edu March 27, 1998