Re-implemented the Nachos operating system, including building the Nachos thread system and implementing a core set of system calls. Developed a memory management system with demand paging and page swapping. Capable of running user-level MIPS programs.
Stack
Java, CLink
https://github.com/chrisliang12/OS-ProjectAssociated with
CSE 120 - Operating SystemsHighlights
- Developed the Nachos operating system, including the development of the thread system, memory management system, and a core set of system calls.
- Built the Nachos thread system, including support for timer interrupts and other thread-related system calls such as thread.join().
- Implemented condition variables using interrupt disable and restore, and developed a set of file system calls including creat(), open(), read(), write(), close() and unlink().
- Supported for multiprogramming by implementing demand paging and page swapping mechanism with the clock algorithm.
- Enhanced the multiprogramming capability by implementing a page table, and enabling multiple user-level MIPS programs to be run concurrently on Nachos.
Demo
(Note: VPN is needed for the video if you are accessing from China)