The following message is a courtesy copy of an article that has been posted to bit.listserv.ibm-main,alt.folklore.computers as well.
[EMAIL PROTECTED] (Ted MacNEIL) writes: > I've seen the 'S' stand for service, storage, & system, over the last > 28 years, so I have given up. > The 'S' stands for 's'. it started out as common segment area ... when it originally was a single segment. this was the transition from svs to mvs and required some place for applications to pass parameters to subsystems (running in different virtual address space) using pointer passing paradigm. however, it quickly got out of hand ... and became multiple common segments. recent posts with discussion of evoluation of mvs, common segments, dual-address space feature on 3081, and access registers http://www.garlic.com/~lynn/2008c.html#35 New Opcodes http://www.garlic.com/~lynn/2008d.html#69 Regarding the virtual machines http://www.garlic.com/~lynn/2008e.html#14 Kernels here is posting with MVS APAR/PTF 0267587 from 1983 ... for running MVS Guest under VM ... when there was a problem with "common segments" bit on 3090 ... http://www.garlic.com/~lynn/2002m.html#0 common segment bit was added to virtual memory hardware table segment table entry definition. i have done a q&d html conversion of the old gcard ios3270 (green card with additional info done in ios3270 format): http://www.garlic.com/~lynn/gcard.html#13 370 table look aside buffer (TLB) implementations were STO-associative ... i.e. every hardware translation entry was associated with specific virtual address space (determine by its segment table origin address). if you did a special case operation for an installation running a (single) MVS operating system ... it was possible to imagine customizing improved hardware thruput ... even if it didn't conform to "official" 370 architecture ... but tailoring the hardware operation for exactly how MVS happened to be using the hardware. In the case of the common segment(s) ... the identical same segments appeared in every virtual address space (at least if you were only running a single MVS operating system on the bare hardware). That resulted in huge number of duplicate TLB entries ... since there were huge number of different applications (from their virtual address spaces) referencing locations in the common segment(s). Even if they were the same exact location ... since they origianted from different virtual address spaces ... they would have different (duplicate) entries in the TLB (associated with the specific STO/virtual address space that the operation occured in). The 370 segment table entry hardware table (see gcard DAT reference) was updated to define a bit meaning "common segment". If TLB was processing a virtual address associated with a segment having the "C" bit turned on ... rather than associating the TLB entry with a specific virtual address space ... the TLB entry would be flagged as associated with the Common Segment(s). The straight-forward implementation only works if there is one and only one set of common segments across the whole infrastructure. current principles of operation reference for segment-table entries: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dz9zr003/3.11.2.2?DT=20040504121320 from above: Common-Segment Bit (C): Bit 59 controls the use of the translation-lookaside-buffer (TLB) copies of the segment-table entry and of the page table which it designates. A zero identifies a private segment; in this case, the segment-table entry and the page table it designates may be used only in association with the segment-table origin that designates the segment table in which the segment-table entry resides. A one identifies a common segment; in this case, the segment-table entry and the page table it designates may continue to be used for translating addresses corresponding to the segment index, even though a different segment table is specified. However, TLB copies of the segment-table entry and page table for a common segment are not usable if the private-space control, bit 55, is one in the address-space-control element used in the translation or if that address-space-control element is a real-space designation. The common-segment bit must be zero if the segment-table entry is fetched from storage during a translation when the private-space control is one in the address-space-control element being used; otherwise, a translation-specification exception is recognized. ... snip ... ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html