On a Solution to the Cigarette Smoker's
Problem (Without Conditional Statements)

This report discusses a problem first introduced
by Patil, who has claimed that the cigarette 
smoker's problem cannot be solved using the P and V operations
introduced by Dijkstra unless conditional 
statements are used.  An examination of Patil's proof
shows that he has established this claim only under 
strong restrictions on the use of P and V.  These restrictions
eliminate programming techniques used 
by Dijkstra and others since the first introduction
of the semaphore concept.  This paper contains a 
solution to the problem.  It also discusses the need
for the generalized operators suggested by Patil.

CACM March, 1975

Parnas, D. L.

operating systems, co-operating processes,process
synchronization primitives

4.3

CA750311 JB January 9, 1978  4:24 PM 

2320	4	2777
2597	4	2777
2777	4	2777
2851	4	2777
2895	4	2777
2912	4	2777
2946	4	2777
3128	4	2777
2150	5	2777
2738	5	2777
2777	5	2777
2777	5	2777
2777	5	2777
1749	6	2777
2080	6	2777
2247	6	2777
2356	6	2777
2777	6	2777