Marten Kemp <[EMAIL PROTECTED]> writes:
> The recent thread about virtual memory sparked a (kind of)
> idle question: why did the implementation in the S/370
> have a two-level scheme (segment and page)? My original
> thought was that it facilitated definition of discontiguous
> parts of an address space.

370 virtual memory architecture segment & page tables. 360/67 provided
for both 24-bit virtual addressing and 32-bit virtual addressing (in
its segment/page virtual memory structure).

the introduction of virtual memory on 370 was just 24-bit virtual
addressing with segment and page tables, originally with 1mbyte and
64kbyte segment options as well as 4kbyte and 2kbyte page options.

the original 370 virtual memory architecture also had segment
protection and some selective invalidate instructions. these
additional features were dropped to help get the virtual memory
hardware retrofit to 370/165 back on schedule.

in the morph from cp67/cms to vm370/cms, cms had been restructured to
take advantage of "shared segments" (single copy of the same virtual
memory page in physical storage for multiple different virtual address
spaces) with the segment protect feature. when segment protect was
dropped from 370 virtual memory architecture, the protection of
these shared pages had to be reworked.

more than 24-bit virtual addressing wasn't re-introduced until 370-xa
with the 3081.

I had done a page-mapped filesystem for CMS, which included compatibility
for existing CMS filesystem API
http://www.garlic.com/~lynn/subtopic.html#mmap

It also included a number of extended features allowing page-mapped
objects (shared & non-shared) to appear at arbitrary virtual address
locations. the same shared (segment) object could even appear at
different virtual addresses in different virtual address space. this
required a lot of fiddling with the prevalent 360/370 software use of
address constants. Lots of posts mentioning the fiddling with
address constants
http://www.garlic.com/~lynn/subtopic.html#adcon

Only a small subset of the virtual memory object support was ever
released called DisContiguous Shared Segment (DCSS). The generalized
virtual memory object support and the page mapped filesystem support
was never released.

various posts mentioning the segment protect issue:
http://www.garlic.com/~lynn/2004p.html#8 vm/370 smp support and shared segment
protection hack
http://www.garlic.com/~lynn/2004p.html#9 vm/370 smp support and shared segment
protection hack
http://www.garlic.com/~lynn/2004p.html#10 vm/370 smp support and shared segment
protection hack
http://www.garlic.com/~lynn/2004p.html#14 vm/370 smp support and shared segment
protection hack
http://www.garlic.com/~lynn/2004q.html#37 A Glimpse into PC Development
Philosophy
http://www.garlic.com/~lynn/2005c.html#20 [Lit.] Buffer overruns
http://www.garlic.com/~lynn/2005d.html#61 Virtual Machine Hardware
http://www.garlic.com/~lynn/2005e.html#53 System/360; Hardwired vs. Microcoded
http://www.garlic.com/~lynn/2005f.html#45 Moving assembler programs above the
line
http://www.garlic.com/~lynn/2005f.html#46 Moving assembler programs above the
line
http://www.garlic.com/~lynn/2005h.html#9 Exceptions at basic block boundaries
http://www.garlic.com/~lynn/2005h.html#10 Exceptions at basic block boundaries
http://www.garlic.com/~lynn/2005h.html#13 Today's mainframe--anything to new?
http://www.garlic.com/~lynn/2005j.html#39 A second look at memory access
alignment
http://www.garlic.com/~lynn/2005o.html#10 Virtual memory and memory protection
http://www.garlic.com/~lynn/2006.html#13 VM maclib reference
http://www.garlic.com/~lynn/2006.html#38 Is VIO mandatory?
http://www.garlic.com/~lynn/2006b.html#39 another blast from the past
http://www.garlic.com/~lynn/2006i.html#9 Hadware Support for Protection Bits:
what does it really mean?

...

and misc. past posts mentioning dcss:
http://www.garlic.com/~lynn/2001c.html#2 Z/90, S/390, 370/ESA (slightly off
topic)
http://www.garlic.com/~lynn/2001c.html#13 LINUS for S/390
http://www.garlic.com/~lynn/2001i.html#20 Very CISC Instuctions (Was: why the
machine word size ...)
http://www.garlic.com/~lynn/2002o.html#25 Early computer games
http://www.garlic.com/~lynn/2003b.html#33 dasd full cylinder transfer (long
post warning)
http://www.garlic.com/~lynn/2003f.html#32 Alpha performance, why?
http://www.garlic.com/~lynn/2003g.html#27 SYSPROF and the 190 disk
http://www.garlic.com/~lynn/2003n.html#45 hung/zombie users ... long boring,
wandering story
http://www.garlic.com/~lynn/2003o.html#42 misc. dmksnt
http://www.garlic.com/~lynn/2004d.html#5 IBM 360 memory
http://www.garlic.com/~lynn/2004f.html#23 command line switches [Re: [REALLY
OT!] Overuse of symbolic
http://www.garlic.com/~lynn/2004l.html#6 Xah Lee's Unixism
http://www.garlic.com/~lynn/2004m.html#11 Whatever happened to IBM's VM PC
software?
http://www.garlic.com/~lynn/2004o.html#9 Integer types for 128-bit addressing
http://www.garlic.com/~lynn/2004o.html#11 Integer types for 128-bit addressing
http://www.garlic.com/~lynn/2004p.html#8 vm/370 smp support and shared segment
protection hack
http://www.garlic.com/~lynn/2004q.html#72 IUCV in VM/CMS
http://www.garlic.com/~lynn/2005b.html#8 Relocating application architecture
and compiler support
http://www.garlic.com/~lynn/2005e.html#53 System/360; Hardwired vs. Microcoded
http://www.garlic.com/~lynn/2005f.html#45 Moving assembler programs above the
line
http://www.garlic.com/~lynn/2005g.html#30 Moving assembler programs above the
line
http://www.garlic.com/~lynn/2005j.html#54 Q ALLOC PAGE vs. CP Q ALLOC vs ESAMAP
http://www.garlic.com/~lynn/2005t.html#39 FULIST
http://www.garlic.com/~lynn/2006.html#10 How to restore VMFPLC dumped files on
z/VM V5.1
http://www.garlic.com/~lynn/2006.html#13 VM maclib reference
http://www.garlic.com/~lynn/2006.html#17 {SPAM?} DCSS as SWAP disk for z/Linux
http://www.garlic.com/~lynn/2006.html#18 DCSS as SWAP disk for z/Linux
http://www.garlic.com/~lynn/2006.html#19 DCSS as SWAP disk for z/Linux
http://www.garlic.com/~lynn/2006.html#25 DCSS as SWAP disk for z/Linux
http://www.garlic.com/~lynn/2006.html#28 DCSS as SWAP disk for z/Linux
http://www.garlic.com/~lynn/2006.html#31 Is VIO mandatory?
http://www.garlic.com/~lynn/2006.html#35 Charging Time
http://www.garlic.com/~lynn/2006b.html#4 IBM 610 workstation computer
http://www.garlic.com/~lynn/2006b.html#7 Mount a tape
http://www.garlic.com/~lynn/2006f.html#2 using 3390 mod-9s

--
Anne & Lynn Wheeler | http://www.garlic.com/~lynn/

Reply via email to