wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Virtual Memory

profile
Dhanish undefined
Aug 15, 2024
0 Likes
0 Discussions
155 Reads


Virtual memory is a fundamental concept in operating systems (OS) that allows a computer to compensate for shortages of physical memory by temporarily transferring data from random access memory (RAM) to disk storage. This process creates an "illusion" for users that there is more memory available than what is physically present on the system.

Key Concepts of Virtual Memory:

  • Paging:
  • The OS divides both the physical memory (RAM) and virtual memory into fixed-size blocks called "pages."
  • When a program accesses a piece of data, the OS checks if the page containing the data is in RAM. If not, it fetches the page from disk (in an area known as the swap space) and loads it into RAM.
  • Page Table:
  • The OS maintains a page table that maps virtual addresses to physical addresses. This allows the system to keep track of where each page is stored in RAM or on disk.
  • Page Fault:
  • When a program tries to access data on a page that is not currently in RAM, a page fault occurs. The OS then retrieves the required page from disk into RAM, which may involve swapping out another page to make room.
  • Swapping:
  • Swapping is the process of moving pages between RAM and disk. When RAM is full, the OS selects certain pages (usually the least recently used) to be swapped out to disk. This frees up space in RAM for other pages that are needed immediately.
  • Advantages of Virtual Memory:
  • Efficient Memory Use: It allows multiple programs to run simultaneously without running out of physical memory.
  • Isolation: Each process gets its own virtual address space, providing protection and isolation from other processes.
  • Flexibility: Programs can be larger than the physical memory available, as the OS can swap parts of the program in and out of RAM as needed.
  • Disadvantages:
  • Performance Overhead: The process of swapping pages in and out of RAM can cause delays, especially if the system is frequently accessing data not in RAM (a condition known as thrashing).
  • Complexity: Implementing and managing virtual memory adds complexity to the OS.

How Virtual Memory Works:

  • Address Translation:
  • When a program uses a virtual address to access data, the OS translates this virtual address into a physical address using the page table.
  • Memory Allocation:
  • The OS allocates memory to processes using virtual memory. It ensures that processes do not interfere with each other's memory, providing a secure and stable environment.
  • Demand Paging:
  • The OS loads pages into memory only when they are needed, which is known as demand paging. This conserves RAM and improves efficiency.

Practical Example:

  • Imagine you have 8 GB of RAM but are running applications that require 16 GB. Virtual memory allows the OS to use disk space to store parts of these applications, making it seem like you have more RAM than you actually do. When the OS needs to access data from the applications that are not currently in RAM, it will swap them from the disk into RAM, and vice versa.

Virtual memory is essential in modern computing, enabling systems to run large and complex applications efficiently, even with limited physical memory.


Dhanish Soni

53003230069


Comments ()


Sign in

Read Next

BUFFER OVERFLOW_142

Blog banner

Volatile Memory & Non-Volatile Memory Explained

Blog banner

Understanding Univariate, Bivariate, and Multivariate Analysis in Data Science

Blog banner

Beyond the Track: Why the Best Hotel in Arcadia, Florida, Completes Your IMSA Sebring Getaway

Blog banner

Safe Learning Spaces: Why Preschool Environment Matters More Than Ever Today

Blog banner

Understanding Input Based Keylogger Activation Systems: Risks and Mitigation

Blog banner

AN EVENT-BASED DIGITAL FORENSIC INVESTIGATION

Blog banner

5 Common Faults In Construction Tenders

Blog banner

I/O Buffering

Blog banner

Cyber Forensic in the Banking sector

Blog banner

Palliative and End — of — Life Care: A Psychological and Holistic Perspective

Blog banner

Expert System In AI

Blog banner

SQL Injection Techniques

Blog banner

Dove’s Real Beauty Campaign- Case Study

Blog banner

Microsoft Word

Blog banner

Cache Memory in Operating Systems

Blog banner

LinkedIn

Blog banner

What is the point of living if we can die at any moment of our lives ?

Blog banner

BITCOIN WALLET

Blog banner

Admissions Open: Why This Is the Right Time to Choose the Best School for Your Child

Blog banner

Electronic data interchange

Blog banner

How Schools Can Reduce Exam Stress in Students?

Blog banner

Why is it hard to design an Operating Systems ?

Blog banner

Deadlock

Blog banner

The functions of operating system

Blog banner

Deadlock and Starvation

Blog banner

HUBSPOT

Blog banner

E-learning in today's world

Blog banner

OS DESIGN CONSIDERATIONS FOR MULTIPROCESSOR

Blog banner

BIRYANI ! The history you never knew about

Blog banner

Odoo

Blog banner

LIMITED EDITION

Blog banner

What Is Experiential Learning and Why Does It Work Better Than Rote Learning?

Blog banner

Direct Memory Access

Blog banner

Memory management

Blog banner

RSA (Rivest-Shamir-Adelman) Algorithm

Blog banner

The Power of Cyber Forensic in Solving Crimes

Blog banner

Interrupts in operating system.

Blog banner

Importance of internet

Blog banner

What is semaphore in operating system?

Blog banner

File and File System Structure

Blog banner

Data Mining

Blog banner