September 2005 – November 2005
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.
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.
- 8086 Assembler