Experimental OS development using D

Harry Vennik htvennik at zonnet.nl
Tue Jan 2 05:49:27 PST 2007


Hi,

At the beginning of this year I'd like to present a whole new idea that very much involves the D
Programming Language. My idea is to start development of an experimental operating system, that
should be constructed in an object-oriented way as much as possible, but no 'forcing of OOP at all
cost'. Of course OS implementation involves a lot of low-level coding. The one and only suitable
language to combine low-level coding and OOP appears to be D. (Don't argue it could be C++ too, that
language is unusable because of it's immense complexity. I keep asing myself why so many people use
it anyway...)

The OS should consist of a microkernel similar to L4, to be written in C (as much as possible) and
Assembly (where necessary). And any number of services running on top of it, all to be written in D. It
should be an OS that is inspired on UNIX, but not be a real UNIX implementation. Rather it should feel
like an evolution of the UNIX-way of doing things.

I realize that the current performance of D might not be suitable for serious OS development, but I do
not think of that as a real problem. I think that in the very first, highly experimental phase of
development, the actual performance is not much of an issue. Later on, when it will become an issue,
the D compiler will probably have been improved already to provide that optimization performance.

I chose the D Programming Language only for its bare language features, not anything else. It was
simply the only language I could find that met my requirements. Any libraries or frameworks won't help
in OS development anyway, because they are supposed to be used on top of an OS. Of course the
interfaces of the OS should be optimized to make it as easy as possible to use it using the D standard
library (be it Phobos, or Tango, or whatever will turn out to become some sort of standard). Also the
development of the OS might influence the development of a D standard library at some points.

Is there anyone here who is interested in working with me to get that project going, and help by
contributing in the development of a specification and/or in implementation of those (including PoC
coding)?

Regards,

Harry Vennik



More information about the Digitalmars-d-announce mailing list