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
next prev parent 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