FACTOID # 16: In the 2000 Presidential Election, Texas gave Ralph Nader the 3rd highest popular vote count of any US state.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Virtual address space

Virtual address space (abbreviated VAS) is a memory mapping mechanism available in modern operating systems such as OpenVMS, Unix, Linux, and Windows NT. In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. ... OpenVMS (Open Virtual Memory System or just VMS) is the name of a high-end computer server operating system that runs on the VAX and Alpha family of computers developed by Digital Equipment Corporation of Maynard, Massachusetts (now owned by Hewlett-Packard), and more recently on Hewlett-Packard systems built... Wikibooks has more about this subject: Guide to Unix Unix or UNIX is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T Bell Labs employees including Ken Thompson, Dennis Ritchie, and Douglas McIlroy. ... Tux the penguin, based on an image created by Larry Ewing in 1996, is the logo and mascot of Linux. ... Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. ...


Overview

When you run an application on a 32-bit operating system (OS), the OS creates a new process for it. This process has a 4GB VAS: each one of the memory addresses (from 0 to 232-1) in that space can have a single byte as value. Initially, none of them has values. An operating system is a special computer program that manages the relationship between application software, the wide variety of hardware that makes up a computer system, and the user of the system. ... A gigabyte (derived from the SI prefix giga-) is a unit of information or computer storage equal to one billion bytes. ... In computer science, a memory address is a unique identifier for a memory location at which a CPU or other device can store a piece of data for later retrieval. ... A byte is commonly used as a unit of storage measurement in computers, regardless of the type of data being stored. ...


Virtual memory is easiest to comprehend if one thinks in terms of the VAS, and not the physical memory of the machine nor the size of its page file. Byte values in the VAS come only from byte values in a file. The OS manages the mapping between the VAS and the files that hold its values. The memory pages of the virtual address space seen by the process, may reside non-contiguously in primary, or even secondary storage. ... It has been suggested that this article or section be merged with Primary storage. ... Alternate meanings: See paging (telecommunications). ... A computer file is a collection of information that is stored in a computer system and can be identified and referenced in its entirety by a unique name. ...


Physical memory comes in various flavors: on-chip cache, off-chip cache, and system memory. As far as the process is concerned, system memory is just another level of cache used by the OS. System memory has a lot to do with performance, but nothing to do with the architecture of a process. The process architecture is based on the VAS. Physical memory is used by the OS to map values from file bytes to VAS addresses: process memory is VAS memory, not physical memory. Diagram of a CPU memory cache A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access memory based on memory locality feature of most computer programs. ... To meet Wikipedias quality standards, this article or section may require cleanup. ...


(In the following description, the terminology used will be particular to the Windows NT OS, but the concepts are applicable to other virtual memory operating systems)


When a process starts it has a 4GB VAS with no values. The -'s in the VAS line have no values. Using or setting values in such a VAS would cause a memory exception. In computer storage technology, a page fault is an interrupt (or exception) to the sofware raised by the hardware, when a program accesses a page that is not mapped in physical memory. ...

 0 4GB VAS |----------------------------------------------| 

Then the application's EXE file is mapped into the VAS. Addresses in the process VAS are mapped to bytes in the exe file. The OS manages the mapping: EXE is the common filename extension for denoting an executable file (a program) in the MS-DOS and Microsoft Windows operating systems. ...

 0 4GB VAS |---vvvvvvv------------------------------------| mapping |-----| file bytes app.exe 

The v's are values from bytes in the mapped file. Then, required DLL files are mapped (this includes custom librabies as well as system ones such as kernel32.dll and user32.dll): Dynamic-link library (DLL), also referred to as dynamic link library (without the hyphen), is Microsofts implementation of the shared library concept in the Microsoft Windows operating systems. ...

 0 4GB VAS |---vvvvvvv----vvvvvv---vvvv-------------------| mapping ||||||| |||||| |||| file bytes app.exe kernel user 

The process then starts executing bytes in the exe file. However, the only way the process can use or set '-' values in its VAS is to ask the OS to map them to bytes from a file. A common way to use VAS memory in this way is to map it to the page file. The page file is a single file, but multiple distinct sets of contiguous bytes can be mapped into a VAS:

 0 4GB VAS |---vvvvvvv----vvvvvv---vvvv----vv---v----vvv--| mapping ||||||| |||||| |||| || | ||| file bytes app.exe kernel user system_page_file 

And different parts of the page file can map into the VAS of different processes:

 0 4GB VAS 1 |---vvvv-------vvvvvv---vvvv----vv---v----vvv--| mapping |||| |||||| |||| || | ||| file bytes app1 app2 kernel user system_page_file mapping |||| |||||| |||| || | VAS 2 |--------vvvv--vvvvvv---vvvv-------vv---v------| 

Allocating memory via system calls such as C's malloc implicitly maps bytes of the page file into the VAS. However, a process can also explicitly map file bytes (see memory-mapped files). In computing, a system call is the mechanism used by an application program to request service from the operating system, or more specifically, the operating system kernel. ... The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language is a low-level standardized programming language developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the... In computing, malloc is a subroutine provided in the C programming languages standard library for performing dynamic memory allocation. ...


References

  • "Advanced Windows" by Jeffrey Richter, Microsoft Press

  Results from FactBites:
 
Address space - Wikipedia, the free encyclopedia (294 words)
In the analogy of a person's address, the address space would be an area of locations, such as a neighborhood, town, city, or country.
In general, things in one address space are physically in a different location than things in another address space.
For example, virtual-to-physical address translation is necessary to translate addresses in the virtual memory address space to addresses in physical address space -- one physical address, and one or more numerically different virtual address, all refer to the same physical byte of RAM.
Virtual address space - Wikipedia, the free encyclopedia (491 words)
Virtual address space (abbreviated VAS) is a memory mapping mechanism available in modern operating systems such as OpenVMS, Unix, Linux, and Windows NT.
Virtual memory is easiest to comprehend if one thinks in terms of the VAS, and not the physical memory of the machine nor the size of its page file.
Addresses in the process VAS are mapped to bytes in the exe file.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m