[movitz-devel] Bits and pieces

Luke Gorrie luke at bluetail.com
Mon Aug 2 07:51:01 UTC 2004


Ahoy,

It's probably more fun to talk about Movitz on the mailing list than
hassling Frode directly, so -

I want to make Erlang operating systems using Movitz as the kernel.
For fun I'm hoping to write some very-small operating systems in the
style of Per Brinch Hansen's "Architecture of Concurrent Programming"
book. (I can highly recommend that book for inspiration in writing
small-as-in-feasible operating systems, not that I've done so yet.
Cheap on bookfinder.com.)

Anyway. I've got a working compiler from Erlang to Lisp and I've used
it to write a "hello world" ErlangOS. But it currently only handles
the sequential subset of Erlang and that's not going to impress my
friends. So I need to add support for concurrency.

I think a nice way to do this would be to have Lisp-level coroutines
as the building block. It looks like this is mostly written in Movitz
but I'm not sure if it's finished (couldn't figure out how to use it).
I'm looking at functions like COPY-CONTROL-STACK,
CLONE-RUN-TIME-CONTEXT, and SWITCH-TO-CONTEXT.

Is that stuff usable? If not, what needs to be done?

Ideally I would like coroutines to have variable-size stacks (growing
and shrinking on demand), but that's not so important - I'll take
anything I can get :-)


I'd also like to do some VGA hacks. Is there any example code?

Cheers,
Luke






More information about the movitz-devel mailing list