alicia-lyu / os-projects

Collection of projects I did for CS 537 Operating System. Topics include xv6 modification, shell utilities, concurrency, file system.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OS Projects

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 original fork().
  • 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.

About

Collection of projects I did for CS 537 Operating System. Topics include xv6 modification, shell utilities, concurrency, file system.