M9: 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:
a 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:
a 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:
in tracking free space in memory, the elements of the linked list represent blocks of memory that are free
Worst-fit
a memory allocation scheme that finds the largest block of free memory possible and stores the process in it
Best-fit
a memory allocation scheme that finds the smallest hole which is large enough to fit the process and stores the process in it
First-fit
a 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 than 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 operating system as a single unit of storage
Slab allocation:
break large chunks of memory given to a process by the Buddy algorithm 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.