在信号量上下文中,P 和 V 操作的原始含义是什么?

What is the original meaning of P and V operations in a context of a semaphore?

有人知道信号量操作为什么叫P和V吗?每次我阅读有关信号量的一章时,它都会说如下内容:

为了让线程获得资源,它执行了P操作。为了让线程释放资源,它执行 V 操作。

P 和 V 代表什么?为什么它们不被称为等待和信号?

V代表信号,P代表等待

详情请查看wiki

Why they are not called wait and signal?

我同意比尔的观点,最可能的原因是因为有很多人不使用英语,所以可能是因为它不叫等待和信号。

Dijkstra 是信号量的发明者之一,他使用了 P 和 V。这两个字母来自荷兰语单词 Probeer(尝试)和 Verhoog(增量)。

另请参阅:https://cs.nyu.edu/~yap/classes/os/resources/origin_of_PV.html

@Kris 回答只对了一部分

V 代表 'Verhoog',P 代表 'Prolaag',而不是引用 here.

的 'Probeer'

Verhoog 可译为'increasing'。减少将是 'Verlaag',但为了更好地区分字母 Dijkstra 发明了单词 'Prolaag'.

参见 original paper 中的命名。

  • V代表'Verhoog',可译为“增量”。

  • P代表'Prolaag','probeer verlaag'的荷兰语虚构词,可译为“尽量减少”。

来源:C# 4.0 Unleashed https://books.google.es/books?id=TDEsRmRMPNkC&pg=PT2060&lpg=PT2060&dq=prolaag+in+dutch&source=bl&ots=EnxjFiuZTA&sig=ACfU3U0zxBQju4Ob6Wk449Z7XZK_NH4ZSA&hl=es-419&sa=X&ved=2ahUKEwj0lq3FhqX2AhXXhf0HHTqPDbkQ6AF6BAgDEAM