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:


Grading Criteria:


Turn in suggestions for Machine Problems:

Points to remember throughout the development of solutions to the machine problems:

Mention "CSCE 410" in the subject while communicating with the TA. All course related communication will be sent to your CS email address. Please check it regularly or forward it to another email that you check regularly.


Infrastructure for Machine Problems

Check out the TA's Page for a very thorough overview of the setup of the infrastructure needed for the machine problems.


Machine Problem 1 (Due Date: Check CSNET)

This first machine problem is easy and should get you used to 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.


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. The code for this MP can be found here. You will receive the handout associated with this MP by e-mail.


Machine Problem 3 (Due Date: Check CSNET)

In the third machine problem you will further develop the memory manager developed in MP2 to have page tables in virtual memory. In addition, you will write a simple virtual memory allocator and link it up to the new/delete operators in C++. With dynamic memory available, life will be much simpler! The code for this MP can be found here. You will receive the handout associated with this MP by e-mail.


Machine Problem 4 (Due Date: Check CSNET)

In the fourth machine problem you will work with the low-level threading system of your operating system. You will implement a scheduler and work on the interaction between low-level threads and your scheduler subsystem. The code for this MP can be found here. You will receive the handout associated with this MP by e-mail.


Machine Problem 5 (Due Date: Check CSNET)

In the fifth machine problem you improve a simple device driver for a disk to support asynchronous operations and (optionally) mirroring. In addition, you will implement a simple file system on top of the disk device. The code for this MP can be found here.