comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert I. Eachus" <rieachus@attbi.com>
Subject: Re: A Customer's Request For Open Source Software
Date: Fri, 29 Aug 2003 01:02:46 GMT
Date: 2003-08-29T01:02:46+00:00	[thread overview]
Message-ID: <3F4EA616.30607@attbi.com> (raw)
In-Reply-To: bRv3b.692$c12.9302@newsfep4-glfd.server.ntli.net

chris wrote:

> What do you mean 'avoid the file system'?  I've heard people say if vast 
> amounts of persistant ram storage become available file systems will be 
> given the boot.  Is that what you meant?  If so I can't see it.  You 
> still have to know where things are and more importantly you need a 
> conceptual association with data.  That's all a file system is really, a 
> way to name blocks of data (people won't be able to remember 100 64bit 
> addresses, even in hex).  Everything else is just built on top of that 
> simple idea.  The details may (will) change but it'll still be a file 
> system.  (Just a really fast, abundant and abused* one).

What was so wonderful about Multics?  In part, that it wasn't built 
around a file system, it was built around virtual memory.  I won't go 
into the gory details here--you can find the Organik book if you haven't 
read it.  But the memory concept in Multics was that everything was made 
of segments, and a process had access to segments.  (Of course, some of 
the things in those segments were links to other segments.)

The point though, is that you don't open a file and read it record by 
record or line by line.  You map a segment into your process and can 
address any bit in the segment at random.  The operating system may have 
some of pages of the segments your process has access to resident in 
memory and others still on disk, but you (and your applications) don't 
care.  Access to the data is not mediated by the OS or the file system 
once you link to the segment.  (Of course, on Multics when you linked to 
a segment both mandatory (security) permission levels and discressional 
access permissions are checked, and if those permissions change, the 
link will be snapped and have to be re-established with a new set of 
access checks. But all that is implementation detail.)

This was the paradox of Multics that most people never understood.  The 
system could afford to have good security because compared to 
conventional OSes security checks--and all of the other overhead of 
accessing a file--only needed to be done maybe one-thousandth as often, 
if that.

The rest of what you talk about has to do with naming of datasets. 
Multics had both character string versions of pointers and "packed" 
hardware pointers.  The character strings corresponded to file names 
(and a directory hierarchy) on a conventional system, plus the ability 
to address multiple entry points in a segment, or address an individual 
bit.  The packed pointers were used by hardware to actually find the 
data.  And as I alluded to above, converting a pathname to a segment 
table entry is the one time that access rights have to be checked.  If 
the access control list or security level for a segment changes, then 
all existing page table entries are invalidated, and have to be 
revalidated to access the segment again.  Neat, simple, and secure.

So yes, when I talk about memory-mapping of files and not avoiding any 
file systems that is exactly what I mean.  And until you have worked 
with a system that supports it well, you don't know what you are missing.

Just one other example.  Multics of course had dynamic linking, but the 
form of dynamic linking was much different from what we think of today. 
  During development, you never invoked a linker.  You just had all of 
the the code segments of your program lying around, pointed at the main 
program--or some other entry point, and said run.  If you got to a point 
in your program where you called a procedure you hadn't written yet? 
The operating system would tell you that a call had been made to a 
segment it couldn't find.  You could then run emacs, write the code, 
compile it, then--and only then--tell the OS where to find the code. 
Your program would continue running from the point where it had stopped. 
   Once you had a complete, debugged program, you often invoked the 
binder, and put all your pieces together in one segment.  Of course, 
there were probably lots of pathnames that connected to the OS, or to 
other subsystems, etc., that you left unresolved in the bound version.
--
                                        Robert I. Eachus

