Difference between revisions of "Talk:KS11 Memory Protection and Relocation option"

From Computer History Wiki
Jump to: navigation, search
(Ken Thompson's memory of it)
 
(And from Bob Supnik: new section)
Line 7: Line 7:
 
: sorry, i dont remember too many details.
 
: sorry, i dont remember too many details.
 
which, alas, does not really add much to what little we know. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 04:16, 17 May 2023 (CEST)
 
which, alas, does not really add much to what little we know. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 04:16, 17 May 2023 (CEST)
 +
 +
== And from Bob Supnik ==
 +
 +
Bob's reply to my query:
 +
 +
: The KS11 created a PDP-10 (KA) style memory management system for the 11/20: that is, high-segment (instructions, in theory, and shareable, in theory) and low-segment (data). It did create a user vs monitor mode. It [did] support memory expansion, although that may have required a separate option, the MX11. It did not, IIRC, do IO mapping (IO scatter/gather). Because the high and low segments were physically contiguous, scatter/gather wasn't needed, only a "simple" relocation and bounds check on DMA transfers.
 +
 +
: The high/low segmentation wasn't automatic; that is, it didn't function like I/D space in official memory management. Rather, the software writer had to organize a program into two .psects - a "pure" instruction segment and an "impure" data segment. The stack was always impure; the 11/20 didn't have the MARK instruction to screw that up.
 +
 +
So still some important open questions, but this adds a bit more. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 04:41, 17 May 2023 (CEST)

Revision as of 03:41, 17 May 2023

Ken Thompson's memory of it

Ken was nice enough to respond to a query asking for help from old-timers; here is his brief reply:

i did all the programming for it.
it was based on the pdp-10 memory map. it had 2 pages growing toward each other and some horse crap to let the har[d]ware multiply unit shine through.
sorry, i dont remember too many details.

which, alas, does not really add much to what little we know. Jnc (talk) 04:16, 17 May 2023 (CEST)

And from Bob Supnik

Bob's reply to my query:

The KS11 created a PDP-10 (KA) style memory management system for the 11/20: that is, high-segment (instructions, in theory, and shareable, in theory) and low-segment (data). It did create a user vs monitor mode. It [did] support memory expansion, although that may have required a separate option, the MX11. It did not, IIRC, do IO mapping (IO scatter/gather). Because the high and low segments were physically contiguous, scatter/gather wasn't needed, only a "simple" relocation and bounds check on DMA transfers.
The high/low segmentation wasn't automatic; that is, it didn't function like I/D space in official memory management. Rather, the software writer had to organize a program into two .psects - a "pure" instruction segment and an "impure" data segment. The stack was always impure; the 11/20 didn't have the MARK instruction to screw that up.

So still some important open questions, but this adds a bit more. Jnc (talk) 04:41, 17 May 2023 (CEST)