[Oberon] Input.Time

John Drake jmdrake_98 at yahoo.com
Fri Jan 31 20:27:10 CET 2003


Well XOberon is also a hard real-time system and
it's freely available.  Incidentally there's no
syntactic reason for Oberon/2 to only be 
cooperatively multitasked.  That's just the
way Oberon systems have been traditionally
implemented.

See: 

http://www.xo2.org/
http://www.ifr.mavt.ethz.ch/research/xoberon/

XOberon implements an "interruptible mark 
and sweep" garbage collection algorithm.  (See
http://www.xo2.org/Docs/movic98.pdf).  This can 
work because "real time tasks are inhibited by 
the compiler from allocating dynamic data".  
(See same document).

I'm not sure how to do this in BlueBottle unless
it's possible to have "shared locks".  In other
words is it possible to have a lock that allows
a set of processes to run instead of a single
process?  Of course this would be inherently
unsafe unless you modified the compiler to, as
in XOberon, not allow "realtime" active objects
to allocate memory.

For anyone interested in implementing an 
incremental GC the "train" algorithm looks quite
promising.

http://research.sun.com/projects/gcspy/printezis-garthwaite-ismm2002.pdf

http://www.daimi.aau.dk/~beta/Papers/Train/train.html

Briefly instead of just allocating blocks in one 
heap, blocks are allocated in fixed sized regions
called "cars".  These cars are linked to form
"trains".  You can incrementally collect one
car at a time.

Regards,

John M. Drake

--- "Douglas G. Danforth" <danforth at greenwoodfarm.com>
wrote:
> Pieter,
> Does the garbage collector that Esmertec uses
> for their hard real-time Java systems have any
> utility (correspondence) for AOS?
> 
> -Doug


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com



More information about the Oberon mailing list