semaphores under SV
JIM PICKERING
jrp at rducky.UUCP
Thu Mar 24 15:11:12 AEST 1988
I have seen many questions posted to this news group about the use of
SV semaphores. I have written a short program which demonstrates their
use. If there is enough interest I will post it. The following is the
header for the program and should explain what it is all about:
/***********************************************************************/
/** PHIL.C **/
/** **/
/** **/
/** DESCRIPTION: This file contains a program which demonstrates **/
/** Dijkstra's Dining Philosophers Problem (see "Cooperating **/
/** Sequential Processes," Technical Report EWD-123, Technological **/
/** University, Eindhoven, The Netherlands, (1965)). It is con- **/
/** sidered a classic process synchronization problem. It is **/
/** implemented using SVR2 semaphores and curses. With this as an **/
/** example, you may be able to figure out how to use SV semaphores.**/
/** **/
/** PROBLEM DESCRIPTION: Five philosophers spend their lives **/
/** thinking and eating. They share a common table. Each has his/ **/
/** her own chair. At the center of the table is a bowl of rice. **/
/** The table is laid with five chopsticks (see figure below). When**/
/** a philosopher thinks, he/she does not eat, and vice versa. When **/
/** a philosopher is hungry he/she tries to pick up the two chop- **/
/** sticks that are closest to him. He/she may only pick up one **/
/** stick at a time. When he/she has both chopsticks, he/she eats **/
/** without releasing his/her chopsticks. When he/she is finished **/
/** eating, he/she puts down both chopsticks and starts thinking. **/
/** **/
/** PHIL1 | PHIL2 **/
/** \ / **/
/** **/
/** PHIL5 (rice) PHIL3 **/
/** **/
/** **/
/** / PHIL4 \ **/
/** **/
/***********************************************************************/
--
Jim Pickering || (n) ..csustan!polyslo!rducky!jrp
265 Spruce St., Apt. H || (s) ..sdsu!polyslo!rducky!jrp
Arroyo Grande, CA 93420 || ..polyslo!northway!rducky!jrp
(805) 473-1037 || jrp at rducky.UUCP
More information about the Comp.unix.questions
mailing list