[Techtalk] Priority inheritance
Raven, corporate courtesan
raven at oneeyedcrow.net
Tue Jan 15 21:54:54 EST 2002
Quoth Val Henson (Tue, Jan 15, 2002 at 06:00:47PM -0700):
> Going back to our bank analogy, let's assume you can only get money by
> withdrawing it from the bank. What you would do is keep a list of
> everyone who withdraws money from the bank, and when you run out, you
> convert everyone on that list to the priority of the person waiting
> for money.
But surely you can't just do that, because processes on that
list may be wanting to do other things than return their resources. You
wouldn't want to pass a Platinum priority down to some scummy little
Silver that's just going to be asking for more resources anyway. [grin]
So how is it that determining what each process wants is done?
I'm assuming that the broadcast protocol is the tool of choice, but how
does it keep track of things, mechanistically? Also, I would assume
that you'd be able to separate out parts of requests. If one process
wanted to release $50 and request $100, you'd want to be able to take
the $50 and allocate it to a higher priority process if necessary.
(Or do processes generally work more efficiently than that? If
they free up $50, do they keep it and try to reuse it themselves, or do
they release it back to the OS when they can and then request what they
need? Or does it depend on the process? If that, which way is
Sorry to pester you with so many questions; I'm just really
"Ben says "WAR IS PEACE FREEDOM IS SLAVERY BACKSPACE IS DELETE" "
More information about the Techtalk