Module 9: Introduction to Memory Management Flashcards
memory management
the technique for mapping virtual address spaces to physical memory
physical memory
memory that is directly accessible to the CPU; operates at high speed, but typically offers lower capacity than storage
disk
a storage device that uses a magnetic storage mechanism. not all data fits into physical memory, so the disk holds data until it is pulled into physical memory
fixed partition scheme
strategy for translating virtual to physical addresses in which we divide the memory into partitions such that one process is loaded per partition and queue processes that are waiting to be loaded into memory
uses a fixed offset to convert between physical and virtual addresses
base and limit registers
strategy for translating virtual to physical addresses in which the base register contains the value that gets added to the virtual address to determine the physical address, and the limit register contains the highest address that the program cannot surpass
requires hardware support to implement
bitmaps
in tracking free space in memory, a bitmap is a vector in which each digit is 1 or 0 depending on whether a given memory chunk is free or not
linked list
the elements of the LL represent blocks of memory that are free
worst-fit
memory allocation scheme that finds the largest block of free memory possible and stores the process in it
best fit
memory allocation scheme that finds the smallest hole which is large enough to fit the process and stores the process in it
first-fit
memory allocation scheme that puts the process in the first discovered hole of free memory that is large enough to fit the process
internal fragmentation
internal to an allocated space, internal fragmentation is where a process is allocated more bytes that it uses
external fragmentation
space that the OS is aware of but that is too small to fit new processes
page
a continuous portion of memory that is treated by the OS as a single unit of storage
slab allocation
break large chunks of memory given to a process by the buddy algo into smaller units for allocation
object caches
freed objects are stored in a cache in case they are allocated again, rather than freeing them for allocation to other processes