26

The History section of the Wikipedia Virtual Memory page seems to have the details of this: The concept of virtual memory was first developed by German physicist Fritz-Rudolf Güntsch at the Technische Universität Berlin in 1956 in his doctoral thesis, Logical Design of a Digital Computer with Multiple Asynchronous Rotating Drums and Automatic High Speed ...


22

It is important to keep in mind that the Cray company name not only went through several hands, but it also built many vastly different machines. 'Classic' Cray machines in lineage since Cyber/CDC did not use nor support virtual memory. This goes all the way until 2003's Cray X1. In 1993 the T3D of Cray Research Inc (Without Seymour Cray involved *1) ...


21

Full, hardware-assisted virtualisation, with the intention of supporting hypervisors running operating systems without requiring para-virtualisation, was added to micro-processors relatively recently. (Many RISC-style architectures were virtualisable following Popek and Goldberg’s criteria, and were used in high-end partitionable systems, but with external ...


17

There are several reasons for the low performance of virtual memory. The implementation had a significant effect. It keeps ALL of the contents of memory in the VM Storage file, plus however much extra you've set it to, so all memory writes are also to disk also, even if not all reads are. Source Program design also affected this. Many memory-hungry ...


13

I would say poor performance was due to System 7's implementation, and the constraints needed to support existing applications/drivers/extensions. Looking through the documentation, it's not hard to see why performance could suffer. From Inside Macintosh: Memory: The Virtual Memory Manager takes special steps to avoid double page faults caused by user ...


12

IBM's original virtual memory machine was the System/360 Model 67, released in 1965, which was a variant of the Model 65 modified to add the address translation logic necessary to add virtual memory support. So virtual memory support at least predates the System/370 by that much. References: http://www.bitsavers.org/pdf/ibm/360/funcChar/GA27-2719-2_360-...


9

The book Super Computers, by V. Rajaraman (of 1999) says Cray computers, however, never provided a virtual memory system, as Cray designers were convinced that the virtual memory's disadvantages outweight its advantages. They try to provide as large a main memory as possible within the technological constraints prevailing at a given time. I am with that -...


8

The claim that Cray supercomputers still did not support virtual memory in 2011 is not true. For example, the Cray X1 System Overview, dated 2002, states that the system supports virtual memory (page 29 and elsewhere). Cray vector supercomputers, including the machines designed by Seymour Cray himself, did not support virtual memory. For example, Dennis ...


7

DEC PDP-11 and VAX systems using the Q-Bus had a 'Q-bus map' to map from the bus address space into the physical memory space. This is basically an MMU for devices. On an I/O request from a program, the driver and OS would allocate and initialize map registers, and pass the appropriate bus-virtual address to the device. It's possible for a contiguous bus-...


7

The Popek and Goldberg virtualisation requirements are usually dug out for discussions of this kind, but it is more of a quick rule-of-thumb and it turns out that doing virtualisation well requires a more than their rules, and with ingenuity one can get away with less. Ultimately, there is no single answer because it's a case of evolution with it being ...


4

Let me introduce yet another supplier of a Virtual Memory System. Tens of thousands of programmers (I'm guessing here) used VAX's VMS, which allowed RAM to be swapped in and out for temporary storage on disc. The PDP 11, which used VMS, sold over 600,000 units from the early 1970s until the 90s. Research on this machine is easy because so many people used ...


4

with system 7, one had to have an '030 or better cpu (or an 020 with PMMU, which was not very common) - Mac II was most at risk here, and then, some did drop in a PMMU, but many jumped for the IIx upgrade instead (or IIfx later on). The rule of thumb back in the day was VM was half of installed RAM with M68K. It didn't perform "poorly" - it was fine enough ...


4

I recently had the exact same problem with Win98SE on VirtualBox on an AMD CPU. There the solution was to run vBoxManage.exe modifyvm "Win98" --cpu-profile "Intel Core i5-3570" I think there is a similar option in Hyper-V to change used CPU profile.


3

Some comments on virtual memory and paging in general: Virtual memory is a means by which it can be made to appear that the computer has more memory than it actually does. The way it is implemented is with a page table. The memory is divided up into fixed sized pages (on 32 bit microprocessors, pages were always 4096 bytes in size). Memory addresses were ...


2

I'd suggest that the fact that there are two different "VM" interpretations muddies the water. Burroughs et al. had "virtual memory" implemented by transparent swapping between core and disk. The IBM 370 had "virtual machines" allowing multiple operating systems to be run on the same physical hardware (i.e. a single copy of CP hosting multiple copies of CMS)...


2

Nowadays there is such thing as IOMMU, when every device that needs to do DMA with system memory, receives essentially virtual address and the host converts that address with the help of IOMMU device, before actually going into physical memory. Therefore, we can say that PCI-express have this feature as well, though the address is irrelevant to the bus, it ...


2

What does full virtualization mean in this context? I guess a more general approach may be helpful. First off, as soon as virtualization leaves the topic of the (core) CPU, anything becomes machine and implementation specific - so it's not only relying on the CPU itself. Further, even such a virtualization does usually need an hypervisor, another OS, ...


Only top voted, non community-wiki answers of a minimum length are eligible