This is a collection repo of projects I did for CS 537 Operating System. All projects are written in C.
- Basic Shell: A basic shell that has redirection, pipes, loops, and multiple commands built in.
- xv6 Stride Scheduling: Implements stride scheduling in xv6 kernel. Introduces the notion of priority and optimizes the original Round Robin scheduling.
- xv6 Copy-on-Write Child Process Creation: Implements Copy-on-Write (CoW)
fork()
in the xv6 kernel. Improves memory efficiency compared to the originalfork()
. - Parallel Sorting: Utilizes Linux pthreads for efficient data sorting.
- Ext2 Disk Image Checker: Inspects an ext2 disk image to recover deleted jpg files.
Acknowledgments: Thanks to CS 537 Spring 2023 course staff at University of Wisconsin–Madison for providing starter code, project description, and test cases.