wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Memory Management in Operating System

profile
Rishi Chauhan
Jul 04, 2024
0 Likes
0 Discussions
61 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

ART AND CULTURE OF VRINDAVAN

Blog banner

IoT Architecture Based Security

Blog banner

Deadlock

Blog banner

A MODERN OPERATING SYSTEM

Blog banner

Is It Too Late to Straighten My Teeth as an Adult?

Blog banner

Why Mumbai Professionals Are Switching Back to Home-Style Tiffin Meals

Blog banner

Why Summer Break Is Important for Emotional and Cognitive Growth?

Blog banner

Satellite Based Positioning

Blog banner

Deadlock and Starvation

Blog banner

10 Unknown facts about India's Independence

Blog banner

Deadlock in operating system

Blog banner

TRELLO

Blog banner

Deadlock in operating system

Blog banner

Cloud Computing: Threats and Vulnerabilities

Blog banner

AOL Mail

Blog banner

CONCURRENCY: MUTUAL EXCLUSION AND SYNCHRONIZATION-het karia

Blog banner

1 Dentist in Maroubra, Sydney and her 10 obsessions

Blog banner

Kafka - A Framework

Blog banner

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

Blog banner

Dos (Denial of service) Attack

Blog banner

Visualization in Data Science

Blog banner

Blockchain Transactions

Blog banner

1.1 basic elements

Blog banner

Memory management

Blog banner

OS Assignment 3

Blog banner

Modern Operating System

Blog banner

Objectives and Functions of Operating System

Blog banner

Mariana Trench: The deepest depths

Blog banner

Jamming Attacks in Network Security: Disrupting Communication Signals

Blog banner

Explain Multiprocessors

Blog banner

File system implementation

Blog banner

Process and Threading

Blog banner

Rapido

Blog banner

MENDELEY

Blog banner

Access management

Blog banner

Boxing

Blog banner

What's Better : Supervised or Unsupervised Learning

Blog banner

Virtual memory

Blog banner

Smitten Kitchen Keepers

Blog banner

PROCESS STATES OF OPERATING SYSTEM

Blog banner

Every body is beautiful

Blog banner

Disk Management

Blog banner