OS design...

Francois-Rene Rideau fare@tunes.org
Sat, 17 Oct 1998 02:08:06 +0200

On Fri, Oct 16, 1998 at 12:52:36PM -0700, Ray Dillinger wrote:
> I like the "modular" approach and I think it could be extended
> very effectively to runtime as well as buildtime, and cover
> *EVERY* subsystem of the kernel except managing processes, 
> memory, and sockets.
At least that's how we intend to do TUNES.

> I'm picturing each and every hardware driver and operating
> system service as a standalone process -- not a library to link
> against.
Why "process"? If there's an intrinsic background activity,
then certainly according threads should be spawned.
If their ain't, spawning a request listener and demultiplexer,
and multiplexing and forwarding requests into it
is a particularly stupid approach
(unless we're talking about network protocols).

> User processes would communicate with them using sockets.
Sockets are bad. Function calls and inline code are good.
Once you have a real high-level system language,
you can drop paranoid low-level misprotection techniques,
and use aggressive dynamic compilation instead.
In TUNES, we intend to push metaprogramming techniques
as a way to achieve efficiency at runtime.

> Suddenly, the kernel is not married to *ANY* assumptions about
> the hardware, other than the availability of addressible memory.
And even that should be modular!
Some people need real-time GC, but it costs a lot,
and most people would rather not.
Plus if we hardwire the GC, it means no experimentation and improvement
is possible...

> 1) *VERY* efficient socket implementation
Sockets are better avoided, as far as local computer communication is meant.
They are necessary when communicating with remote computers,
or accross address space separations required for low-level twiddling
(e.g. Eunuchs emulation).

> 2) a standard "language" for communicating dynamically typed 
>    objects via sockets, as well as raw bytes.
I think this language is called "LISP".

> 3) a very efficient multitasking implementation
How will it interact with GC?

>    credential-based resource protection schemes.
Been reading Jonathan Rees' W7 article recently?

## Faré | VN: Уng-Vû Bân   | Join the TUNES project!  http://www.tunes.org/ ##
## FR: François-René Rideau |    TUNES is a Useful, Not Expedient System     ##
## Reflection&Cybernethics  | Project for a Free Reflective Computing System ##
I can't speak english, but I pretend so well, that no one ever figured out
that I am speaking a completely different tongue, and that my sentences have
a meaning completely different from the one people think they have.