🚀 Looking for a skilled C developer with expertise in real-time, concurrent systems?
This project demonstrates my ability to solve complex concurrency problems using POSIX threads and mutexes, skills essential for automotive embedded systems.
The Philosophers project is part of the core curriculum at Ecole 42, where I developed a multithreaded simulation in C to solve the classical Dining Philosophers problem. The project focuses on handling concurrent processes, thread synchronization, and resource sharing—skills critical for low-level programming, especially in embedded systems and automotive software development.
- Multithreading: Implemented using pthreads, simulating real-world parallel processes.
- Mutex Locks: Ensured safe access to shared resources (forks), preventing race conditions.
- Deadlock Prevention: Structured logic to avoid deadlocks in the simulation.
- Dynamic Configuration: Customizable number of philosophers and action timings via CLI.
- Real-Time Systems: Similar to automotive control units (ECUs), this project deals with real-time decision-making and resource allocation.
- Concurrency Control: Preventing deadlock and ensuring stability mirrors challenges in automotive software development.
- Embedded Systems: This project demonstrates efficient handling of system resources, a key requirement in automotive embedded programming.
- Clone the repository:
git clone https://github.com/bookseal/philosopher.git