Function Name Etymology
The canonical names P and V come from the initials of Dutch words. V stands for verhogen ("increase"). Several explanations have been offered for P, including proberen for "to test," passeer for "pass," probeer for "try," and pakken for "grab." However, Dijkstra wrote that he intended P to stand for the portmanteau prolaag, short for probeer te verlagen, literally "try to reduce," or to parallel the terms used in the other case, "try to decrease." This confusion stems from the fact that the words for increase and decrease both begin with the letter V in Dutch, and the words spelled out in full would be impossibly confusing for those not familiar with the Dutch language.
In ALGOL 68, the Linux kernel, and in some English textbooks, the P and V operations are called, respectively, down and up. In software engineering practice, they are often called wait and signal, acquire and release (which the standard Java library uses), or pend and post. Some texts call them procure and vacate to match the original Dutch initials.
Read more about this topic: Semaphore (programming)
Famous quotes containing the words function and/or etymology:
“The mothers and fathers attitudes toward the child correspond to the childs own needs.... Mother has the function of making him secure in life, father has the function of teaching him, guiding him to cope with those problems with which the particular society the child has been born into confronts him.”
—Erich Fromm (19001980)
“Semantically, taste is rich and confusing, its etymology as odd and interesting as that of style. But while stylederiving from the stylus or pointed rod which Roman scribes used to make marks on wax tabletssuggests activity, taste is more passive.... Etymologically, the word we use derives from the Old French, meaning touch or feel, a sense that is preserved in the current Italian word for a keyboard, tastiera.”
—Stephen Bayley, British historian, art critic. Taste: The Story of an Idea, Taste: The Secret Meaning of Things, Random House (1991)