ORG, GEN Re:arf2 [djg12]
Dr. Hayden
haydedr@WKUVX1.BITNET
Mon, 29 Mar 1993 18:40:04 CST
Dennis Marer <dmarer@td2cad.intel.com> writes:
>
>> It really sounds to me like you are saying that now that discussion of
>> the general design is diminishing that it is time to begin coding.
[Large NO deleted]
>
>No is correct! The design has only just begun.
>
I agree; however, I would like to see some of the important issues
that have been already discussed decided on and put on paper.
>I think what Andreas is suggesting is to streamline things a bit! As much as
>I'd like to jump in and start actually writing the kernel or the OS, I don't
>have the slightest idea where to start yet.
>
>> The design phases are:
>>
>> 1) requirements
>> 2) general design
>> 3) detailed design
>> 4) coding
>> 5) testing
>>
>> Now I will admit, phase 1 is done. Our requirement is for a "Multi-
>> tasking Object oriented Operating SystEm" (thus MOOSE). But we
>> haven't yet managed to finish the general design, so we should at most
>> be doing some preliminary work on the detailed design and coding
>> experiments that are considered, in the long term, junk; but WE AREN'T
>> READY TO CODE.
>
>I agree. Phase 2 needs a lot more work still.
I think we're on track so far as well.
<snip...>
>Let me let you know what I've been working on:
>
>I've been developing little code 'snippets', or just little bits of code which
>do useful things. For example, I've written a program which initializes
>protected mode on the 386. Also, I've written some basic serial port device
>drivers. Also, boot from the hard drive and modifying the boot sectors. In
>the end, experience from doing this will go directly to this project - none of
>the code will probably be used verbatim, but it will be used as a reference.
I have quite a bit of code that does about the same things (it's all
asm though). E.G. Put 386 into protected mode, and I can enable paging as
well, although my page fault handler is quite weak right now :-) If
it makes any sense to say it now, I'd very much like to work with the
areas of Moose that deal with hardware specific areas (in all
platforms we develop for).
I also have some ideas about scheduling, dispatching, and other areas
of the kernel that I've put on paper. I've posted some of them early
on, but I'll repost them when we come to discuss these areas.
>
>About the "mucketymockup" (I like that!) of the kernel in C++. As I've been
>writing the specs for the kernel, I've been testing what I've written. I've
>found from experience that lots of things look good on paper, but once built
>don't fly and need to be redesigned. To combat this, I've developed a *very*
>simple "kernel" from which we can build and test ideas as they come up to see
>if they are at all useful. It does not use protected mode or virtual memory,
>but it incorporates some of the ideas we've been talking about, including
>*multitasking*!!! This is only an idea testbed.
>
>This by no means is the finished product - it's a device I've been using to
>test out what we've been discussing. So far I've found 3 or 4 errors in logic
>when defining the kernel on paper, and gone back and fixed them. I feel its
>better to find these *now* before we actually try to implement the real thing.
I'd like to see this sometime :-)
>
>I agree with David - we're still only on Phase 2 (general details). If we try
>to start coding now, we'll be cutting our own throats.
Ouch! I like my throat uncut, so lets get some more concrete design
done.
<snip...>
>
>I'm putting together ideas on how to further organize the kernel development.
>We'll get together later this week to speed things up and get those ideas out
>there and on paper. Keep in touch!
>
> Dennis
Sounds great!
Later,
Ross Hayden