1/84
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
cache
a temporary storage area that holds copies of frequently accessed data to speed up processing
bind
to connect or link together, such as associating a symbolic address with a relocatable address for program execution
absolute code
program instructions that reference fixed memory addresses for direct execution
logical address
address generated by the CPU that requires translation to a physical address for use in memory, essentially the same as a virtual address in this context
physical address
actual location in physical memory where data or instructions are stored
logical space address
range of all addresses generated by a program before translation into physical addresses
physical address space
range of all physical addresses available in a computer system
memory management unit (MMU)
hardware enabling a CPU to access and translate addresses between logical and physical memory
dynamic loading
loading of program routines into memory only when called during execution, not at program start
dynamically linked libraries (DLLs)
system libraries linked to user programs at runtime, allowing shared resources across processes
static linking
combining system libraries into a binary program image before execution, as done by the loader
shared libraries
libraries loaded once into memory and accessed by multiple processes, facilitating efficient memory use
contiguous memory allocation
A memory allocation method in which each process is contained in a single section of memory that is contiguous to the section containing the next process.
variable-partition
A simple memory-allocation scheme in which each partition of memory contains exactly one process.
hole
In variable partition memory allocation, a contiguous section of unused memory. Also an alternative rock band formed by Courtney Love.
dynamic storage-allocation problem
The problem of how to satisfy a request for size n of memory from a list of free holes.
first-fit
In memory allocation, selecting the first hole large enough to satisfy a memory request.
best-fit
In memory allocation, selecting the smallest hole large enough to satisfy the memory request.
worst-fit
In memory allocation, selecting the largest hole available.
external fragmentation
Fragmentation in which available memory contains holes that together have enough free space to satisfy a request but no single hole is large enough to satisfy the request. More generally, the fragmentation of an address space into small, less usable chunks.
50-percent rule
A statistical finding that fragmentation may result in the loss of 50 percent of space.
dynamic storage allocation
the process of assigning and freeing memory during a program's run time as needed
memory protection
a method to control and restrict how programs access memory in a computer, preventing errors and security issues
partitioning
dividing memory into sections to manage different processes
fixed partitioning memory management
a scheme dividing memory into fixed-sized partitions, each holding a single process
overlays
a method of loading only necessary parts of a program into memory, swapping others as needed
variable partition memory management scheme
a method where memory is allocated dynamically, varying in size based on process needs
fragmented
memory scattered into non-contiguous pieces, making the efficient use of memory challenging
external fragmentation
unused memory scattered in non-contiguous blocks, causing inefficient use of memory
compaction
the process of consolidating fragmented free memory space to create a large contiguous block
internal fragmentation
wasted memory within allocated regions due to fixed-size partitions
What defines a logical address space using base and limit registers?
Base and limit registers
How do base and limit registers contribute to hardware address protection?
By defining the range of accessible addresses
Which process binds logical addresses to physical addresses?
Address binding
Which characteristic differentiates a logical address space from a physical address space?
Logical address space is used by the CPU, while physical address space is used by memory.
Which mechanism protects memory from being accessed incorrectly?
Memory protection
How is memory allocated and managed in a system?
By using fixed and variable partitions
What ensures that each process has its own separate memory space?
Memory protection
Which issue is caused by fixed partition memory management?
Internal fragmentation
What causes external fragmentation in memory management?
Dynamic allocation of memory blocks
What is the 50% rule in memory management?
50% of memory is lost to fragmentation.
A page number is represented by 10 bits. How many entries are in the page table?
210
A 32-bit address is divided into 20 bits for the page number and 12 bits for the offset. ______ is the page number and ______ is the offset for the logical address 0x139A4BD7.
0x139A4, 0xBD7
paging
A common memory management scheme that avoids external fragmentation by splitting physical memory into fixed-sized frames and logical memory into blocks of the same size called pages.
frames
Fixed-sized blocks of physical memory.
page
A fixed-sized block of logical memory.
page number
Part of a memory address generated by the CPU in a system using paged memory; an index into the page table.
p
Part of a memory address generated by the CPU in a system using paged memory; an index into the page table.
page offset
Part of a memory address generated by the CPU in a system using paged memory; the offset of the location within the page of the word being addressed.
d
Part of a memory address generated by the CPU in a system using paged memory; the offset of the location within the page of the word being addressed.
page table
In paged memory, a table containing the base address of each frame of physical memory, indexed by the logical page number.
huge pages
A feature that designates a region of physical memory where especially large pages can be used.
frame table
In paged memory, the table containing frame details, including which frames are allocated, which are free, total frames in the system, etc.
page-table-base register (PTBR)
In paged memory, the CPU register pointing to the in-memory page table.
translation look-aside buffer (TLB)
A small, fast-lookup hardware cache used in paged memory address translation to provide fast access to a subset of memory addresses.
TLB miss
A translation look-aside buffer lookup that fails to provide the address translation because it is not in the TLB.
wired down
A term describing a TLB entry that is locked into the TLB and not replaceable by the usual replacement algorithm.
address-space identifier
A part of a TLB entry that identifies the process associated with that entry and, if the requesting process doesn't match the ID, causes a TLB miss for address-space protection.
ASIDs
A part of a TLB entry that identifies the process associated with that entry and, if the requesting process doesn't match the ID, causes a TLB miss for address-space protection.
flush
Erasure of entries in, e.g., a TLB or other cache to remove invalid data.
hit ratio
The percentage of times a cache provides a valid lookup (used, e.g., as a measure of a TLB's effectiveness).
effective memory-access time
The statistical or real measure of how long it takes the CPU to read or write to memory.
valid-invalid
A page-table bit indicating whether a page-table entry points to a page within the logical address space of that process.
segmentation
memory organization method dividing computer memory into segments, each with its own distinct address space
segment table length register (STLR)
a register that indicates the number of segments used by a program
segment table base register (STBR)
a register that holds the address of the segment table in memory
segment number
part of a logical address that specifies the segment in the segment table
segment table
a table that maintains information about each segment, including the base address and the limit
segmented paging
a memory management technique combining segmentation and paging, where segments are further divided into fixed-size pages
segment base address
the starting physical address of a segment in memory
segmented pages
memory management method using segments to organize data or code efficiently
segment offset
part of a logical address that specifies the position within a segment
swapped
Moved between main memory and a backing store. A process may be swapped out to free main memory temporarily and then swapped back in to continue execution.
backing store
The secondary storage area used for process swapping.
application state
A software construct used for data storage.
How does the translation look-aside buffer (TLB) enhance memory management in an operating system?
By speeding up address translation
What is the function of a page table in the context of paging?
To store frame addresses
How does segmentation improve memory management?
By allowing different segments
What is a limitation of segmentation in memory management?
It causes external fragmentation.
How does segmented paging enhance memory management compared to traditional segmentation?
By avoiding fragmentation
What role does a segment table play in segmented paging?
Stores segment bases
What is the purpose of swapping in memory management?
To move inactive processes
How does swapping differ in mobile systems compared to traditional systems?
Often not supported due to constraints
What is a backing store in the context of swapping?
Storage for swapped-out processes
How does swapping help in managing memory in a multitasking environment?
Handling more processes than physical memory