When it comes to semaphore literature, I have never seen (with my limited knowledge) those using FIFO or some form of order as criteria for weak / strong classification. In fact, freedom of hunger is also not always a criterion. The original literature (due to Morris ('79), Martin and J. R. Burch ('85), Uding ('86), Friedberg and Peterson ('87) and Haldar and Subramanian ('88) used certain characteristics of 'P and 'vto identify a weak semaphore. Interestingly, all definitions from the cited researchers ultimately suggest a possible hunger in the case of weak semaphores. In addition, although FIFO guarantees freedom of fasting, referring to the term FIFO or some form of order, in my opinion, limits the behavior of the semaphore. One form of restriction may be that, for example, the FIFO order will mean that the semaphore has some kind of buffer attached to it in order to keep track of blocked processes / threads in operation "P, For the hardware implementation of semaphores, this definition may be too restrictive. Another form of restriction may be that instead of considering all possible ordering schemes with the same limited overtaking by k (i.e., no process will be overtaken more than k times), one could consider each scheme as one kind of semaphore. So my personal opinion is to define a weak semaphore as one that DOES NOT guarantee freedom of hunger (but guarantees freedom from blocking). However, if you are even deeper involved in research, then, in any case, do not hesitate to use more mathematical or / or fine-grained definitions at your discretion.
source
share