CSCI402 Operating Systems
The following project is from CSCI402 Operating Systems at University of Southern California.
Unix Kernel Design
- Led a team to develop core parts of a non-preemptive Unix kernel called Weenix using C on QEMU simulator
- Implemented completed life cycle of thread: created, run, sleep, cancallable sleep
- Developed a mutex for synchronization and a FIFO thread scheduler
- Built up a Virtual memory module to support usr-level program, which supports features such as pages, system call, demanding pages, copy-on-write and fork
- Deployed Apache HTTP server with Nginx as a reverse proxy for loading balancing