Hack on OS161 Kernel to implement synchronization primitives, System calls and Process support and Virtual memory subsystem.
-
ASST1: Synchronization : branch
- Implement locks, condition variables and reader-writer locks. Next, use them to solve a few synchronization problems.
-
ASST2: System Calls and Process Support : branch
- Implement the system call interface.
- File system support: open, read, write, lseek, close, dup2, chdir, and __getcwd.
- Process support: getpid, fork, execv, waitpid, and _exit.
-
ASST3: Virtual Memory : branch-3-1, branch-3-2
- A large amount of code to implement and many internal interfaces to design.
- Implement virtual memory, including address translation, TLB management, page replacement and swapping.