Anda di halaman 1dari 3

NUST School of Electrical Engineering & Computer Science

Virtual Memory Management


Muhammad Rizwan Javed(283)

Muhammad Faizan Khan(278)

Bachelors of Information & Communication System Engineering

NUST-SEECS

as many addresses as main memory. A


program can not be fit into a main memory
Abstract: at once that is using all of virtual memory.
Recent technological advances in Such program can be executed by copying
memory management architectures, those portions of the program needed at any
multiprocessor systems, and software given point during execution into main
memory.
architectures dictate a reevaluation of
the virtual memory management
support provided by an operating
system. This paper describes the
implementation of virtual memory in
different operating systems, i.e. Linux,
Mach, Windows and android. Similarly
these operating systems are directly
interacted with multiprocessor systems,
embedded systems.
The operating system breaks virtual memory
into pages in order to facilitate the virtual
memory to be copied into real memory.
1. Introduction
These pages contain a fixed number of
addresses. Before execution each page is
As we know that an integral part of stored on the hard disk. When there is a
computer architecture is Virtual memory. requirement of new page, the operating
The sole purpose of virtual memory is to system copies it from disk to main memory,
increase the address space so that a program then translates its virtual addresses into real
can utilize more set of addressees. For addresses.
example, virtual memory can contain twice

1
NUST School of Electrical Engineering & Computer Science

Mapping is the process of translating virtual message passing and particular


addresses into real addresses. Swapping is configuration of a distributed-memory is
actually the copying of virtual pages stored hypercube. Here comes the concept of nodes
on hard disk to main memory. which are actually processor/memory pairs
and are connected to each other so that these
can establish binary N-cube. Normally most
2. Discussion and Analysis: of hypercube programs are structured in
When the process is loaded the specific way that all nodes possess the same
system will copy the application data and its copy of program, as well as that of node
respective instruction into main memory operating system. This leads to huge
from hard disk. In this way, the system can wastage of memory, which results limitation
easily take advantage of its resources such in size and complexity of hypercube
as CPU to process and execute it. The application programs. One simple solution
system starts moving data & instruction that to this problem is by implementation of VM
need not to be processed further into VM on the hypercube, in which each node
once the system memory gets filled up. It performs the operation of demand paging for
will be doing this until those data and usage of page that is not resident to that
instruction are needed to process again. So node.Similarly,it copies operating system
the system can check & call the new program and the node that is distributed
instruction &application data and then copy among all the nodes of the hypercube.
it into the main memory, so that system can Parallel processing is of common use today.
process the rest information and load the It can be handled at two levels. First,
program. When there is need of processing protection primitives and flexible sharing
data and instruction again that is in VM, the provide enough support for high-
system will first check for its space in the performance parallel applications. Second, is
main memory. The data and instruction will that of VM. This technique is fully parallel,
get swapped into the main memory if is which allows efficient execution on parallel
there is enough room for it. At the other end processors.
if there is no space left for the main
memory, the system will check the main
memory first and then move any data and Virtual Memory in Embedded system
instructions those are not needed into the Virtual memory is not used in other
Virtual Memory. It then swaps the special-purpose and embedded systems
respective data and instruction into main computer systems that require very fast and
memory from VM those which need to be very consistent response times due to
processed. decreased determinism. Virtual memory
systems produce unpredictable interrupts
that can produce unwanted "jitter" during
Virtual Memory in Multiprocessors I/O operations. That is why embedded
A very good representation of hardware costs are kept low by
multiprocessors having characteristics of implementing all such operations with
software instead of using dedicated
2
NUST School of Electrical Engineering & Computer Science

hardware. There is a little use for translate these virtual addresses into
multitasking features or complicated physical addresses, so that the right section
memory hierarchies in embedded systems. of RAM is accessed.
The interaction with MMU is done with the
help of Zoned Buddy Allocator, which
Virtual Memory in Mach OS provides valid pages when the kernel asks
Mach offers advanced use of virtual for them. It keeps track of different
memory by providing powerful internal categories of memory addresses and
primitives that allow for virtually arbitrary manages lists of pages.
mapping relations to be created. Shared The Slab Allocator is another layer in front
memory and support for file mapping have of the Buddy Allocator, and provides the
all been provided. ability to create cache of memory objects in
memory.

Virtual Memory in Android OS


In order to give more demanding 3. Conclusion:
applications and more heap space to android It is concluded that virtual memory is
Operating systems, VM Heap Tool is used. of much importance in operating systems to
VM Heap Tool allows changing the virtual increase the performance of computers.
memory heap size, decreasing the frequency Virtual memory is nothing but a file in hard
of garbage collection and giving apps more disk. When there is an excessive usage of
heap space. The app facilitates to easily RAM, Programs which having least priority
change the VM heap size without using any will reside on hard disk and it execute from
adb commands. hard disk only but not in RAM.
VM Heap Tool can modify a variable that
can affect the stability of the system.
4. References:
Virtual Memory in Linux 1. Machine-Independent Virtual Memory
VM is also of much importance in Management for Paged Uniprocessor and
Linux. It supports virtual memory, that is, Multiprocessor - Architectures
usage of disk as RAM extension for RICHARD RASHID, AVADIS TEVANIAN, JR.,
effective processing. Here Kernel plays MICHAEL YOUNG, DAVID GOLUB, ROBERT
important role as it will write the contents of BARON, DAVID BLACK, WILLIAM J. BOLOSKY,
AND JONATHAN CHEW
a block of memory which is currently
unused to the hard disk so that the memory 2. Virtual Memory for a Hypercube
can be used for another purpose. MMU is Multiprocessor
Joan M. Francioni ,David A. Poplawski,
involved in every VMM except disk
Seema Pahwa
subsystem. Virtual addresses can be
Department of Computer Science Michigan
accessed by the MMU which allows the
Technological University ,Houghton
operating system by using data structures to
track these translations. Its main job is to 3. http://www.androidng.com

Anda mungkin juga menyukai