Muli Ben-Yehuda | 23 Nov 13:17 2004

Re: Re: implementing the process abstraction in movitz

On Sun, Nov 21, 2004 at 06:58:20PM +0100, Frode Vatvedt Fjeld wrote:
> Muli Ben-Yehuda <mulix <at> mulix.org> writes:
> 
> > First of all, I think movitz is very cool. I've been thinking for a
> > long time of writing a lisp OS, and was very happy to stumble up on
> > movitz. I am now considering implementing the process abstraction
> > (namely, fork(), wait(), some variant of exec(), and context
> > switching) in movitz, as an OS project, along the lines of the
> > attached proposal. [..]
> 
> Hi (again), sounds like an interesting project to me. I think the
> first thing you need to make clear for yourself is the exact nature of
> the fork() etc. That is, the normal unix fork() sets up a new
> address-space etc and in principle shares nothing with anyone else
> (except perhaps by copy-on-write semantics) and communicates purely
> through system-calls (in various forms). Is this what you want to
> do?

The ultimate term goal is a full POSIX / Linux emulation layer for
movitz that would allow you to run unmodified Linux binaries. Since
this is a very big undertaking, my short term goals are the following
basic operations

- fork - set up a new context. Open questions are whether it supports
seperate address spaces (process or threads?) and whether it supports
memory protections (user context vs. kernel context). I haven't
decided yet, I would prefer processes to threads and user contexts to
kernel contexts, but I don't have a good feeling of the scope of the
effort involved yet. 

> Btw. I expect to implement some lightweight threading stuff in Movitz
> soon, I expect to need it for the thesis I'm working on.

Could you elaborate on what you have in mind? I wouldn't want to
duplicate effort.

Cheers, 
Muli
-- 
Muli Ben-Yehuda
http://www.mulix.org | http://mulix.livejournal.com/

On Sun, Nov 21, 2004 at 06:58:20PM +0100, Frode Vatvedt Fjeld wrote:
> Muli Ben-Yehuda <mulix <at> mulix.org> writes:
> 
> > First of all, I think movitz is very cool. I've been thinking for a
> > long time of writing a lisp OS, and was very happy to stumble up on
> > movitz. I am now considering implementing the process abstraction
> > (namely, fork(), wait(), some variant of exec(), and context
> > switching) in movitz, as an OS project, along the lines of the
> > attached proposal. [..]
> 
> Hi (again), sounds like an interesting project to me. I think the
> first thing you need to make clear for yourself is the exact nature of
> the fork() etc. That is, the normal unix fork() sets up a new
> address-space etc and in principle shares nothing with anyone else
> (except perhaps by copy-on-write semantics) and communicates purely
> through system-calls (in various forms). Is this what you want to
> do?

The ultimate term goal is a full POSIX / Linux emulation layer for
movitz that would allow you to run unmodified Linux binaries. Since
this is a very big undertaking, my short term goals are the following
basic operations

- fork - set up a new context. Open questions are whether it supports
seperate address spaces (process or threads?) and whether it supports
memory protections (user context vs. kernel context). I haven't
decided yet, I would prefer processes to threads and user contexts to
kernel contexts, but I don't have a good feeling of the scope of the
effort involved yet. 

> Btw. I expect to implement some lightweight threading stuff in Movitz
> soon, I expect to need it for the thesis I'm working on.

Could you elaborate on what you have in mind? I wouldn't want to
duplicate effort.

Cheers, 
Muli
--

-- 
Muli Ben-Yehuda
http://www.mulix.org | http://mulix.livejournal.com/


Gmane