A curated collection of production-quality systems-level C projects demonstrating:
- Robust design patterns
- Clean separation of concerns
- Strong emphasis on testing and correctness
- Idiomatic and safe C style suitable for professional development
These projects highlight my ability to design, implement, and test low-level systems software—skills critical for roles in OS development, embedded systems, and performance-critical libraries.
- Discrete-event simulation engine for modeling CPU scheduling
- Implements 8 classic and preemptive scheduling algorithms (FCFS, LCFS, SJF, PSJF, SRPT, PLCFS, PS, FB)
- Modular design with clear separation between simulator core and scheduling policy implementations
- Custom generic linked list with user-defined comparison for priority queues
- Thorough unit tests for linked list and full simulation runs with trace files
File: process-scheduler-simulator/
- Go-style channel implementation in pure C with POSIX threads
- Blocking and non-blocking channels with FIFO fairness
select-style API supporting multiplexed waits across channels- Robust stress tests simulating ring-passing and realistic topologies
- Portable design using semaphores, mutexes, and condition variables with no busy-polling
File: pthread-concurrency/
- Manual implementation of
malloc,free,realloc, andcalloc - Segregated free lists for fast allocation by size class
- Coalescing adjacent free blocks to reduce fragmentation
- Block splitting for internal space efficiency
- Debugging support with heap consistency checker
File: custom-malloc-allocator/
- Demonstrates low-level memory and pointer manipulation
- Emulated polymorphism using function pointers and virtual function tables
- Generic data structures: sorted linked lists and explicit-iterator binary search trees
- Thoroughly tested with 50+ unit tests covering edge cases, traversal correctness, and aggregation
- Production-quality C patterns for reusable, modular design
File: pointer-manipulation/
- Systems-level C design with clean, idiomatic style
- Advanced concurrency and synchronization with pthreads
- Manual memory management with allocator strategies
- Emulation of OOP patterns in C (VFTs, polymorphism)
- Event-driven simulation modeling
- Generic data structure design and testing
- Strong emphasis on correctness, maintainability, and testing
Each project includes:
- Clean modular source structure
- Self-contained
Makefilefor build automation - Unit tests and/or trace-based simulation verification
This repository is designed to demonstrate real-world systems programming ability suitable for:
- Operating system internals
- Embedded or real-time systems
- Performance-critical C libraries
- Teaching and mentoring on professional C design patterns