The S/360-67 design added a component for implementing virtual memory, the "DAT box" (Dynamic Address Translation box). DAT on the 360/67 was based on the architecture outlined in a 1966
JACM paper by Arden, Galler, Westervelt, and O'Brien and included both segment and page tables. The Model 67's virtual memory support was very similar to the virtual memory support that eventually became standard on the entire
System/370 line. The S/360-67 provided a 24- or 32-bit address space – unlike the strictly 24-bit address space of other S/360 and early S/370 systems, and the 31-bit address space of S/370-XA available on later S/370s. The S/360-67 virtual address space was divided into
pages (of 4096 bytes) grouped into
segments (of 1 million bytes); pages were dynamically mapped onto the processor's real memory. These S/360-67 features plus reference and change bits as part of the storage key enabled operating systems to implement
demand paging: referencing a page that was not in memory caused a
page fault, which in turn could be intercepted and processed by an operating system
interrupt handler. The S/360-67's virtual memory system was capable of meeting three distinct goals: •
Large address space. It mapped physical memory onto a larger pool of virtual memory, which could be dynamically swapped in and out of real memory as needed from random-access storage (typically: disk or drum storage). •
Isolated OS components. It made it possible to remove most of the operating system's
memory footprint from the user's environment, thereby increasing the memory available for application use, and reducing the risk of applications intruding into or corrupting operating system data and programs. •
Multiple address spaces. By implementing multiple virtual
address spaces, each for a different user, each user could potentially have a private
virtual machine. The first goal removed (for decades, at least) a crushing limitation of earlier machines: running out of physical storage. The second enabled substantial improvements in security and reliability. The third enabled the implementation of true
virtual machines. Contemporary documents make it clear that full hardware virtualization and virtual machines were
not original design goals for the S/360-67. == Features ==