Pięciu filozofów jest przy stole i wykonują jedną z dwóch czynności – albo jedzą, albo rozmyślają. Stół jest okrągły, przed każdym z filozofów jest się miska ze spaghetti (albo ryżem, albo czymkolwiek), a pomiędzy każdą sąsiadującą parą filozofów leży widelec (ewentualnie pałeczka do ryżu, w zależności od wersji). Także każdy ma przy sobie dwie sztuki - po swojej lewej i prawej stronie. Ponieważ jedzenie potrawy jest trudne przy użyciu jednego widelca, zakłada się, że każdy filozof korzysta z dwóch.
Zrealizowana aplikacja składa się tak naprawdę z dwóch programów napisanych w języku C. Jeden główny, który inicjuje semafory w pamięci dzielonej oraz uruchamia osobne procesy dla każdego z filozofów. Procesy komunikują się ze sobą za pomocą semaforów w pamięci współdzielonej z wykorzystaniem bibliotek sys/sem.h oraz sys/shm.h