[TUHS] pdp11 UNIX memory allocation.

Johnny Billquist bqt at update.uu.se
Wed Jan 7 06:20:36 AEST 2015


On 2015-01-06 20:57, Milo Velimirovi?<milov at cs.uwlax.edu> wrote:
> Bringing a conversation back online.
> On Jan 6, 2015, at 6:22 AM,arnold at skeeve.com  wrote:
>
>>> >>Peter Jeremy scripsit:
>>>> >>>But you pay for the size of $TERMCAP in every process you run.
>> >
>> >John Cowan<cowan at mercury.ccil.org>  wrote:
>>> >>A single termcap line doesn't cost that much, less than a KB in most cases.
>> >
>> >In 1981 terms, this has more weight. On a non-split I/D PDP-11 you only
>> >have 32KB to start with.  (The discussion a few weeks ago about cutting
>> >yacc down to size comes to mind?)
> (Or even earlier than ?81.) How did pdp11 UNIXes handle per process memory? It?s suggested above that there was a 50-50 split of the 64KB address space between instructions and data. My own recollection is that you got any combination of instruction and data space that was <64KB. This would also be subject to limits of pdp11 memory management unit.
>
> Anyone have a definitive answer or pointer to appropriate man page or source code?

You are conflating two things. :-)
A standard PDP-11 have 64Kb of virtual memory space. This can be divided 
any way you want between data and code.

Later model PDP-11 processors had a hardware feature called split I/D 
space. This meant that you could have one 64Kb virtual memory space for 
instructions, and one 64Kb virtual memory space for data.

(This also means that the text you quoted was incorrect, as it stated 
that you had 32Kb, which is incorrect. It was/is 32 Kword.)

	Johnny

-- 
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt at softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol



More information about the TUHS mailing list