OO Operating System

Dennis Marer dmarer@td2cad.intel.com
Fri, 4 Dec 92 11:12:55 PDT


	Howdy!  No, I don't speak French, but I know the importance of the
accent.   I do speak a little German, but I don't think that helps us any...

>  I myself am trying to design a new OO (multi)^n-(tasking|threading)
> (parallel ?) language, so as the latter characteristic couldn't allow it
> to work under usual DOS or even Unix environment (can't be easily translated
> to C, though I should finally try by including volonteer call to run-time
> task-manager). That's why I thought about rewriting myself the OS to match
> with the demands of my language; would you mind if I took part in your project?
> I'd help you write routines but ask you insert OO-managing code.

	I would greatly appreciate your help!  I think a system desgned from
the ground up as object oriented can be much more powerful than an OO language
on top of a plain operating system.  I'm not familiar at all with parallel
languages, but am willing to learn.  I think it's something work giving serious
thought to before actually designing this OS.  Please contribute any other
ideas you have regarding this!

>> (stuff deleted about obejcts being device drivers, etc...)
>  That's what I have been waiting for for years, but couldn't find someone to
> help and too lazy to do myself. What I'd like to add, is the fact that
> executable code itself is a virtual class, with the 'execute' method, and
> thus disconnect LOGICAL objects from PHYSICAL ones (the compiler is meant to
> choose by itself the PHYSICAL representation of an object from your
> specifications, but you can still manipulate PHYSICAL object, directly or by 
> strengthening a logical object's specifications).

	Exactly!  There is no reason why the source code itself can't be
considered an object.  I think you've got some good ideas on what this system
can be made into. 

> I'd like to know what in what format the object will be stored. Could you
> send me the specs, and especially for memory allocation. My wish is keep it
> easy to change physically without changing logical use.

	Right now, it's only in the conceptual stages of design - so far I have
no specific details.  I'm starting from scratch, putting together a 'wish list'
of every feature I think needs to be included, plus getting other people's
input at to what features they think need to be included also.  This will be
used as initial specifications, then the design work will begin.

	I expect a somewhat traditional method of storing object information
could be used very effectively, but I'm still not sure on implementing multiple
inheritance.  I think I'll be able to explain more completely what I intend
as soon as I get my wish list done.  If you do me a large favor by compiling
the features you wish to see also, please send that my way and I'll combine
it with what I have so far (almost 1000 lines of text!).

>  Why not try a new language ? I currently trying to do one. Send me the
> specifications (at this time, mine are uncomplete and in french). I'd like
> to have your opinion on the syntax.

	I've thought about that...it's an intriguing idea!  Unfortunately, the
acceptance factor is also an important aspect when considering the overall
project.  C++ is fast becoming one of the most commonly used OO languages
and and is accepted as a 'standard' (pretty much).  By sticking with C++,
there is already software written for such an operating system.  I'm not
completely decided yet, but to appeal to the population (of computer people)
as a whole, I think a more popular language should be the base for the OS.
It's a good language, but probably not the best for all jobs.  Plus, it's
already been completely specified, so development time is saved there.

> I'd like to participate in the spec's (if you agree). Will you send me
> regularly your new production ?

	Absolutely!  This is quickly becoming a collaborative project.  I have
three or four people willing to help with specification and design now.  If we
all work together, I think we can do fantastic things!  This project is still
only in the conceptual design stages, NOTHING is concrete.  If you think it
should have particular capabilities or features, I would love to hear about
them.  Once everybody has put in their input, we can get together (well, not
literally since we are separated by large masses of water) and discuss which
features we'd like to incorporate.  Send me your wish list!

> Well, about sourcer, I can ftp it to you if you want to see it; but if you
> really want to use it massively, better by it (ads easy to find, I think).

	I'll look for it here or write my own simple disassembler...DEBUG works
pretty well for simple stuff, and I'd rather do this thing legally.

	Keep in touch!  I'm looking forward to your ideas.  Once I've put
together mine, I'll send them along.  Take care!