Systems Programming Toolkit
Three Linux systems programs in C: a process manager, a pthreads-based concurrency simulator, and a FAT12 filesystem toolkit.
README
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.