comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: For the AdaOS folks
Date: Fri, 31 Dec 2004 11:03:23 +0100
Date: 2004-12-31T11:03:23+01:00	[thread overview]
Message-ID: <1b48kdfqsk3mw.7gajq12fsa82.dlg@40tude.net> (raw)
In-Reply-To: J1WAd.1244$0y4.989@read1.cgocable.net

On Thu, 30 Dec 2004 11:30:35 -0500, Warren W. Gay VE3WWG wrote:

> Dmitry A. Kazakov wrote:
>> On Thu, 30 Dec 2004 08:58:23 -0500, Warren W. Gay VE3WWG wrote:
>>>Nick Roberts wrote:
>>>>However, I intend to design the microkernel so that it compromises on
>>>>minimality (unlike some other microkernel designs)
>>>
>>>Yes. Mach is too fat. They shouldn't have included device drivers
>>>for example.
>> 
>> Implementations of or the generic interface for? I think the latter would
>> be a mistake. DOS->Windows tried this path. MS consistently refused to
>> specify device classes other than hard drive and keyboard.
> 
> I'm not sure exactly what you're supporting here (clearly not M$), but
> IMHO, the device driver(s) can be written on top of the microkernel,
> and need to be inside it. This also helps to keep the mk small.

So it is about implementations then? But that is not what makes the kernel
fat. The problem is that OS should have generic interfaces for all kinds of
devices. They should be in. You can try to solve it by declaring
"everything is a file": UNIX (tm), or by doing nothing Windows (tm), but in
both cases the result is pretty same. I think only a native OO design
*exposed* in the kernel interface can help.

>>>>to achieve reasonable
>>>>efficiency (whilst removing much of unnecessary detritus that bogged down
>>>>experimental microkernels), and I intend to ensure that administrative
>>>>division of the network is fully supported, as well as network partioning
>>>>robustness (if some workstations go down, the rest still work).
>>>
>>>I wonder if networking really belongs in the microkernel. This is
>>>necessary for example if like Mach, you say that ports can speak
>>>to other Mach machines on the network/cluster.
>> 
>> That is an interesting question. I think that the kernel should be able to
>> tunnel its requests through higher order protocols.
> 
> Yes, they can be provided on top of the microkernel, as you seem to
> be suggesting.

Yes, but networking should be known to the kernel as something it can work
with. So you cannot completely throw it away.

>>>However, you might want to take the tact that networking is done
>>>outside of the microkernel. This way, in situations where you don't
>>>want networking (embedded systems), it need not be there.
>> 
>> There are lot of embedded systems which need networking, starting from
>> boards interconnected through dual ported RAM, to various sensors and
>> actors devices attached via Ethernet.
> 
> I am not disputing that. But that is different than saying every
> embedded device needs it. So if you want to save some memory, then
> the first thing that can be dumped (if the option exists) is
> networking if you don't require it. If it is included in a
> given mk, it should be optional.

I'm not sure if that could be possible. I have designed not an OS, but a
large middleware project. I tried to do the thing you describe, i.e. to
isolate all networking and remove it from the system core. It turned to be
impossible. In the final version it appears as a "normal driver", but it
still has some secret wires leading to the core. So I failed. BTW, there
were other things which seemed to be no less coupled. For example, I
managed to isolate the system data logger. So in principle, I agree with
you, but...

