comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: For the AdaOS folks
Date: Mon, 3 Jan 2005 18:05:03 +0100
Date: 2005-01-03T18:05:03+01:00	[thread overview]
Message-ID: <1hwsfqc0hx63i$.1dl0hkengaf6i$.dlg@40tude.net> (raw)
In-Reply-To: jveCd.15296$Y_4.1365327@read2.cgocable.net

On Mon, 03 Jan 2005 11:36:34 -0500, Warren W. Gay VE3WWG wrote:

> Dmitry A. Kazakov wrote:
> 
>> On Sun, 02 Jan 2005 17:04:29 -0500, Warren W. Gay VE3WWG wrote:
>>>Dmitry A. Kazakov wrote:
>>>>On Sat, 01 Jan 2005 19:31:56 -0500, Warren W. Gay VE3WWG wrote:
>>>And how do your identify your GNAT object? At the end of the day,
>>>you still have to grapple with "names" and "identities". Only
>>>the details change.
>> 
>> The "detail" is that you identify not some GNAT installation file #1534,
>> but GNAT. GNAT itself is easy to find, 
> 
> Is it? What if you 2 or 3 versions of it?  There is an interesting
> situation now with windows as well, since you can have a cygwin
> version in addition to the usual gnat-3.15p type of release.

OK, these will be different objects. An application should probably be a
factory object of its versions. So you will ask GNAT factory: give me an
instance of GNAT with the parameters so and so.

>> its components are not. They may
>> vary from version to version. It is GNAT's responsibility to know them, not
>> of GNAT user.
> 
> If I want to install a binding, I need to know where GNAT has installed
> its bindings (like win32). The registry makes this a trivial thing to
> do (I know, because I have used it).

Nowhere. It is installed and available.

>>>So just how do you expect to identify what piece of software
>>>you want to know about, without using a name (or identity if
>>>you prefer)? OO doesn't do away with this requirement.
>> 
>> ADT allows to organize it in a proper way. We are using types to forget
>> about bytes. In OSes we are still using "bytes" = files.
> 
> You haven't answered how you are going to identify your
> object. This doesn't explain it away.

The same way you identify objects in your program:

declare
   GNAT_Installation : Application_Type'Class :=
      Get (Local_Machine, "GNAT");
begin
   ...

>> It is a
>> key in some associative array. To "dereference" it you have to switch to
>> supervisor mode. Then you have to check it, because somebody could mess
>> with its value etc. It is very inefficient. You have to do all this even if
>> you call a function of a protected object, which could be safely performed
>> in user-mode. BTW, the very notion of user-mode is also of old procedural
>> fashion. A protected object is passive. You should be able to access it in
>> any "mode". But when you want to queue to its entry or to call its
>> procedure, only then you have to switch the context to make the object data
>> available to write. It is not kernel business anymore.
> 
> But if you were to replace the file descriptor with an object that
> implements the equivalent of a v-node, you wouldn't be able to do
> this in "user mode".

Your application may have read-only mapping to the public parts of the
descriptor.

>> Your RPC services is another model. They are monitors. These can be exposed
>> in API as tasks to have rendezvous with. 
> 
> Or they could be simple procedure/function calls in Ada. It is merely
> a point of presentation.

You cannot make a conditional or timed call to a procedure. You cannot
requeue to a procedure. Why not to use the advantages Ada gives?

>> Again OO/ADT could bring great
>> advantages here. Imagine extensible tasks. Presently, if you have some
>> sequence of actions to be performed on one service, you have to care about
>> locking, serializing, then you implement it as separate inefficient RPCs to
>> the server. Service extensions would be sort of stored procedures in DB
>> terms.
> 
> Again, you can package it any way you like already. Just wrap it
> in the trimmings you want.

Turing completeness...

>> This new OS will not
>> become a breakthrough. It will be a stable decent OS, but who needs that?
> 
> Firewalls for one.

Huh, firewalls only exist because of that crippled, buggy, unsafe OSes!
 
>> See what happened with VMS? The only way to kill the Windows/UNIX monster
>> to offer something really revolutionary.
> 
> I am not on any quest for world domination, though I don't
> discourage others from trying to do so ;-)

Seriously, I do think that Windows/UNIX impact on history of humankind is
yet to estimate. But it is another story...

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



  reply	other threads:[~2005-01-03 17:05 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 [this message]
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