<- People Behind Informatics


All 0-9 A B C D E F G H I J K L M N O P Q R S T U V W XY Z




 
Dining Philosophers
Interprocess communication (IPC) Processes frequently need to communicate with other processes. When a user process wants to read from a file, it must tell the file process what it wants. Then the file process has to tell the disk process to read the required block. In a shell pipeline, the output of the first process must be passed to the second process. In short, there is a need for communication between processes, preferably in a well-structured way not using interrupts Typical interprocess communication problems are: The Dining Philosophers Animation: The Dining Philosophers Animation: The Sleeping Barber In 1965, Dijkstra posed and solved a synchronization problem called the “Dining Philosophers Problem”. Since that time, everyone inventing yet another synchronization primitive has tried to demonstrate how wonderful the new primitive is by showing how elegantly it solves the dining philosophers problem (Tanenbaum, Operating Systems: Design and Implementation; 1987). The Dining Philosophers problem is a classic multi-process synchronization problem. The problem consists of five philosophers, sitting at a round table, who do nothing but think and eat. Between each two philosophers, there is a single stick. In order to eat, a philosopher must have both sticks. A problem can arise if each philosopher grabs the stick on the right, then waits for the stick on the left. In this case a deadlock has occurred, and all philosophers will starve. Also, the philosophers should be fair. Each philosopher should be able to eat as much as the rest. Avoiding Starvation and Deadlock [Sources:http://java.sun.com/applets/archive/beta/DiningPhilophers/, http://java.sun.com/docs/books/tutorial/essential/threads/deadlock.html; Tanenbaum, Operating System: Design and Implementation,1987]
 

 

<- People Behind Informatics


Home  |  Top  |  Search  |  Gallery  | Glossary  | Sitemap  |  Making Of  |  Help