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 20:55:43 +0100
Date: 2005-01-03T20:55:43+01:00	[thread overview]
Message-ID: <1klgtuv6sbypt.1wlc9u1ixz7ua$.dlg@40tude.net> (raw)
In-Reply-To: nDgCd.15313$Y_4.1370247@read2.cgocable.net

On Mon, 03 Jan 2005 14:01:42 -0500, Warren W. Gay VE3WWG wrote:

> Dmitry A. Kazakov wrote:
> 
>> 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.
> 
> Aha! The name/identification is couched in the terms
> "parameters so and so".  You cannot dispense with names.

The parameters needed to identify your version. BTW I am not sure that it
is the best possible way to deal with versions. It is yet another story. In
any case it would be easier to handle versions using objects instead of
names and paths.

>>>>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.
> 
> Pardon me? The GNAT win32 binding is installed in a very
> specific location. I place APQ in the same parent directory.

Forget about locations. GNAT object will have a hook (or a container) to
attach plug-ins. Your APQ is just a new object to attach there.

>>>>>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
>>    ...
> 
> Which version of two does this get?

All. You continue then:

Get_Conform_To (GNAT_Installation, Required_Version);

>>>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.
> 
> But then it won't function!  For example, how can you
> use a kernel mode pointer within the v-node in user mode?

Your application will be mapped there. To obtain an object is like loading
a library. The pointer you will use to read public data will be a user-mode
one.

>>>>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!
> 
> Ah, not necessarily. To enforce policy, it makes sense to throttle
> all of a company's access to the world-wild-net through one "gate",
> rather than try to administer it on the bases of every host, pc,
> and laptop within an organization.

But in our hypothetical OS each possible way of access will be represented
by some safe system object. These objects, when properly designed will
provide necessary administrative services. Do you have one "gate" for hard
drive I/O? Do you need a firewall to tunnel open/close/read/write to floppy
drives? It would be nonsense. The problem is that network protocols do not
have safety of a file system. The foundations of file systems were
established long before the disaster named MS.

> Even at home, there is much more safety in doing things this way.

It an imaginary safety.

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



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