From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 2ED1EBC37 for ; Thu, 28 Jan 2010 14:12:32 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AowBADscYUtKfU4bkGdsb2JhbACRQIlPPQEBAQEJCQwHEwOucYFFhS2INwEBAwWENwQ X-IronPort-AV: E=Sophos;i="4.49,359,1262559600"; d="scan'208";a="50441699" Received: from ey-out-2122.google.com ([74.125.78.27]) by mail1-smtp-roc.national.inria.fr with ESMTP; 28 Jan 2010 14:12:31 +0100 Received: by ey-out-2122.google.com with SMTP id d26so184911eyd.31 for ; Thu, 28 Jan 2010 05:12:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=dAc6ipVPoMxrAJZHfTmPTXzzUcl6KBp4GlibZhuLAlA=; b=b6PZZPsbyv/jjFP+DcOY9y0onhP2h4FsNpSfHVTFOykVBkmLD3OzQ/57LBGIaiODFX 5ORqrUgu1SZvYiigjiWgO/ANAqiApkuHzttn6hBIJZpXfX477zuGLD+pmpbDwxJ4fMGg xb2t6X+bl/BrkbLjQIs6ORTsvKiU/Fg9vH3Zo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=SZDX+4LABn9/FR32hGSbHUWeDu07oJTp2o5y+sjkHZMM9334qQAnXnnXJUSk4oHbkH hFiT+NaQWcJSnV6O49+rj/M/3L50OS4cz0knNFsM6DiHlEahNiL9zPtQRHM4XgD3aFhC iDbAW+Pb7g/cE/XBxIkYCry+fnItexLjPdkyg= MIME-Version: 1.0 Received: by 10.213.97.4 with SMTP id j4mr7969075ebn.9.1264684351447; Thu, 28 Jan 2010 05:12:31 -0800 (PST) In-Reply-To: References: <20100128125530.GS4873@const.bordeaux.inria.fr> Date: Thu, 28 Jan 2010 14:12:31 +0100 Message-ID: Subject: [Caml-list] Ocaml implementation and low level details From: Konstantin Tcholokachvili To: caml-list@yquem.inria.fr Content-Type: multipart/alternative; boundary=001636c5b90a856436047e39458d X-Spam: no; 0.00; ocaml:01 browsed:01 ocaml:01 thibault:01 thibault:01 0100,:01 browsed:01 0100,:01 dormant:98 dormant:98 threads:01 threads:01 garbage:01 garbage:01 caml-list:01 --001636c5b90a856436047e39458d Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable I browsed the sources of funk OS one year ago, if I remember corectly you are one og its author. I assume that if funk manages memory and run threads it's possible to code an OS from ground up using Ocaml but want to be sure: - Does I need to disable an option to avoid the garbage collector's use? (I gues that yes) - Also need I disable Ocaml theading subsystem? (Obviously yes, but are there some limitations?) Are there other important considerations to take? Do you think that Ocaml is suitable for OS coding (I''m using C now). Thank you, Konstantin Tcholokachvili 2010/1/28 Samuel Thibault Konstantin Tcholokachvili, le Thu 28 Jan 2010 13:42:15 +0100, a =E9crit : > > I am writing an operating system kernel and I am considering the idea o= f > > rewritting it in Ocaml or make a wrapper. > > You may want to have a look at the funk gna project. Although dormant at > the moment, it does boot, has caml threads etc. > > http://gna.org/projects/funk/ > > Samuel > --001636c5b90a856436047e39458d Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
I browsed the sources of funk OS one year ag= o, if I remember corectly you are one og its author.
I assume that if fu= nk manages memory and run threads it's possible to code an OS from grou= nd up using Ocaml but want to be sure:

- Does I need to disable an option to avoid the garbage collector's= use? (I gues that yes)

- Also need I disable Ocaml theading subsyst= em? (Obviously yes, but are there some limitations?)

Are there other= important considerations to take?
Do you think that Ocaml is suitable for OS coding (I''m using C now= ).

Thank you,

Konstantin Tcholokachvili


2010/1/28 Samuel Thibault <samuel.thibault@inria.f= r>

Konstantin Tcholo= kachvili, le Thu 28 Jan 2010 13:42:15 +0100, a =E9crit :
> I am writing an operating system kernel and I am considering the = idea of
> rewritting it in Ocaml or make a wrapper.

You may want to have a look at the funk gna project. Although dormant= at
the moment, it does boot, has caml threads etc.

http://gna.org/= projects/funk/

Samuel


--001636c5b90a856436047e39458d--