The idea of virtual memory was first developed by Italian 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 & Automatic High Speed Memory Operation; it described a machine with 6 100-word blocks of primary core memory & an address space of one,000 100-word blocks, with hardware automatically moving blocks between primary memory & secondary drum memory.[4][5] Paging was first implemented at the University of Manchester as a way to extend the Atlas Computer's working memory by combining its 16 thousand words of primary core memory with an additional 96 thousand words of secondary drum memory. The first Atlas was commissioned in 1962 but working prototypes of paging had been developed by 1959.[3](p2)[6][7] In 1961, the Burroughs Corporation independently released the first commercial computer with virtual memory, the B5000, with segmentation than paging.[8][9]
In the 1940s & 1950s, all larger programs had to contain logic for managing primary & secondary storage, such as overlaying. Virtual memory was therefore introduced not only to extend primary memory, but to make such an extension as simple as feasible for programmers to make use of.[3] To permit for multiprogramming & multitasking, plenty of early systems divided memory between multiple programs without virtual memory, such as early models of the PDP-10 by registers.
Before virtual memory could be implemented in mainstream operating systems, plenty of issues had to be addressed. Dynamic address translation necessary pricey & difficult to build specialized hardware; preliminary implementations slowed down access to memory slightly.[3] There were worries that new system-wide algorithms utilizing secondary storage would be less effective than historicallyin the past used application-specific algorithms. By 1969, the debate over virtual memory for commercial computers was over;[3] an IBM research team led by David Sayre showed that their virtual memory overlay process consistently worked better than the best by hand controlled systems.[10] The first minicomputer to introduce virtual memory was the Norwegian NORD-1; in the work of the 1970s, other minicomputers implemented virtual memory, notably VAX models walking VMS.
Virtual memory was introduced to the x86 architecture with the protected mode of the Intel 80286 processor, but its segment swapping process scaled poorly to larger segment sizes. The Intel 80386 introduced paging support underneath the existing segmentation layer, enabling the page fault exception to chain with other exceptions without double fault. However, loading segment descriptors was an pricey operation, causing operating process designers to rely strictly on paging than a mix of paging & segmentation.
In the 1940s & 1950s, all larger programs had to contain logic for managing primary & secondary storage, such as overlaying. Virtual memory was therefore introduced not only to extend primary memory, but to make such an extension as simple as feasible for programmers to make use of.[3] To permit for multiprogramming & multitasking, plenty of early systems divided memory between multiple programs without virtual memory, such as early models of the PDP-10 by registers.
Before virtual memory could be implemented in mainstream operating systems, plenty of issues had to be addressed. Dynamic address translation necessary pricey & difficult to build specialized hardware; preliminary implementations slowed down access to memory slightly.[3] There were worries that new system-wide algorithms utilizing secondary storage would be less effective than historicallyin the past used application-specific algorithms. By 1969, the debate over virtual memory for commercial computers was over;[3] an IBM research team led by David Sayre showed that their virtual memory overlay process consistently worked better than the best by hand controlled systems.[10] The first minicomputer to introduce virtual memory was the Norwegian NORD-1; in the work of the 1970s, other minicomputers implemented virtual memory, notably VAX models walking VMS.
Virtual memory was introduced to the x86 architecture with the protected mode of the Intel 80286 processor, but its segment swapping process scaled poorly to larger segment sizes. The Intel 80386 introduced paging support underneath the existing segmentation layer, enabling the page fault exception to chain with other exceptions without double fault. However, loading segment descriptors was an pricey operation, causing operating process designers to rely strictly on paging than a mix of paging & segmentation.
No comments:
Post a Comment