Skip to content

Latest commit

 

History

History
23 lines (18 loc) · 1.59 KB

README.md

File metadata and controls

23 lines (18 loc) · 1.59 KB

Philosophers Project

🚀 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.

Overview

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.

Key Features

  • 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.

Why It’s Relevant to Automotive Industry

  • 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.

Running the Project

  1. Clone the repository:
    git clone https://github.com/bookseal/philosopher.git