
COMPUTER SYSTEMS PROJECTS
The code is confidential due to CMU's policies.
Real-Time Operating System (RTOS)
Architected a resilient and tailored Real-Time Operating System (RTOS) from inception using Embedded C, showcasing expertise in low-level system design. Demonstrated exceptional proficiency by effectively managing 16 concurrent threads and 32 mutexes, each assigned unique priorities. Implemented sophisticated scheduling techniques, such as Rate Monotonic Scheduling and the Original Priority Ceiling Protocol (OPCP), to optimize thread and mutex orchestration, ensuring precise real-time task execution within the system.
The code is confidential due to CMU's policies.
Peripheral Device Drivers for ARM Cortex M4 based STM32 Microcontroller
Developed precise and dependable device drivers for critical peripherals, encompassing UART, I2C, ADC, and a 7-segment LED using Embedded C, seamlessly integrating with the ARM Cortex M4-based STM32 Microcontroller Unit. Employed advanced Memory-Mapped Input/Output techniques to establish efficient and resilient interfaces between embedded devices and the microcontroller, ensuring optimal performance and reliability in the system's operation.
The code is confidential due to CMU's policies.
Linux Shell Simulator
Conceived and executed a comprehensive Linux shell simulator using C, akin to bash functionality, proficiently receiving and interpreting user-input Linux shell commands while seamlessly displaying their output within the terminal. Distinguished by its robust features, the shell encompasses rudimentary job control, precise I/O redirection, and integrates advanced concepts of process management and signaling, attesting to expertise in system-level programming and Linux command interpretation.
The code is confidential due to CMU's policies.
Cache Memory Simulator
Engineered a sophisticated cache memory simulator in C programming, faithfully emulating the nuanced behavior of hardware cache memory systems. This dynamic program adeptly accommodates user-defined parameters like Set Index, Lines per Set, and Block Size, simulating a stream of Load/Store operations on the cache memory model. Noteworthy for providing detailed insights, the simulator reports essential performance metrics, including Cache Hits, Misses, and Evictions, showcasing adeptness in system-level simulation and performance analysis.