wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Memory Management in Operating System

profile
Rishi Chauhan
Jul 04, 2024
0 Likes
0 Discussions
63 Reads

Memory management in an Operating System (OS) plays very important role in allocating memory, for using memory very efficiently or for protection of primary memory (i.e. RAM) while program is being executed. It involves managing both primary memory (RAM) and secondary memory (Solid State Drive and Hard Disk Drive). 

Importance of Memory Management :

  1. Allocating Memory : Allocating memory is important because when you install or run a program managing memory is very important. Operating System (OS) maintains track of free memory and allocates them when required. this memory allocation can be contigous (continous blocks) or non contigous (not in continous blocks seprated in memroy) both have their own advantages and disadvantages.
  2. Multitasking and Virtual Memory : To enable effiicient multitasking, operating system introduces to virtual memory technique. Virtaul memroy creates an illusion of larger memory space than physically available by utilizing secondary storage (i.e. Hard disk drive) for extending RAM. It does it by swapping temporarily  less used portions of programs to virtual memory freeing up the space of RAM for active processes. This allows the system to run multiple programs more effectively by exceeding the physical memory RAM capacity.
  3. Memory Sharing : Memory management enables sharing of memory between different processors giving them access to modify the same memory. This can help in preventing data redundancy (i.e. multiple copy of same data).It enhance the performance of applications that rely heavily on data exchange or coordinated access to common resources.

Memory Management Techniques : 

  1. Contiguous Memory Allocation : In contiguous memory allocation to process is in continous order i.e. a single contiguous block of memory. This means all memroy is assigned to a process are in a continous range. In Programming array is a good example of this in array memroy stored is in contiguous (conitnous) format. As it is contiguous it is easy to implement and calculating address is simple as compared to non contiguous. As all memory is contiguous accessing memory is fast. But as it is contiguous it is hard to allocate memory i.e. it is hard to find free conotiguous memory space. And it is also not flexible as if there is somthing stored next to that contiguous memory it will be hard to extend it.
  2. Non Contiguous Memory Allocation : In non contiguous memory allocation to process is in different locations i.e. memory is not next to it like in contiguous memory allocation i.e. blocks can be placed anywhere in physical memory. As memory is non contiguous memory utilization is efficient and it is also flexible as memroy is stored in different locations. Memory isolation is easier to implement as every memroy is at different locations so it will be hard to access the memory. But there are some limitations too like it increases the complexity and also calcualting the address is difficult as compared to contiguous memory allocation.

Comments ()


Sign in

Read Next

Topic: Sessions in Operating system

Blog banner

Virtual machine.

Blog banner

BLOCKCHAIN MACHANISM

Blog banner

A small world of Sockets

Blog banner

Operation system

Blog banner

Types of Threads

Blog banner

PERSONALITY DEVELOPMENT

Blog banner

Different memory allocation strategies

Blog banner

Metasploit

Blog banner

SQL Injection

Blog banner

My First Dream Bike

Blog banner

BUFFER OVERFLOW_142

Blog banner

What is process

Blog banner

EVOLUTION OF THE MIRCOPROCESSOR

Blog banner

Tracking Emails & Email Crimes

Blog banner

AI and Technology- Related Anxiety: Understanding the Psychological Impact of Living in an AI-Driven World

Blog banner

Deadlocks in Operating System

Blog banner

Why Consistency in Eating Habits Matters and How Meal Maharaj Makes It Easy

Blog banner

How To Invest in Indian Stock Market For Beginners. ~ Tutorial 2 (NSDL And CSDL) Continued...

Blog banner

History of ITIL

Blog banner

Memory input output management

Blog banner

GraphQL

Blog banner

Question

Blog banner

Message Passing in OS

Blog banner

'C', 'C++' and 'Java': Head-to-Head

Blog banner

How Social Media Algorithms Will Work in 2026?

Blog banner

Spitting Pink in the Sink: Why Your Gums Randomly Bleed

Blog banner

Online Education

Blog banner

Threats To Computer System

Blog banner

Importance Of Education.

Blog banner

Loneliness

Blog banner

TRELLO

Blog banner

Why am I never satisfied with my Life?

Blog banner

Threads

Blog banner

CONCURRENCY: MUTUAL EXCLUSION AND SYNCHRONIZATION-het karia

Blog banner

LINUX

Blog banner

MOVEMBER

Blog banner

Sage business cloud accounting

Blog banner

The Art of Slow Fashion: Why Patola Defines Sustainable Luxury

Blog banner

Concurrency and Deadlocks

Blog banner

What is HTML?

Blog banner

Models of Information Security.

Blog banner