We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 8
What is Virtual Memory?
Virtual Memory is a storage mechanism which offers user anillsion of having a very big main
memory. Its done by treating a part of secondary memory asthe main memory. In Virtual memory, the
user can store processes with a bigger size than the available main memory.
loads the various parts of
Therefore, instead of loading one long process in the main memory, the OS
more than one process in the main memory. Virtual memory is mostly implemented with demand
paging and demand segmentation.
Why Need Virtual Memory?
Here, are reasons for using virtual memory:
Whenever your computer doesn't have space in the physical memory it writes what it
needs to remember to the hard disk in a swap file as virtual memory.
Ifa computer running Windows needs more memory/RAM, then installed in the system,
ituses a small portion of the hard drive for this purpose.
How Virtual Memory Works?
Inthe modern world, virtual memory has become quite - 2mmon these days. Its used
whenever some pages require to be loaded in the main memory for the execution, and
the memory is not available for those many pages.
So, in that case, instead of preventing pages from entering in the main memory, the OS.
searches for the RAM space that are minimum used in the recent times or that are not
referenced into the secondary memory to make the space for the new pages in the main
memory.
Let's understand virtual memory management with the help of one example.
rbd emg
For example: Viet) treme.
Let’s assume that an OS requires 300 MB of memory to store all the running programs.
However, there’s currently only 50 MB of available physical memory stored on the RAM.
The 05 will then set up 250 MB of virtual memory and use a program called the Virtual
Memory ManageriVMM) to manage that 250 MB.So, in this case, the VMM will create a file on the hard disk that is 250 MB in size to
store extra memory that is required.
The OS will now proceed to address memory as it considers 300 MB of real
Memory stored in the RAM, even if only 50 MB space is available.
Itis the job of the VMM to manage 300 MB memory even if just 50 MB of real
memory space is available.
What is Demand Paging?
Main memory Secondary Memory
Process1
swap IN
Process2 :
Swap Out
‘Ademand paging mechanism is very much similar to a paging system with swapping
where processes stored in the secondary memory and pages are loaded only on demand,
not in advance.
So, when a context switch occurs, the OS never copy any of the old program's pages from
the disk or any of the new program's pages into the main memory. Instead, it will start
executing the new program after loading the first page and fetches the program's pages,
which are referenced.During the program execution, if the program references a page that may not be
available in the main memory because it was swapped, then the processor considers it
as an invalid memory reference. That's because the page fault and transfers send control
back from the program to the OS, which demands to store page back into the memory.
Types of Page Replacement Methods
Here, are some important Page replacement methods
FIFO
Optimal Algorithm
LRU Page Replacement
FIFO Page Replacement
FIFO (First-in-first-out) is a simple implementation method. In this method, memory
selects the page for a replacement that has been in the virtual address of the memory for
the longest time.
Features:
Whenever a new page loaded, the page recently comes in the memory is removed.
So, it is easy to decide which page requires to be removed as its identification
number is always at the FIFO stack.
The oldest page in the main memory is one that should be selected for
replacement first.
Optimal Algorithm
The optimal page replacement method selects that page for a replacement for which the
time to the next reference is the longest.
Features:
Optimal algorithm results in the fewest number of page faults. This algorithm is
difficult to implement.
‘An optimal page-replacement algorithm method has the lowest page-fault rate of
all algorithms. This algorithm exists and which should be called MIN or OPT.
Replace the page which unlike to use for a longer period of time. It only uses the
‘time when a page needs to be used.LRU Page Replacement
The full form of LRU is the Least Recently Used page. This method helps OS to find page
usage over a short period of time. This algorithm should be implemented by associating
accounter with an even- page.
How does it work?
Page, which has not been used for the longest time in the main memory, is the one
that will be selected for replacement.
Easy to implement, keep a list, replace pages by looking back into time.
Features:
The LRU replacement method has the highest count. This counter is also called
aging registers, which specify their age and how much their associated pages
should also be referenced.
The page which hasn't been used for the longest time in the main memory is the
one that should be selected for replacement.
Italso keeps a list and replaces pages by looking back into time.
Fault rate
Fault rate is a frequency with which a designed system or component fails. It is expressed
in failures per unit of time. Itis denoted by the Greek letter ? (lambda).
Advantages of Virtual Memory
Here, are pros/benefits of using Virtual Memory:
Virtual memory helps to gain speed when only a particular segment of the
program is required for the execution of the program.
Itis very helpful in implementing a multi programming environment.
It allows you to run more applications at once.
Ithelps you to fit many large programs into smaller programs.
Common data or code may be shared between memory.
Process may become even larger than all of the physical memory,
Data / code should be'read from disk whenever required.
The code can be placed anywhere in physical memory without requiring
relocation.More processes should be maintained in the main memory, which increases the
effective use of CPU.
Each page is stored on a disk until itis required after that, it will be removed.
Itallows more applications to be run at the same time.
There is no specific limit on the degree of multi programming.
Large programs should be written, as virtual address space available is more
compared to physical memory.
Disadvantages of Virtual Memory
Here, are drawbacks/cons of using virtual memory:
Applications may run slower if the system is using virtual memory.
Likely takes more time to switch between applications.
Offers lesser hard drive space for your use.
Itreduces system stability.
It allows larger applications to run in systems that don’t offer enough physical RAM
alone to run them.
It doesn’t offer the same performance as RAM.
Itnegatively affects the overall performance of a system.
Occupy the storage space, which may be used otherwise for tong term data
storage.
Summary:
Virtual Memory is a storage mechanism which offers user an illusion of having a
very big main memory.
Virtual memory is needed whenever your computer doesn’t have space in the
physical memory
‘Ademand paging mechanism is very much similar to a paging system with
swapping where processes stored in the secondary memory and pages are loaded
only on demand, not in advance.
Important Page replacement methods are 1) FIFO 2) Optimal Algorithm 3) LRU
Page Replacement.
In FIFO (First-in-first-out) method, memory selects the page for a replacement that
has been in the virtual address of the memory for the longest time,The optimal page replacement method selects that page for a replacement for
which the time to the next reference is the longest.
LRU method helps 0S to find page usage over a short period of time.
Virtual memory helps to gain speed when only a particular segment of the
program is required for the execution of the program.
Applications may run slower if the system is using virtual memory.
Segmentation in Operating System
A process is divided into Segments. The chunks that a program is divided into which are not
necessarily all of the same sizes dre called segments. Segmentation gives user's view of the process
which paging does not give, Here the user’s view is mapped to physical memory.
‘There are types of segmentation:
1, Virtual memory segmentation —
Each process is divided i
10 a number of sezments, not all of which are resident at any one point in
ie.
2. Simple segmentat
Each process is divided into a number of segments, all of which are loaded into memory at run
time, though not necessarily contiguously
‘There is no simple relationship between logical addresses and physical addresses in segmentation. A
table stores the information about all such segments and is called Segment Table.
Segment Table —It maps two-dimensional Logical address into one-dimensional Physical address. It's
each table entry has:
+ Base Address:It contains the starting physical address where the segments reside in memory.
It specifies the length of the segment.coo
Translation of Two dimensional Logical Address to one dimensiowal Physical Address,
—+
fies
Loglal Adress
Seamert Table
‘Address generated by the CPU is divided into:
a4 ace Add
ace Ad Limit
Psi Address Space
‘+ Segment number (s): Number of bits required to represent the segment.
‘+ Segment offset (d): Number of bits required to represent the size of the segment,
Advantages of Segmentation ~~
+ No Internal fragmentation.
“+ Segment Table consumes less space in comparison to Page table in paging.
Disadvantage of Segmentation —