The content of this repository is composed of the programming assignments given by Prof. Maheswaran for the ECSE 427 course during the Fall 2019 semester at McGill University. All assignments are written in C and tested on Linux.
- Assignment 1: Simple Shell - Created a basic CLI, demonstrating process management with named pipes while interpreting basic commands such as ls, cd, pwd, bg, fg.
- Assignment 2: Readers-Writers using semaphores - Created 2 solutions for the Readers-Writers problem, demonstrating deadlock avoidance, preventation as well as process synchronization.
- Assignment 3: Simple File System - Designed a working, mountable simple file system for Linux.