[movitz-devel] implementing the process abstraction in movitz

Muli Ben-Yehuda mulix at mulix.org
Sun Nov 21 13:03:29 UTC 2004


Hello, 

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. Any thoughts on the right way to do this, and what,
if anything, already exists will be appreciated. Pointers to the
source will be happily accepted.

Cheers, 
Muli

Design and implementation of the process abstraction in a lisp based OS
-----------------------------------------------------------------------

movitz[1] is an experimental operating system running on commodity
x86 hardware. Unlike traditional operating systems which are
written in the statically typed C or C++ programming languages
("portable assembly"), movitz is written in the high level,
dynamically typed, Common Lisp[2] programming language.

Lisp based operating systems have existed before, e.g. the Symbolics
Lisp Machine[3]. However, they ran on specially crafted hardware which
was tailored for running lisp code. movitz, on the other hand, runs on
standard personal computers.

For this seminar, we propose to design and implement the process
abstraction in the movitz operating system. Currently, movitz boots
and drops the user into a kernel level Read-Eval-Print loop (Common
Lisp interpreter). We propose to design and implement the fork(),
wait() and exec() operations in movitz, as well as context
switching. The design and implementation will then be contrasted
fork(), wait() and exec() in a traditional operating system, such as
the Linux[4] kernel. We will show that by virtue of being written in
Common Lisp, a dynamic language, implementing the process abstraction
in movitz is easier and better, for some definition of better. Better
might mean for example that the implementation is faster, simpler to
write, less error prone, easier to modify, or any other objective
criteria.

[1] http://common-lisp.net/project/movitz/
[2] http://www.lisp.org/alu/res-lisp#common-lisp
[3] http://www.sts.tu-harburg.de/~r.f.moeller/symbolics-info/symbolics.html 
[4] http://www.kernel.org/
-- 
Muli Ben-Yehuda
http://www.mulix.org | http://mulix.livejournal.com/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <https://mailman.common-lisp.net/pipermail/movitz-devel/attachments/20041121/b40075b2/attachment.sig>


More information about the movitz-devel mailing list