[gclist] Mars Rover info from comp.risks

Fabio Riccardi Fabio.Riccardi@inria.fr
Thu, 8 Jan 1998 14:27:22 +0100


Hans Boehm writes:
 > My impression is the many JVMs actually handle priority inheritance for locks
 > more or less correctly.  (I guess I can say something positive about Java
 > synchronization primitves after all :-))

mmm, although I have (luckily) never seen the code of such VMs, I'm
pretty sure that they don't do any priority inheritance.

It is actually quite hard to find an OS that supports a priority
inheritance protocol, the only commercial ones that I know of are
LynxOS and VxWorks, and the PD CMU's RT-Mach. There might be a few
more of them around in the RT market and research labs, but I surely
wouldn't expect to find things like that in any current Java
implementation.

These protocols normally come at a cost, since the scheduling
algorithm gets substantially more complex, and not all programmers are
ready to pay for its price (sometimes with disastrous consequences, as
we have seen :). Moreover, without a proper scheduling analisys phase
you can get very nice deadlocks and starvation situations out of
strict priority scheduling...

Many commercial RTOSes try to protect the programmer from common
mistakes, associating an age to processes and implicitly promoting
them across scheduling queues (this, for instance, is the case of OS9,
the most popular OS thing in the VME/embedded world, also available in
any CDI set-top box)

It will take (at leas) another generation of programmers before these
protocols are correctly understood and appreciated by the masses, for
the moment the only project (that I heard of) that seriously engaged
in full (distributed) RMA discipline is the NASA's spacestation.

   Fabio

-- 
Fabio Riccardi - INRIA, Project SOR  |
email : Fabio.Riccardi@inria.fr      | * time is on our side! *
http://www-sor.inria.fr/~riccardi/   |