Moose (You guys...)
Gary D. Duzan
duzan@udel.edu
Fri, 12 Feb 93 20:09:51 -0500
=>
=>1) Device Drivers: We need to have user-installable device drivers.
=> I personally prefer the Unix style of device driver, but the MS-DOS
=> style isn't bad (it's just not as good, IMHO). This way, we don't
=> have to include ANY I/O in the kernel; we can have a device
=> named 'STDOUT' or 'TTY' or 'CON', and that device will
=> represent the screen. Our C RTL can then send output from
=> printf (), etc. to that device.
We will need some basic device support for bootstrapping, but beyond
that I agree.
=>2) Rather than saying 'This OS is a GUI!', I think that we should allow
=> the user to write his/her own shell. I personally would like
=> a csh-ish interface; I could add my own. One of my friends likes
=> the X interface; he could add his own X-like interface.
Anyone with enough spare time can build their own interface to
practically any system (with the possible exception of MacOS,) so I
don't see why we should be any different. The question is, what do WE
build. If we have an object-oriented system then we should show it off
with object-oriented shells and GUI.
=>3) Making the kernel object-oriented would be a real pain in the rear,
and also increase the amount of required memory. I say that
=> we do a traditional kernel, and then write OO shells for it in
=> C++ and ObjectPascal. That way, we'd still be able to code like:
=>
=> class MyInputDevice : public GenericInputDevice
=> {
=> ...
=> }
=>
=> but the kernel could be kept simple.
I agree that the basic kernel itself needn't be object-oriented, as
long as it has an object-oriented interface and support for system and
user objects.
=>4) We need to spend quite a bit of time on the high-level specifications
=> before we move on to the low-level stuff. Let's not worry about
=> implementation stuff until we've got the abstract stuff down.
I think we've reached a concensus on this point.
Gary Duzan
Time Lord
Third Regeneration
Humble Practitioner of the Computer Arts