🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #22306

Re: Multics & Memory mapped files

#22306
From: David Collier-Brown
Date: Fri, 09 Feb 1990 19:20
37 lines
2409 bytes
hammondr@sunroof.crd.ge.com (Richard A Hammond) writes:
| If I recall properly, Multics hardware couldn't address more than 2^18
| words(?) per segment.  While that was huge at the time, it isn't all
| that interesting now as an upper limit.  What, if anything, did the
| programmer do to handle files > 1 segment in length?

	Alas, this was badly handled in the first 9 or so releases...  The
	segment sizes were really 2^16 (words, I think! I remember
	discussion of leaving addressability to the byute in the design) and
	the maximum file size was something like 2^72 bits.

	The mechanism for doing large files was the so-called multi-segment
	file, which was really a directory containing more than one segment.
	Applications treating these as sequential constructs just opened
	them and read/write.  The segment manager looked after having
	multiple segments with the "same" name.  Applications doing random
	I/O (including one of mine) had a harder time, as the structure
	could be and occasionally was, manipulated directly by the idiot
	programmer. This was both hard and non-portable.

| This is not to say that memory mapped files are a "BAD IDEA", just
| that they have limits that must be considered by the programmer.

	The replacement, being worked on when I left, was the "extended
	object", which was a generalization of the file and contained the
	code for mapping very large segments into the address spaces in
	a programmer-independant manner: you said the equivalent of 
	stdio_$fseek(stream, offset, ptrname) and you were there

--dave (if you have limits, they should be 0, 1, or infinity) c-b


-- 
David Collier-Brown,  | davecb@yunexus, ...!yunexus!davecb or
72 Abitibi Ave.,      | {toronto area...}lethe!dave 
Willowdale, Ontario,  | Joyce C-B:
CANADA. 416-223-8968  |    He's so smart he's dumb.
Technical Details
Message-ID: <7434@yunexus.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!helios.physics.utoronto.ca!ists!yunexus!davecb
References: <8859@portia.Stanford.EDU> <20571@watdragon.waterloo.edu> <49956@sgi.sgi.com> <4791@helios.ee.lbl.gov> <2093@crdos1.crd.ge.COM> <1990Feb7.221800.804@utzoo.uucp> <2106@crdos1.crd.ge.COM> <5180@crdgw1.crd.ge.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!helios.physics.utoronto.ca!ists!yunexus!davecb
From: davecb@yunexus.UUCP (David Collier-Brown)
Newsgroups: comp.arch
Subject: Re: Multics & Memory mapped files
Message-ID: <7434@yunexus.UUCP>
Date: 9 Feb 90 19:20:21 GMT
References: <8859@portia.Stanford.EDU> <20571@watdragon.waterloo.edu> <49956@sgi.sgi.com> <4791@helios.ee.lbl.gov> <2093@crdos1.crd.ge.COM> <1990Feb7.221800.804@utzoo.uucp> <2106@crdos1.crd.ge.COM> <5180@crdgw1.crd.ge.com>
Organization: York U. Computing Services
Lines: 37