> However, IMHO, the microkernel should be small as possible, and
> leave networking up to the modules outside of it. After all, some may
> perfer an IPv6 only version of networking for example (in light
> of China's recent network announcment). In the end, I don't want
> to be "stuck" with what a brand of microkernel gives me. Just
> give me the basics and let me decide what is included.

Agree. Protocols must be decoupled from the system, though that is easier
to do, than to remove networking as a whole. Though it is related to an
interesting OO problem. When protocol implementation is buried somewhere in
an inheritance path, then it becomes difficult to switch from one protocol
to another. It looks like abstraction inversion.

>>>I always get scoffed at for suggesting this, and I have no love for M$,
>>>but the one idea they have had, which is useful, is the registry.
>> 
>> It might look attractive and is definitely better than Unix chaos, 
> 
> So we agree that it is an improvement over little text files that
> you must parse/edit etc..

Sure

>> but the
>> concept of registry is not good. Try to reformat an Windows box and restore
>> all settings of say MS VC back.
> 
> You base your registry criticisms upon M$ _implementation_ of
> a registry. But consider this:
> 
> If each registry item were a file (on a RieserFS so there is little
> or no waste), then you can backup, secure and restore settings
> just like any other file. You can do so with all of those familiar
> tools, including tar and cpio.

The problem is not an ability to backup, in UNIX one can backup /etc, /var
... The problem is complexity. There are dependencies between repository
objects, which cannot be mapped to a simple tree structure, whether that be
chaotic files or registry. Consider a simple diamond diagram. Application A
uses B and C, they in turn use D. This cannot be represented by a tree. So
you need a folder to keep them all. Let's name it "/etc". Welcome to back
to chaos.

>> Registry makes program's settings a property of the local machine or user.
>> The problem is that tree view. It should be at least relational. But better
>> would to have different views.
> 
> I don't believe it need be treated any differently than a file
> system. To support a registry on the RieserFS for example, one
> merely need to add a nice programming API to make it easier for
> programs to query and set values. You can still use links/symlinks
> (if you must) etc.

In my view there should be no file systems at all. OS should be fully
memory-mapped with persistent objects. A FS would be just a "low-level"
format then. (Kind of data base discussion again! (:-))

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  parent reply	other threads:[~2004-12-31 10:03 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-27  5:09 For the AdaOS folks Wes Groleau
2004-12-27 10:56 ` Florian Weimer
2004-12-27 12:50   ` Georg Bauhaus
2004-12-27 13:12     ` Florian Weimer
2004-12-28  1:18   ` Wes Groleau
2004-12-27 13:46 ` Adrien Plisson
2004-12-27 16:28   ` Georg Bauhaus
2004-12-28  6:19   ` Microkernels & Ada (Was for the AdaOS folks) Warren W. Gay VE3WWG
2004-12-28 12:02     ` Adrien Plisson
2004-12-28 15:28       ` Warren W. Gay VE3WWG
2004-12-30  1:19 ` For the AdaOS folks Nick Roberts
2004-12-30 13:58   ` Warren W. Gay VE3WWG
2004-12-30 15:27     ` Dmitry A. Kazakov
2004-12-30 16:30       ` Warren W. Gay VE3WWG
     [not found]         ` <otb8t09dkjh54e1k5s5ccn23ggkqk6ndui@4ax.com>
2004-12-30 19:06           ` OT: Mach Ports (For the AdaOS folks) Warren W. Gay VE3WWG
2004-12-31 10:03         ` Dmitry A. Kazakov [this message]
2004-12-31 11:30           ` For the AdaOS folks Warren W. Gay VE3WWG
2004-12-31 12:31             ` Dmitry A. Kazakov
2004-12-31 16:24               ` Warren W. Gay VE3WWG
2004-12-31 17:57                 ` Marven Lee
2004-12-31 18:40                   ` Warren W. Gay VE3WWG
2004-12-31 19:22                     ` Warren W. Gay VE3WWG
2005-01-02 15:09                     ` Marven Lee
2005-01-02 20:06                       ` Luke A. Guest
2005-01-03  3:13                         ` Warren W. Gay VE3WWG
2005-01-03  6:40                           ` Luke A. Guest
2005-01-03 10:30                             ` Marven Lee
2005-01-03 15:52                             ` Warren W. Gay VE3WWG
2005-01-03 16:48                           ` Ad Buijsen
2005-01-03 18:49                             ` Warren W. Gay VE3WWG
2005-01-03 13:43                         ` Marven Lee
2005-01-04 23:36                         ` Nick Roberts
2005-01-03 16:22                       ` Warren W. Gay VE3WWG
2005-01-04 23:16                       ` Nick Roberts
2005-01-05  3:48                         ` Warren W. Gay VE3WWG
2005-01-05 13:14                           ` Nick Roberts
2005-01-01 12:53                 ` Dmitry A. Kazakov
2005-01-02  0:31                   ` Warren W. Gay VE3WWG
2005-01-02 11:50                     ` Dmitry A. Kazakov
2005-01-02 22:04                       ` Warren W. Gay VE3WWG
2005-01-03 10:30                         ` Dmitry A. Kazakov
2005-01-03 16:36                           ` Warren W. Gay VE3WWG
2005-01-03 17:05                             ` Dmitry A. Kazakov
2005-01-03 19:01                               ` Warren W. Gay VE3WWG
2005-01-03 19:55                                 ` Dmitry A. Kazakov
2005-01-03 20:44                                   ` Warren W. Gay VE3WWG
2005-01-04  0:02                                     ` Randy Brukardt
2005-01-04 17:44                                       ` Warren W. Gay VE3WWG
2005-01-04 20:14                                         ` Nick Roberts
2005-01-04  9:59                                     ` Dmitry A. Kazakov
2005-01-04 18:00                                       ` Warren W. Gay VE3WWG
2005-01-04 19:07                                         ` Dmitry A. Kazakov
2005-01-04 19:57                                           ` Warren W. Gay VE3WWG
2005-01-05  0:02                                             ` Nick Roberts
2005-01-05  4:37                                               ` Warren W. Gay VE3WWG
2005-01-05 18:54                                                 ` Nick Roberts
2005-01-05 20:04                                                   ` Warren W. Gay VE3WWG
2005-01-06  0:32                                                     ` Nick Roberts
2005-01-06  1:29                                                   ` Wes Groleau
2005-01-06 11:03                                                     ` Dmitry A. Kazakov
2005-01-05  9:39                                             ` Dmitry A. Kazakov
2005-01-05 11:20                                               ` Warren W. Gay VE3WWG
2005-01-05 12:18                                                 ` Dmitry A. Kazakov
2005-01-05 14:39                                                   ` Warren W. Gay VE3WWG
2005-01-05 17:16                                                     ` zest_fien
2005-01-05 19:44                                                       ` Larry Kilgallen
2005-01-04 20:09           ` Nick Roberts
2005-01-05 10:19             ` Dmitry A. Kazakov
2005-01-05 18:33               ` Nick Roberts
2005-01-05 20:15                 ` Dmitry A. Kazakov
2004-12-31 18:47     ` Nick Roberts
2004-12-31 20:36       ` Warren W. Gay VE3WWG
2005-01-04 18:22         ` Nick Roberts
2005-01-05  5:12           ` Warren W. Gay VE3WWG
2005-01-05 18:02             ` Nick Roberts
2005-01-05 19:55               ` Warren W. Gay VE3WWG
2005-01-06  0:57                 ` Nick Roberts
2005-01-06  2:34                   ` Warren W. Gay VE3WWG
  -- strict thread matches above, loose matches on Subject: below --
2005-01-05 12:14 Mike Brenner
2005-01-05 18:04 ` Warren W. Gay VE3WWG
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox