What does memory managment mean?
When memory needs to be allocated / de-allocated
How is memory managment done?
It is done before loading a new process and during execution (allocated, reallocated, de-allocated)
What issues does memory managment have?
What is paging?
When RAM is divided into pages which are swapped to and from disks
Advantages of Paging
Disadvantages of Paging
What is a memory map table (MMT)
A method that keeps track of page frames in memory and translates virtual addresses into physical addresses
What happens if a virtual address found in MMT?
Use that address
What happens if a virtual address isn’t found in MMT?
It generate ”page fault”
What happens when page fault is generated?
What is a bit map?
Memory is divided into small units. A bit map keeps tracks of which pages are allocated and
which are free
What is a linked list?
When memory is divided into variable sized blocks called free blocks and occupied blocks (used by a process)
What does a node in a linked list contain?
What are the types of linked list?
What is a allocated list?
A list with all used memory blocks
What is a free list and where can it be implemented ?
A list with all available free blocks (“holes”)
In a linked list how is memory allocated?
In a linked list how is memory deallocated?
What are the algorithims used in dynamic memory?
What is a first fit?
Choose the first big enough (results in cluster of tiny blocks at the front)
What is a next fit?
Start where prev. left off to spread (memory compaction difficult and expensive)
What is a best fit?
Search whole list, chose best fit (results in a large linked list of tiny unusable holes)
What is a worst fit?
Search whole list, split the worst fit
What is a quick fit?
Maintains separate list of common sizes (sorted by size)