168 priority}'' \cite[Page 527]{Liu00}. Unfortunately, the important |
168 priority}'' \cite[Page 527]{Liu00}. Unfortunately, the important |
169 information about actually |
169 information about actually |
170 computing the priority to be restored solely from this log is not explained in |
170 computing the priority to be restored solely from this log is not explained in |
171 \cite{Liu00} but left as an ``{\it excercise}'' to the reader. |
171 \cite{Liu00} but left as an ``{\it excercise}'' to the reader. |
172 Of course, a correct version of PIP does not need to maintain |
172 Of course, a correct version of PIP does not need to maintain |
173 this (potentially expensive) data structure at all. |
173 this (potentially expensive) data structure at all. Surprisingly |
174 |
174 also the widely read and frequently updated textbook \cite{Silberschatz13} gives |
175 |
175 the wrong specification. For example on Page 254 the |
176 While \cite{Laplante11,Liu00,book,Sha90} are the only formal publications we have |
176 authors write: ``{\it Upon releasing the lock, the [low-priority] thread |
|
177 will revert to its original priority.}'' The same error is also repeated |
|
178 later in this textbook. |
|
179 |
|
180 |
|
181 While \cite{Laplante11,Liu00,book,Sha90,Silberschatz13} are the only formal publications we have |
177 found that specify the incorrect behaviour, it seems also many |
182 found that specify the incorrect behaviour, it seems also many |
178 informal descriptions of PIP overlook the possibility that another |
183 informal descriptions of PIP overlook the possibility that another |
179 high-priority might wait for a low-priority process to finish. |
184 high-priority might wait for a low-priority process to finish. |
180 A notable exception is the texbook \cite{buttazzo}, which gives the correct |
185 A notable exception is the texbook \cite{buttazzo}, which gives the correct |
181 behaviour of resetting the priority of a thread to the highest remaining priority of the |
186 behaviour of resetting the priority of a thread to the highest remaining priority of the |