From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: For the AdaOS folks
Date: Wed, 5 Jan 2005 11:19:37 +0100
Date: 2005-01-05T11:19:37+01:00 [thread overview]
Message-ID: <2tsp1psz9462$.1f29l3v513cke$.dlg@40tude.net> (raw)
In-Reply-To: gemini.i9t6mz00h4nxx00dc.nick.roberts@acm.org
On Tue, 4 Jan 2005 20:09:00 +0000, Nick Roberts wrote:
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote:
>
>>> 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.
>
> Do you really mean the (micro)kernel, Dmitry, or the TCB (Trusted Computing
> Base)? In Linux and BSD, for example, the kernel /is/ the TCB, but this is
> not the case with AdaOS.
Kernel. Warren and I agreed on hooks for networking. But it seems that we
meant different consequences. Especially because of security issues. I
suppose he tend to move them far away to the upper abstraction layers.
Firewall is a relatively high level. I wished to see them already in the
kernel. In this case "hooks" might become very fat.
>> 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.
>
> This is why I think the introduction of interfaces in Ada 2005 will be
> important. Not only will this help support multiple inheritance, but it will
> also help decouple interface hierarchies from implementational hierarchies.
Yes, I think it is a very important pattern, not only for an OS, but also
for any complex layered system.
>>> 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! (:-))
>
> As I currently have it, that is how AdaOS is designed, in essence. A program
> classed as a 'local storage manager' (LSM) provides a way to cause a memory
> region to be stored on the hard disk, each such 'store' identified by a
> number. At a low level (device drivers) a simple namesystem maps names to
> stores, providing an elementary file system.
>
> A programs classed as a 'distributed storage managers' (DSM) will provide
> 'distributed stores'. A distributed store is identified by a number that is
> the same across the whole network, and the pages of a store are
> automatically moved (or copied, for R/O pages) to workstations upon demand.
> Distributed programs use DSMs (only) to provide their memory regions and
> stores.
>
> At a higher level (including application programs), files are organised as
> objects (records) in database tables; the 'data' of a file will be stored in
> a field of type 'binary large object' (BLOB); each large BLOB will be kept
> in a separate distributed store (small ones will be agglomerated, together
> with other 'small' database data). However, nothing will prevent stores
> being accessed by other means, if necessary.
That sounds really great.
The other means would be by mapping everything to L/DSM. The problem is how
to achieve different views on the same storage. As I mentioned in
discussion with Warren, I would like to have something like Ada protected
object with protection enforced by memory mapping.
Then there is of course the issue of reset/restart/upgrade. System objects
have to be organized in a way which would allow restart failed system
parts. One would never be able to restart the whole [distributed] system
once it runs.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2005-01-05 10:19 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 ` For the AdaOS folks Dmitry A. Kazakov
2004-12-31 11:30 ` 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 [this message]
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