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, C

Link

https://github.com/chrisliang12/OS-Project

Associated with

CSE 120 - Operating Systems

Highlights

  • 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)

© 2023 Yong Liang | Powered by