Memory Management
,Goals of Memory Management
Allocate available memory efficiently to
multiple processes
Main functions
Allocate memory to processes when needed
Keep track of what memory is used and what is
free
Protect one process’s memory from another
,Memory Allocation
Contiguous Allocation
Each process allocated a single contiguous chunk
of memory
Non-contiguous Allocation
Parts of a process can be allocated non-
contiguous chunks of memory
In this part, we assume that the entire process
needs to be in memory for it to run
, Contiguous Allocation
Fixed Partition Scheme
Memory broken up into fixed size partitions
But the size of two partitions may be different
Each partition can have exactly one process
When a process arrives, allocate it a free partition
Can apply different policy to choose a partition
Easy to manage
Problems:
Maximum size of process bound by max. partition size
Large internal fragmentation possible
,Goals of Memory Management
Allocate available memory efficiently to
multiple processes
Main functions
Allocate memory to processes when needed
Keep track of what memory is used and what is
free
Protect one process’s memory from another
,Memory Allocation
Contiguous Allocation
Each process allocated a single contiguous chunk
of memory
Non-contiguous Allocation
Parts of a process can be allocated non-
contiguous chunks of memory
In this part, we assume that the entire process
needs to be in memory for it to run
, Contiguous Allocation
Fixed Partition Scheme
Memory broken up into fixed size partitions
But the size of two partitions may be different
Each partition can have exactly one process
When a process arrives, allocate it a free partition
Can apply different policy to choose a partition
Easy to manage
Problems:
Maximum size of process bound by max. partition size
Large internal fragmentation possible