SAHIL-SANGHVI(1)→ TERMINAL(1)

Systems Programming Toolkit

Three Linux systems programs in C: a process manager, a pthreads-based concurrency simulator, and a FAT12 filesystem toolkit.

project→ sourceC

tech:

README

C Platform

Systems Programming Toolkit

Three small Linux systems programs in C, each exercising a different OS mechanism directly: process control, thread synchronization, and raw filesystem I/O.

Project Mechanism
pman/ Process management — fork/exec, signals, /proc parsing
airline-checkin-sim/ Concurrency — pthreads, mutexes, condition variables
fat12-toolkit/ Filesystems — mmap, raw FAT12 parsing and on-disk writes

Stack

C (C11), POSIX APIs directly — no libraries. Each project is a plain Makefile.

Platform note

All three use Linux-specific APIs directly (fork/exec, /proc/<pid>/stat, pthread.h, mmap) rather than portable wrappers, so they need a Linux environment (or WSL) to build. Confirmed on this checkout: none build under Windows/MinGW, because MinGW ships neither sys/wait.h, pthread.h, nor sys/mman.h. On Linux, each just needs make.

🎓 Project Context

Built as part of CSC 360: Operating Systems at the University of Victoria (Fall 2024).

⚠️ Academic Integrity Notice

This repository is maintained for portfolio and educational purposes only. If you are currently enrolled in CSC 360 at the University of Victoria or a similar operating systems course, please note that using this code in your own assignments may constitute a violation of Academic Integrity policies.