"As far as I'm concerned, war always means failure." -- Jacques Chirac, 
President of France
"As far as France is concerned, you're right." -- Rush Limbaugh




  reply	other threads:[~2003-08-29  1:02 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-21 12:35 A Customer's Request For Open Source Software Marin David Condic
2003-08-21 12:46 ` Stephane Richard
2003-08-22 12:32   ` Marin David Condic
2003-08-22 13:38     ` David Holm
2003-08-22 14:33       ` Stephane Richard
2003-08-22 16:40         ` David Holm
2003-08-23 13:18           ` Marin David Condic
2003-08-25  8:27             ` Preben Randhol
2003-08-25 20:50               ` Chad R. Meiners
2003-08-26  1:28                 ` Stephane Richard
2003-08-26  9:27                   ` Preben Randhol
2003-08-26 17:06                     ` Chad R. Meiners
2003-08-26 12:51                   ` Marin David Condic
2003-08-26 18:25                     ` Wes Groleau
2003-08-27 10:05                     ` Dave Head
2003-08-27 12:11                       ` Marin David Condic
2003-08-27 19:45                       ` [off-topic] military medicine Wes Groleau
2003-08-30 17:33               ` A Customer's Request For Open Source Software Jan Kroken
2003-09-01 10:03                 ` Preben Randhol
2003-09-17 18:21                   ` Jan Kroken
2003-08-22 16:46         ` Larry Kilgallen
2003-08-22 17:09           ` Stephane Richard
2003-08-22 18:03             ` Larry Kilgallen
2003-08-25  8:33             ` Preben Randhol
2003-08-23 13:05       ` Marin David Condic
2003-08-30  5:58     ` Adrian Hoe
2003-08-30 11:09       ` Stephane Richard
     [not found]         ` <rti721-4p3.ln1@beastie.ix.netcom.com>
2003-08-31 18:28           ` Christopher Browne
2003-09-02 15:44             ` Adrian Hoe
2003-08-30 13:18       ` Marin David Condic
2003-08-21 20:46 ` Warren W. Gay VE3WWG
2003-08-21 21:12   ` Stephane Richard
2003-08-22 20:26     ` Warren W. Gay VE3WWG
2003-08-22  3:09   ` Hyman Rosen
2003-08-22 12:45     ` Marin David Condic
2003-08-22 20:46     ` Warren W. Gay VE3WWG
2003-08-22 12:37   ` Marin David Condic
2003-08-22 18:59     ` Warren W. Gay VE3WWG
2003-08-22 20:59       ` Warren W. Gay VE3WWG
2003-08-23 13:24         ` Marin David Condic
2003-08-25 19:35         ` Brien
2003-08-25  8:52   ` Preben Randhol
2003-08-25 16:32     ` Warren W. Gay VE3WWG
2003-08-26  9:19       ` Preben Randhol
2003-08-26 21:01         ` Warren W. Gay VE3WWG
2003-08-27  5:15           ` Preben Randhol
2003-08-21 22:53 ` David Holm
2003-08-21 23:11   ` Stephane Richard
2003-08-22  0:04     ` David Holm
2003-08-22  0:17       ` Stephane Richard
2003-08-22  0:19       ` Stephane Richard
2003-08-22 17:49         ` Robert I. Eachus
2003-08-22 20:56           ` Warren W. Gay VE3WWG
2003-08-23  2:29             ` Alexander Kopilovitch
2003-08-24  2:54               ` Robert I. Eachus
2003-08-24  3:11                 ` Matthew Heaney
2003-08-24 14:57                 ` Marin David Condic
2003-08-24 16:31                   ` Robert I. Eachus
2003-08-25 12:37                     ` Marin David Condic
2003-08-25 14:08                       ` Robert I. Eachus
2003-08-25 21:07                         ` Alexander Kopilovitch
2003-08-26 18:34                       ` Christopher Browne
2003-08-27 12:21                         ` Marin David Condic
2003-08-27 13:37                           ` Warren W. Gay VE3WWG
2003-08-28 22:04                 ` chris
2003-08-29  1:02                   ` Robert I. Eachus [this message]
2003-08-29 10:46                     ` Larry Kilgallen
2003-08-29 21:15                       ` Robert I. Eachus
2003-08-29 16:10                     ` Jon S. Anthony
2003-08-30 19:01                     ` Alexander Kopilovitch
2003-08-30 22:57                       ` Robert I. Eachus
2003-08-31 23:04                         ` Alexander Kopilovitch
2003-09-01  2:09                           ` Robert I. Eachus
2003-09-01 16:29                             ` Alexander Kopilovitch
2003-09-01 21:22                               ` Robert I. Eachus
2003-09-02  2:12                                 ` Christopher Browne
2003-09-02  4:16                                   ` Ludovic Brenta
2003-09-02 14:53                                     ` Christopher Browne
2003-09-02 19:52                                       ` Charlie Spitzer
2003-09-03  2:18                                     ` Robert I. Eachus
2003-09-12 12:21                                   ` Jacob Sparre Andersen
2003-09-12 17:49                                     ` Robert I. Eachus
2003-09-13  5:49                                       ` Edward Rice
2003-09-13 18:59                                         ` Robert I. Eachus
2003-09-12 20:45                                     ` Christopher Browne
2003-09-02 16:16                                 ` Alexander Kopilovitch
2003-09-03  2:36                                   ` Robert I. Eachus
2003-09-01 21:44                             ` Larry Kilgallen
     [not found]                             ` <e2e5731a.0309010Organization: LJK Software <og4DamrQ9AuX@eisner.encompasserve.org>
2003-09-03  3:02                               ` Robert I. Eachus
2003-09-03 16:57                                 ` Warren W. Gay VE3WWG
2003-09-04  7:19                                   ` olehjalmar kristensen - Sun Microsystems - Trondheim Norway
2003-09-05 17:06                                     ` Warren W. Gay VE3WWG
2003-09-05 19:27                                     ` Robert I. Eachus
2003-09-03 12:38                             ` Larry Kilgallen
2003-09-06  2:10                             ` Larry Kilgallen
     [not found]                             ` <e2e5731a.03090Organization: LJK Software <D1upWhxUuOLF@eisner.encompasserve.org>
2003-09-06 20:34                               ` Warren W. Gay VE3WWG
2003-09-06 23:36                             ` Larry Kilgallen
     [not found]                       ` <hli721-4p3.ln1@beastie.ix.netcom.com>
2003-08-31  2:35                         ` Robert I. Eachus
2003-08-22 20:49       ` Warren W. Gay VE3WWG
2003-08-23  1:47     ` jim hopper
2003-08-23  1:47       ` Ludovic Brenta
2003-08-25  9:12         ` Preben Randhol
2003-08-25  8:59     ` Preben Randhol
2003-08-25  8:02 ` Preben Randhol
2003-08-25 20:55   ` Chad R. Meiners
2003-08-26  9:28     ` Preben Randhol
replies disabled

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