Overview
ABSTRACT
This article describes the principles and implementations of virtual memories. The virtual memory provides the user with a huge memory space without having to worry about the size and nature of the physical memories actually implemented. Its programs are protected against interaction with other programs. The virtual memory can be decomposed into segments or ?flat?. In both cases, the virtual space is decomposed into fixed size pages and mechanisms are used to translate virtual addresses into physical addresses.
Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.
Read the articleAUTHORS
-
Daniel ETIEMBLE: Engineer INSA Lyon - Professor at Université Paris Sud
-
François ANCEAU: Engineer INPG Grenoble - Professor CNAM Emeritus
INTRODUCTION
This article describes the principles and implementations of virtual memory, which is the level of the memory hierarchy between main memory and secondary memories (magnetic disks).
Virtual memory plays a dual role. On the one hand, it provides the user with virtually unlimited memory space, without having to worry about the size and nature (DRAM or disks) of the physical memories actually implemented, while being protected against voluntary or involuntary interactions from other programs, whether their own or those of other users. On the other hand, it carries out, by hardware and software under the control of the operating system, the necessary transfers between the main memory and the secondary memories when the necessary code or data are not in the main memory.
Virtual memory space can be structured or unstructured. Structuring can be achieved in different ways: segmentation in assembler, segmentation as address extension or segmentation of machine systems. Without structuring, the space is said to be "flat". Since 32-bit processors, virtual space, whether segmented or not, is divided into pages of fixed size. Paginated flat systems are first presented, with techniques for address translation (direct page tables, reverse page tables using hashing, TLB to speed up translations) and page-level protection. The various replacement algorithms are explained. Next, systems with segmentation and pagination, characteristic of machine systems, are presented first in the general case, then illustrated in the case of IA-32 architectures, which use a very pure approach to paginated segmentation.
This is followed by a look at how the best-known operating systems implement virtual memory. Multics used paginated segmentation. VAX-VMS, on the other hand, used a flat virtual memory for which the notion of segments corresponded to super-pages used as address space extensions. Windows systems are significant examples of the evolution of virtual memory. From the initial Windows 1 version to Windows Millenium, successive systems used the paginated segmentation implemented in the various IA-32 processors. However, the Windows NT version developed in parallel from 1993 onwards used a flat system, designed to be portable with micronuclei and HAL (hardware adaptation layer), notably on RISC processors which do not use segmentation. Millenium was the last product in the range to use segmentation. 64-bit versions since Windows XP use flat mode. Linux uses flat mode.
The history of virtual memories is the birth, life and death of segmentation. It disappeared in 64-bit versions, replaced by flat addressing.
Exclusive to subscribers. 97% yet to be discovered!
You do not have access to this resource.
Click here to request your free trial access!
Already subscribed? Log in!
The Ultimate Scientific and Technical Reference
KEYWORDS
virtual memory | physical memory | virtual address | logical address | segmentation | pagination | address translation | page table | TLB | replacement algorithms | Computer | operating systems
This article is included in
Software technologies and System architectures
This offer includes:
Knowledge Base
Updated and enriched with articles validated by our scientific committees
Services
A set of exclusive tools to complement the resources
Practical Path
Operational and didactic, to guarantee the acquisition of transversal skills
Doc & Quiz
Interactive articles with quizzes, for constructive reading
Memory hierarchy: virtual memory
Bibliography
Exclusive to subscribers. 97% yet to be discovered!
You do not have access to this resource.
Click here to request your free trial access!
Already subscribed? Log in!
The Ultimate Scientific and Technical Reference