Operating System
September 2005 – November 2005
The Project
Our term project in CPSC 415: Operating Systems was an ambitious one; we were to create a multi-threaded, unix-like operating system. Bootstrap code and input/output libraries were provided — the rest of the OS was up to us.
My Role
On a team of three, I co-developed the necessary features of the OS, including memory management, context-switching, inter-process communication, blocking IO, sleeping, and process scheduling. Our OS could run up to 32 simultaneous process, switching between them using a round-robin algorithm.
To ease collaboration, I set up a Subversion source control repository and a Trac project tracking system for our team.
Key Technologies
- C
- 8086 Assembler
- UNIX
- Subversion
- Trac