Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Table of contents
1.
Introduction
2.
Paging
2.1.
Advantages of Paging
2.2.
Disadvantages of Paging
3.
Swapping
3.1.
“Also See, Internal and External Fragmentation“
3.2.
Advantages of Swapping
3.3.
Disadvantages of swapping
4.
Difference Between Paging and Swapping
5.
Frequently Asked Questions
5.1.
What is the difference between paging and segmentation?
5.2.
What is memory management in Operating System?
5.3.
What is the basic function of paging?
5.4.
Differentiate between internal and external fragmentation.
6.
Conclusion
Last Updated: Mar 27, 2024

Difference between Paging and Swapping

Author SAURABH ANAND
1 upvote
Master Python: Predicting weather forecasts
Speaker
Ashwin Goyal
Product Manager @
Operating Systems

Introduction

The operating system occupies a portion of memory in a multiprogramming computer, while the remainder is shared among several processes. Memory management is the practice of dividing memory across many operations. Memory management is a way of managing actions between main memory and disk during process execution in the operating system. The primary goal of memory management is to maximize memory use. Paging and swapping are two different kinds of memory management techniques.

In this tutorial, we will talk about the concept of paging and swapping and the difference between paging and swapping.

Paging

Paging is a memory management function in which a computer stores and retrieves data from a device's secondary storage to the primary storage. Memory management is an essential component of every computer system, and paging, in particular, is critical to the deployment of virtual memory.

There are two kinds of computer memory: primary memory and secondary memory. Data in primary storage is transient and regularly accessed by apps or other hardware components. It is usually kept in random access memory (RAM) for quick retrieval. Secondary storage refers to storing data in a computer over extended periods. Secondary storage is usually slower than primary storage. A solid-state drive (SDD), for example, is an example of secondary memory.

 

Illustration Image

Paging

Using this technique, the primary memory is divided into little pieces of physical memory known as frames. The size of frames in paging is fixed. The frame size must be equivalent to the page size to avoid external fragmentation and make the most of the main memory. This method facilitates faster data access.

Example: If the main memory is 16 KB and the frame memory is 1 KB. The main memory will be partitioned into 16 frames, each with 1 KB of memory.

Advantages of Paging

Here are some advantages of using the Paging method:

  • Easy to use memory management algorithm
  • No need for external fragmentation
  • Swapping is easy between equal-sized pages and page frames.

Disadvantages of Paging

Here are the drawbacks/ cons of paging:

  • This May cause Internal fragmentation
  • Page tables consume additional memory.
  • Multi-level paging may lead to memory reference overhead.
Get the tech career you deserve, faster!
Connect with our expert counsellors to understand how to hack your way to success
User rating 4.7/5
1:1 doubt support
95% placement record
Akash Pal
Senior Software Engineer
326% Hike After Job Bootcamp
Himanshu Gusain
Programmer Analyst
32 LPA After Job Bootcamp
After Job
Bootcamp

Swapping

Swapping is a memory management technique that removes inactive programs from the computer system's main memory. Any process must be executed in memory, but it can be temporarily swapped out of memory to a backup store and then brought back into memory to finish its execution. Swapping is done to ensure that other processes have enough memory to run.

Swapping in the operating system aims to access data stored on the hard disk(HDD or SSD) and bring it into RAM for usage by application programs. It's important to note that swapping is only done when data isn't available in RAM.

Swapping has been subdivided into two concepts: swap-in and swap-out.

Swap-out is a technique for transferring a process from RAM to the hard disk.

Swap-in is a technique for deleting a program from a hard disk and reinstalling it in main memory or RAM.

Illustration Image

Swapping

Also See, Internal and External Fragmentation

Advantages of Swapping

Following are the advantages of swapping.

  • It assists the CPU in managing several tasks in a single main memory.
  • Swapping aids in the creation and utilization of virtual memory.
  • Swapping allows the CPU to do numerous jobs at the same time. As a result, processes do not have to wait long to be carried out.

Disadvantages of swapping

Here are the drawbacks/ cons of paging:

  • If the computer system loses power, the user may lose all program-related information if there is a lot of swapping going on.
  • The composite technique can increase the amount of Page Faults and reduce overall processing performance if the swapping strategy is not good.
     

Check out our ultimate guided path for operating system for MCQs and Interview questions.

Difference Between Paging and Swapping

Let us see the difference between Paging and Swapping

Paging

Swapping

Paging is a memory management technique in which the computer stores and retrieves data for usage in the main memory from secondary storage. Swapping is a technique for temporarily removing inactive applications from the computer system's main memory.
More processes can be stored in the main memory using this strategy. Swapping reduces the number of processes in the main memory.
Non-contiguous memory management is followed by paging. Swapping is possible without the use of any memory management techniques.
Paging is more adaptable because it allows for the relocation of process pages. Swapping is less flexible because the entire operation goes back and forth between the main memory and the back store.
Paging occurs when a portion of a process is written to disk. When the entire operation is transferred to the disk, this is known as swapping.
For fewer workloads, the paging technique is used. For vast workloads swapping technique is used.
This method allows a process memory address area to be non-contiguous. Multiple processes can operate in parallel in the operating system with the help of Swapping.
This technique helps to implement virtual memory. Swapping helps the CPU to access processes faster.


You can also read about the interleave memory and  Memory hierarchy in computer network

Frequently Asked Questions

What is the difference between paging and segmentation?

The segmentation method is quite similar to paging; the only difference is that segments can be of any size, but pages in the paging method are always of the same size. 

What is memory management in Operating System?

Memory management regulates and coordinates computer memory by assigning memory blocks to various operating programs to improve the system's overall performance. 

What is the basic function of paging?

Paging is a memory management technique that allows a process's logical address space to be non-contiguous.

Differentiate between internal and external fragmentation.

Internal fragmentation occurs when a process is assigned to a larger memory block than what is required. Other processes will not be able to use the extra memory that has been allocated. External fragmentation occurs when a process has enough total memory to run, but the memory is not contiguous, preventing it from using it.

Conclusion

In this article, we have extensively discussed the concepts of Paging and Swapping. We started by introducing Paging and Swapping, the differences between Paging and Swapping, and finally concluded with the pros and cons of Paging and Swapping.

Recommended Articles

We hope that this blog has helped you enhance your knowledge regarding Paging and Swapping. If you would like to learn more, Do check out The Interview guide for Product Based Companies as well as some of the Popular Interview Problems from Top companies like Amazon, Adobe, Google, Uber, Microsoft, etc. on Coding Ninjas Studio.

Also check out some of the Guided Paths on topics such as Data Structure and Algorithms, Competitive Programming, Operating Systems, Computer Networks, DBMS, System Design, etc. as well as some Contests, Test Series, Interview Bundles, and some Interview Experiences curated by top Industry Experts only on Coding Ninjas Studio. Do upvote our blog to help other ninjas grow. Happy Coding!

Previous article
Demand Paging in OS (Operating System)
Next article
Memory Hierarchy
Live masterclass