wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Memory Management in Operating System

profile
Neel Sanghrajka
Jul 05, 2024
0 Likes
0 Discussions
80 Reads

What is Memory Management in Operating System?

The operating system exercises control over the capabilities of random access memory (primary memory) through this mechanism. This approach is utilized to enhance memory utilization, elevate system performance, and facilitate concurrent operations.
Memory management facilitates the seamless movement of processes between primary and secondary memory. Moreover, it actively tracks the levels of available, allocated, and utilized memory.


Why use Memory Management in Operating system?

  • Every memory location’s status, including whether it is allocated or free, is monitored by memory management.
  • Computer systems can run programs that demand more main memory than is currently available on the system by using memory management. Data movement between primary and secondary memory is used to achieve this.
  • Memory management in OS takes care of the system’s main memory by offering abstractions that make the programs that are executing on the system assume they have been given a lot of memory.
  • Memory management’s responsibility is to prevent other processes from tampering with the memory that is allotted to all of the processes. If you don’t do this, the computer can behave strangely or improperly.

 

What is Paging?

A computer system may access and use memory that is larger than the memory that is built into the computer hardware. Virtual memory is the term used to describe this additional memory. The computer system employs virtual memory, which is a component of secondary memory, as its main memory. In order to implement virtual memory, paging is crucial.

Every process’s code makes use of a collection of logical addresses known as the process address space. Blocking the process address space is a memory management method called paging. The units are called "pages," and each block has the same size. A page’s size is a power of 2, and its value falls between 512 and 8192 bytes. The quantity of pages in a process is used to determine its size.

A similar division of the main memory is done into blocks of fixed size. These blocks are known as “frames” and the size of a frame is the same as that of a page to achieve optimum usage of the primary memory and for avoiding external fragmentation.

Advantages of Paging:

  • Paging reduces external fragmentation.
  • Implementing paging is simple.
  • Paging improves memory performance.
  • Swapping becomes quite easy because the dimensions of the frames and pages are the same.
  • Paging is helpful for quick data access.


What is Fragmentation?

The available free space in primary memory is divided into smaller chunks when processes are relocated to and from the main memory. This occurs when a process’s memory requirements are greater than the size of the available memory, preventing memory from being allocated to the process. Such memory chunks are never used. This problem is known as Fragmentation.

Fragmentation is of the following two types:

1. External Fragmentation:
Although there is enough free main space to accommodate all processes, it cannot be used since it is not continuous. By combining or rearranging data in memory’s free memory blocks to create a single, bigger free memory block, external fragmentation can be reduced.
2. Internal Fragmentation:
When a process is given a memory block that is bigger than what the process actually needs, internal fragmentation occurs. A portion of memory is left unused in this case since no other process will use it. By giving a process access to the lowest free memory chunk that may be allocated, internal fragmentation can be reduced.


Operating System Memory Management Techniques

Following are the three major memory management techniques used in operating systems:
1. Segmentation
A technique for breaking up the main memory into many chunks called segmentation. Every block is referred to as a segment and has a certain length. Every segment has a base address that serves as its beginning point. The quantity of free memory that is present in a segment depends on its length.


The distance between a data item’s real position and the segment base address can be used to pinpoint where any data items stored in a segment are located. An offset or displacement value is used to describe this distance. Simply said, when data has to be retrieved from a segment, the actual address of the data is determined by adding the segment’s base address and offset value.
The offset value and the base address of a segment are both specified in a program instruction itself.

2. Swapping
An operating system uses the method of swapping to manage the computer system’s memory effectively. The two jobs of switching are swapping in and swapping out. Data blocks or pages are moved from the secondary memory to the primary memory by "swapping in." Blocks or pages of data are transferred from the main memory to the read-only memory (R.O.M.) during swapping. Swapping is helpful when running a large application or carrying out an operation on a huge file.


Conclusion
In the realm of operating systems, memory management plays a pivotal role in ensuring efficient and effective utilization of a computer system’s memory resources. It encompasses techniques and strategies that enable the seamless movement of processes between primary and secondary memory, all while optimizing memory allocation, system performance, and concurrency. The concept of virtual memory extends the usable memory beyond physical limitations, enhancing the system’s capabilities. However, challenges such as fragmentation can arise, necessitating careful management strategies

 


Comments ()


Sign in

Read Next

IOT Hacking Techniques

Blog banner

Precision-Recall in Data Science

Blog banner

5 Things I As A Dentist Would Never Do (And What You Can Learn From It)

Blog banner

Memory Management

Blog banner

Benefits of Yoga

Blog banner

Cache Memory

Blog banner

Models of Information Security.

Blog banner

Lemon and Chilli Pickle (Limbu Mirchi Achar)

Blog banner

Crypto tax evasion

Blog banner

Hey Aryan here

Blog banner

BLOCKCHAIN MACHANISM

Blog banner

Consumer to consumer Business model

Blog banner

1.1 basic elements

Blog banner

Understanding Portion Control: How Much Food Do You Really Need?

Blog banner

MPL and how its effects?

Blog banner

1 Dentist in Maroubra, Sydney and her 10 obsessions

Blog banner

Rain

Blog banner

Evolution of Operating System

Blog banner

Race Condition in Operating Theatre

Blog banner

Oracle Corporation

Blog banner

Workplace mental health: A Psychological Perspective on Employee Well-being and Organizational Growth

Blog banner

Python as a tool for Data science task & project

Blog banner

Clarizen

Blog banner

PHISHING

Blog banner

Culture Of Ladakh

Blog banner

Multicore and Multithreading

Blog banner

What is process

Blog banner

Deadlock

Blog banner

Is Social Media Marketing The Next Wave Of Digital Marketing?

Blog banner

Big O Notation

Blog banner

Linux Virtual Machine Process Scheduling

Blog banner

Deadlock

Blog banner

Memory Management of Operating System(OS)

Blog banner

Festive Ethnic Wear Guide: Patola-Inspired Looks for Every Celebration

Blog banner

Decoding the Weave — How to Identify Original Patola Art on a Fabric

Blog banner

VIRUS

Blog banner

Types of OS

Blog banner

HubSpot

Blog banner

The Benefits of Practical Life Activities in Preschool

Blog banner

What is E-commerce

Blog banner

Unlocking Success: Mastering Google Ads Strategies

Blog banner

The functions of operating system

Blog banner