Questions for discussion

Alaric B. Williams alaric@abwillms.demon.co.uk
Tue, 27 May 1997 22:44:57 +0000


> 1.  What compiler should we use?

Uhoh - can of worms!
 
> 2.  What kind of GC should we use?  Copying?  Conservative?
>     Replicating (good for distributed/database stuff)?

A concurrent GC, be it copying or in-place mark&sweep, is the way to go IMHO.

Concurrent GCs run in threads parallel to the application in such a way
that their priority is geared to the relative rates of collection and creation
of objects. If the application goes into a creation-frenzy, the GC is
accelerated to catch up, and if not, the GC is slowed down to give the
app some more time.

Some kind of checking mechanism is needed to make sure the GC doesn't
get confused by the mutations caused by the task - be it a write barrier,
which makes the executing task set some special flags whenever it writes,
or a read barrier. I'd go for a write barrier and encourage functional
programming style with less writing, IMHO, but I'm not an expert on this...
 
> 3.  Should we have ``hard'' interrupts or should we poll?

Hard interrupts, most definitely. Continuations can be used to make
this nice and easy, I have heard, but not experienced myself.
 
> 			~jrm

Ahah! So you do have a name other than ET! :-)

ABW 
--
Alaric B. Williams (alaric@abwillms.demon.co.uk)

   ---<## OpenDOS FAQ ##>---

Plain HTML: http://www.delorie.com/opendos/faq/
            http://www.deltasoft.com/faq.html

Fancy HTML: http://www.deltasoft.com/faq0000.html