From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,b95a522100671708 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!newshub.sdsu.edu!border1.nntp.dca.giganews.com!nntp.giganews.com!meganewsservers.com!feeder2.on.meganewsservers.com!feed.cgocable.net!read2.cgocable.net.POSTED!53ab2750!not-for-mail From: "Warren W. Gay VE3WWG" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: For the AdaOS folks References: <1PTAd.1218$0y4.421@read1.cgocable.net> <1vemlj8wqr9ea$.qyecszhsmtqa$.dlg@40tude.net> <1b48kdfqsk3mw.7gajq12fsa82.dlg@40tude.net> <52fBd.42256$nV.1324414@news20.bellglobal.com> <_gHBd.14666$0y4.10314@read1.cgocable.net> <8rz51zshvp8k$.gvir0kpiedzk.dlg@40tude.net> <1cza5d5x7snmd.lr7wfm9fdsvd.dlg@40tude.net> <1hwsfqc0hx63i$.1dl0hkengaf6i$.dlg@40tude.net> In-Reply-To: <1hwsfqc0hx63i$.1dl0hkengaf6i$.dlg@40tude.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Mon, 03 Jan 2005 14:01:42 -0500 NNTP-Posting-Host: 24.150.168.167 X-Complaints-To: abuse@cogeco.ca X-Trace: read2.cgocable.net 1104778835 24.150.168.167 (Mon, 03 Jan 2005 14:00:35 EST) NNTP-Posting-Date: Mon, 03 Jan 2005 14:00:35 EST Organization: Cogeco Cable Xref: g2news1.google.com comp.lang.ada:7414 Date: 2005-01-03T14:01:42-05:00 List-Id: 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. >>>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. >>>>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? >>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? >>>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. Even at home, there is much more safety in doing things this way. -- Warren W. Gay VE3WWG http://home.cogeco.ca/~ve3wwg