caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Shannon --jj Behrens <jjinux@yahoo.com>
To: caml-list@inria.fr
Subject: Re: [Caml-list] Kernel in OCAML using native compiler
Date: Mon, 31 Dec 2001 10:02:01 -0800 (PST)	[thread overview]
Message-ID: <20011231180201.43925.qmail@web10702.mail.yahoo.com> (raw)
In-Reply-To: <15408.41633.311678.235219@hector.lesours>

> Read a good book on Garbage Collection (for instance
> Lins') and you'll
> find out that reference counting is the worst GC
> technique (except for
> some cases of distributed GC). It performs poorly
> and don't handle
> cycles.

Ok, thank you for explaining this to me.

> Ocaml's GC is one of the best and is tunable. It is
> generational,
> copying for the minor collection, and incrementally
> mark&sweep for the
> major collection.

For application development, it is quite nice.

> Even if you did happen to put a refcounting GC
> (which means rewriting
> Ocaml runtime and significant part of the compiler)
> you'll probably
> get worse performance.

In terms of overall time spent doing GC, I'm sure
you're right.  However, I imagine that there are other
algorithms that may provide lower latency (i.e.
shorter pauses caused by GC).  In providing GC for a
kernel, short latency is required, even if the GC will
eventually take twice as much time.

> Generally, using dynamic memory is perhaps not the
> best idea for a
> very low level kernel routine.

Perhaps.  However, I feel that there are some parts of
the kernel that could really benefit from GC.  

In specific, I'd really like to get rid of as many
limits as possible.  For instance, the number of
processes in Minix is fixed (requiring a recompile)
because the process table is not created dynamically. 
If some kernel level malloc were available, the
process table could grow as needed.  I understant that
this is not an "easy" problem.

> You should describe what are you wanting to
> implement in Ocaml inside
> a kernel.

Well, actually, my goal is to write a minimalistic
kernel almost entirely in a high level language like
OCAML.  It appears that many of my goals are the same
as the tunes project you mentioned (which I'm
currently reading through)--especially reflection (as
you mentioned).  

By the way, your first email to me mentioned the GC
issue, and despite three readings, it didn't sink in
until I starting doing those tests.  I apologize that
you had to repeat yourself ;)

Well, I'll keep learning.  Thanks for your patience.

-jj

__________________________________________________
Do You Yahoo!?
Send your FREE holiday greetings online!
http://greetings.yahoo.com
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


       reply	other threads:[~2001-12-31 18:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <15408.41633.311678.235219@hector.lesours>
2001-12-31 18:02 ` Shannon --jj Behrens [this message]
2001-12-31 16:01 Shannon --jj Behrens
  -- strict thread matches above, loose matches on Subject: below --
2001-12-20  9:16 Shannon --jj Behrens
2001-12-20 17:42 ` Florian Hars
2001-12-31 21:57 ` Byron Hale
     [not found]   ` <20011231230117.90704.qmail@web10702.mail.yahoo.com>
2002-01-02  1:53     ` Byron Hale
2001-12-31 22:03 ` Byron Hale

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20011231180201.43925.qmail@web10702.mail.yahoo.com \
    --to=jjinux@yahoo.com \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).