29
votes
Was there a clearly identifiable "first computer" to use or demonstrate the use of virtual memory?
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 ...
26
votes
How did Unix handle multiprocessing when virtual memory didn't exist?
Several points:
Process isolation does not require paged virtual memory. One possibility is a simple relocation register, where program-virtual addresses have the content of a relocation register ...
23
votes
How did the Sun-1 handle page faults despite having the original 68000 processor?
I haven't looked at the relevant versions of SunOS, so I can't say for sure which method they chose, but I'm aware of three methods for dealing with this problem.
The first method uses two CPUs. You ...
23
votes
Accepted
Did Cray computers use virtual memory?
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 ...
22
votes
Accepted
What was the first microprocessor to support full virtualization?
Full, hardware-assisted virtualisation, with the intention of supporting hypervisors running operating systems without requiring para-virtualisation, was added to micro-processors relatively recently. ...
19
votes
How did Unix handle multiprocessing when virtual memory didn't exist?
Continuing on from another-dave's excellent answer, here is another strategy that was and still is actually employed in real-world systems to implement process isolation without virtual memory: ...
19
votes
Belated ascendancy of dynamic linkers
I have to disagree, to some extent, with the framing of your question. While it is correct that limited RAM in early micros made it a valuable resource to conserve, it is not the case that shared code ...
18
votes
Accepted
Why did Mac OS 7 perform poorly with virtual memory enabled?
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 ...
14
votes
Why did Mac OS 7 perform poorly with virtual memory enabled?
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 ...
13
votes
Was there a clearly identifiable "first computer" to use or demonstrate the use of virtual memory?
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 ...
10
votes
Did Cray computers use virtual memory?
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 ...
8
votes
Did Cray computers use virtual memory?
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 ...
8
votes
What was the first microprocessor to support full virtualization?
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 ...
7
votes
virtual addressing in device drivers
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,...
7
votes
Can you write to the GDT on Windows 95 from protected mode? Why, and how?
Due to being required to run in 4Mb of RAM, a number of security protections were compromised. As a result, those tables were indeed writable. The CIH virus took advantage of this, for example, by ...
6
votes
Belated ascendancy of dynamic linkers
On the BESM-6 (a 1960s Soviet mainframe) the most widespread programming environment was dynamically linking by default. Directly loaded application executables were not typically pre-built; the "...
5
votes
Accepted
How I can install Windows 98SE in Hyper-V, but can't run it after
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 ...
5
votes
Was there a clearly identifiable "first computer" to use or demonstrate the use of virtual memory?
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 ...
4
votes
Why did Mac OS 7 perform poorly with virtual memory enabled?
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 ...
4
votes
Belated ascendancy of dynamic linkers
The question seems to cover multiple areas at once, including
Dynamic linking at load time by the OS
Runtime linking controlled by the application
Shared libraries, in form of system-wide (or per-...
3
votes
An idea about memory management
This is not exactly on target. But then, the focus of your question was somewhat unclear. Back in 1971-72, I worked with four other people to build a language called Muddle, or later MDL. This was ...
3
votes
Why did Mac OS 7 perform poorly with virtual memory enabled?
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 ...
3
votes
Was there a clearly identifiable "first computer" to use or demonstrate the use of virtual memory?
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 ...
2
votes
virtual addressing in device drivers
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, ...
2
votes
What was the first microprocessor to support full virtualization?
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 ...
2
votes
Belated ascendancy of dynamic linkers
Without virtual memory, you basically must have all library code loaded into physical memory at once to use dynamic linking. Systems using processors that supported virtual memory were uncommon before ...
1
vote
How did the Sun-1 handle page faults despite having the original 68000 processor?
The original Stanford University Network computer design used a 68000. Several companies (Callan, Pacific Microcomputers, SUN, maybe others) marketed computers based on the Stanford design. I used ...
1
vote
XMS function 0Ch "Lock Extended Memory Block"
XMS driver function AH = 00h queries the XMS version.
The function is mainly used to get the version of which XMS specification the driver implements and it is returned in AX.
So that can be used to ...
1
vote
Belated ascendancy of dynamic linkers
With single-user (non-multi-tasking systems) systems, an application could use any memory that hadn't been allocated before it launched, and any such memory that an application didn't use would ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
virtual-memory × 12history × 3
protected-mode × 2
hardware × 1
ms-dos × 1
programming × 1
keyboards × 1
ibm × 1
cpu × 1
unix × 1
memory-layout × 1
hard-disk × 1
windows-98 × 1
software-development × 1
windows-3.x × 1
mac-os-classic × 1
windows-95 × 1
microprocessor × 1
motorola-68000 × 1
80386 × 1
mouse × 1
motorola-680x0 × 1
cray × 1
real-mode × 1
link-editor × 1