As a part of lab project of the Operating Systems (CSE-506) course taught at Stony Brook University, implemented some of the kernel features in 64-bit JOS kernel (initially developed at MIT as a open source project for academic purposes)
As per the instructions on http://www.cs.stonybrook.edu/~porter/courses/cse506/f14/labs.html, implemented some features of the following broadly catagoried topics :-
Lab 1: x86 assembly, boot loader
Lab 2: Virtual Memory
Lab 3: Processes/environments
Lab 4: Multiprogramming and fork
Lab 5: File System
Lab 6: Network driver
Lab7: Final project - (JOS-on-JOS Virtualization)
As referenced from the lab webpage :- JOS can be thought of as an exokernel, where the kernel implements a minimal set of core functionality that safely exports hardware resources to applications. These low-level kernel interfaces may be inconvenient for user processes to use directly, so user processes will make use of a "library operating system" (libos) to abstract these low-level exported resources into more convenient programming abstractions.
Each lab was provided with skeleton code for JOS operating system, allowing us to do the key implementation as described in each lab.
Each repository inside MIT-JOS-64bit-CSE506 contains the completed code for the corresponding Lab.