SWE Project
A series of Linux-based projects I created for an Operating Systems class at WPI. This includes a custom Linux command shell, a thread-safe message-passing framework using POSIX threads and binary semaphores, and resource-monitoring instrumentation.
C++, Linux
These projects were developed as a deep dive into low-level systems programming and OS-level operations. I engineered a custom Linux command shell alongside thread-safe concurrent communication tools in C++. The work involved managing process lifecycles, background execution, and concurrent thread synchronization to build a resilient, high-performance systems foundation. I led the full development process, from process control structures to memory-mapped performance optimizations.
Engineered a custom Linux command shell in C++ with process lifecycle management (fork, execvp, wait), stream parsing, and background task synchronization.
Built a thread-safe message-passing framework using POSIX threads and binary semaphores to prevent data races across non-blocking mailboxes.
Optimized file I/O operations by benchmarking chunked buffer reads against memory-mapped I/O (mmap), parallelizing processing across up to 16 concurrent processes.
Implemented resource-monitoring instrumentation with getrusage to track CPU time and page faults for detailed overhead reporting.
My key takeaway was gaining a precise understanding of low-level resource management and concurrency control. I learned how delicate thread synchronization and memory mapping can be, reinforcing the need for strict data-race prevention and methodical benchmarking when optimizing systems performance.
C++ & Linux/Unix Systems
POSIX Threads & Semaphore Concurrency
Systems Architecture & Performance Benchmarking