Memory Management Flashcards
What is memory management for ?
Relocation of memory of each process.
A processor once done a process it allocates and recovers the space from it .
The memory for one process shouldn’t be able to access another’s process memory.
Furthermore the same memory for each process would be inefficient .
What does a system do to avoid memory fragmentation?
All of the processes memory are stacked at one end of the memory.
What happens when a text segment of a process is shared with the other processes?
It can be only read
What are the memory management techniques?
Fixed partitioning Dynamic partitioning Simple segmentation Virtual memory segmentation Simple paging Shared address with paging
Fixed partitioning :
When a process is activated a fixed allocated memory is given to each process
Problems of fixed partitioning
The entire process memory is parted into same size partitions
Halting problem
You cant predict the space needed for a process
Dynamic partitioning
The entire process memory maps into different sized partitions.
Problems with dynamic partitioning
Even though the memory is used more efficiently than fixed partitioning. There is still a halting problem to the partitions may be too big or too small .
Also memory needs to be continuously slided to get space
Simple segmentation:
Loads all process memory map segments into different sized partitions
Problem simple segmentation
Code and data can be in two different places
Virtual memory segmentation
It loads some process memory maps segments into different sized partitions
Virtual memory advantages
Cope with little memory
Virtual memory disadvantages
Not efficient due variability sized partitions