CPSC 410 / CPSC 611 -- Operating Systems: Projects

CPSC 410 / CPSC 611 -- Operating Systems: Projects


This page contains information about the projects.


Presentations about the Project Environment

Topic Slides
Introduction
slides
The Boot Process
Compiling and Linking a Kernel
Issues when Building a Kernel in C++
Low-Level Programming
slides
Exceptions
Interrupts
Simple Devices

Handing in Projects

You are to submit your projects through the department's turn-in system. Proceed as follows:


Infrastructure for Machine Problems

Check with the class handouts (slides) for details about the infrastructure needed for the machine problems (Bochs emulator, compiler, etc.).

We have installed parts of the necessary infrastructure on the machines in Lab in HRBB 219 and on Machine 1 - 10 in Lab HRBB214. In particular, we have installed the following software:

Two additional software packages are required but cannot be easily installed by CSG for you to use. You should therefore install them yourself in your H: directory. The ZIP files, installation instructions, and installation scripts are availabled here.

The suport files for the machine problems can be found in this zip file. This archive containes four files:

Note: Depending on the particular installation of Bochs on your system, you may need to specify the complete path of the image file for your floopy disk in file bochs.bxrc for Bochs to find the floppy "device". Edit the file bochsrc.bxrc and modify the definition for floppyA to absolute path of the .IMG file.


Machine Problem 1 (Due Date: Check CSNET)

This first machine problem is easy and should get you used the machine problem environment, such as the Bochs emulator, the compilers, and so on.

The handout for MP1 is available here, and the source code that you need to work with is contained in this ZIP file.

To set up the environment for this MP on your machine, create a directory of your choice, copy and unzip the MP1_Source.ZIP to the new directory. This archive contains also all the Bochs environment file needed to run the kernel in the Bochs emulator. Alternatively, you can copy and unzip the file BaseBochsEnv.zip (see paragraph about Bochs Environment above) to that directory as well.You are now ready to go.


Machine Problem 2 (Due Date: Check CSNET)

In the second machine problem you start working on the virtual memory management of your operating system. You will set up the paging system and initialize the page table.


Machine Problem 4 (Due Date: Check CSNET)

In the fourth machine problem you implement a simple device driver. The code for this MP can be found here.