Term
|
Definition
| The CPU must wait for data to be moved from main memory to registers, or from a cache to registers. |
|
|
Term
|
Definition
| A medium-speed amount of memory between main memory and registers that reduces time spent stalling. |
|
|
Term
|
Definition
| Used for memory protection, holds the smallest legal physical memory address. |
|
|
Term
|
Definition
| Used for memory protection, holds the size of the range. |
|
|
Term
|
Definition
| Memory used in programs are symbolic and are bound to physical addresses through address binding. |
|
|
Term
| Compile-Time Address Binding |
|
Definition
| Can only be done if you know where the process will reside in memory, and this produces absolute code. Generally not used, since code must be recompiled if the program needs to run elsewhere. |
|
|
Term
| Load-Time Address Binding |
|
Definition
| Compiler generates relocatable code that allows the addresses of memory to be decided when the program is loaded into memory, but cannot be moved during execution. |
|
|
Term
| Execution-Time Address Binding |
|
Definition
| Done if the process can be moved during execution, most common method. |
|
|
Term
|
Definition
| Code that has the memory symbols bound to physical addresses. |
|
|
Term
|
Definition
| Code that allows the memory symbols to be bound to physical memory when the process is loaded. |
|
|
Term
|
Definition
| The set of all logical address generated by a program. |
|
|
Term
|
Definition
| The address generated by the CPU, also the one that the programmer and user think about. |
|
|
Term
|
Definition
| The set of all physical addresses that hardware has access to. |
|
|
Term
|
Definition
| The address loaded into the memory register. |
|
|
Term
|
Definition
| The piece of hardware that translates a logical address into a physical one. |
|
|
Term
|
Definition
| Turning a logical address into a physical one. Done by the MMU. |
|
|
Term
|
Definition
| The base register and this are equivalent. In simple address translation schemes this is added to the logical address to get the physical address. |
|
|
Term
|
Definition
| Linking all the library routines at compile time. Application code and library routines all loaded into a single load image. |
|
|
Term
|
Definition
| Linking when a section of code is executed that requires library code. A stub, which points to where to find the routine, is put in the place of the actual code in the run time image. |
|
|
Term
|
Definition
| Having only one copy of a library in memory at a time, so that dynamically linked processes don't all have a copy of the same library in memory. |
|
|
Term
|
Definition
| Taking a process out of memory and putting it into backing store so that another process can be brought in. |
|
|
Term
|
Definition
| Where swapped out processes reside. Large and reasonably fast. |
|
|
Term
| Contiguous Memory Allocation |
|
Definition
| A process gets consecutive blocks of memory allocated to it. |
|
|
Term
|
Definition
| The chunks of memory that can be allocated to processes all have a constant size. |
|
|
Term
| Variable-Sized Partitioning |
|
Definition
| The chunks of memory that can be allocated to processes do not all have a constant size. |
|
|
Term
| Dynamic Memory Allocation |
|
Definition
| Giving processes memory as they need it during execution time. |
|
|
Term
| Hole (in memory allocation) |
|
Definition
| A chunk of available memory. |
|
|
Term
|
Definition
| Finding the first hole that a process can fit into. |
|
|
Term
|
Definition
| Finding the smallest hole that a process can fit into. |
|
|
Term
|
Definition
| Finding the largest hole that a process can fit into. |
|
|
Term
|
Definition
| When there are small chunks of memory that are too small to be used for anything useful as a result of dynamic memory allocation. |
|
|
Term
|
Definition
| The commonly true idea that if you have an n-sized chunk of memory, eventually another n/2 of it will be lost to fragmentation. |
|
|
Term
|
Definition
| When a process is allocated more memory than it needs, since the chunk it is put into may leave only a very small amount of memory behind that cannot be used for anything. |
|
|
Term
|
Definition
| Moving processes in memory around to reduce external fragmentation and create more useful memory. |
|
|
Term
|
Definition
| A memory-management scheme that allows physical address space of a process to be noncontiguous. Logical addresses have a page number and offset that is used to determine that physical address. |
|
|
Term
|
Definition
| Blocks of logical memory. |
|
|
Term
|
Definition
| Fixed-sized blocks of physical memory. |
|
|
Term
|
Definition
| The page number that is used as an index into a page table. |
|
|
Term
|
Definition
| The distance from that start of a frame that the physical address for a logical address is. |
|
|
Term
|
Definition
| Contains the base address of each page in physical memory. |
|
|
Term
|
Definition
| Contains information about which frames are mapped. |
|
|
Term
|
Definition
| A pointer to the page table. |
|
|
Term
| Page-Table Length Register |
|
Definition
| Indicates the size of the page table to verify that the address is in the valid range for a process. |
|
|
Term
| Translation Look-Aside Buffer |
|
Definition
| Associative, high-speed memory that allows very fast translations. |
|
|
Term
|
Definition
| A hit is when the desired page is in the TLB, and a miss is when it's not. |
|
|
Term
|
Definition
| The percentage of times that a particular page number is found in the TLB. |
|
|
Term
|
Definition
| Clearing the TLB whenever the process switches, in order to ensure that the executing process does not use the wrong translation information. |
|
|
Term
|
Definition
| Data stored in the TLB to show which pages belong to which processes. |
|
|
Term
| Effective Memory-Access Time |
|
Definition
| How long you can expect a memory translation to take, on average. It is equal to a weighted average of the time needed to retrieve a value from the TLB and from memory. |
|
|
Term
|
Definition
| A bit that shows if a page is valid of invalid for a particular process. Signifies if a page is in the processes logical address space. |
|
|
Term
|
Definition
| If the page table is too large to fit into a single frame, then this is used. The page table itself is also broken into pages, and then another page table is made to point to these parts of the page table. |
|
|
Term
|
Definition
| A common approach for handling address spaces larger than 32 bits. Each entry in the hash table has a linked list of elements that hash the the same location. Has three fields, virtual page number, value of the mapped page frame, and a pointer to the next element in the linked list. |
|
|
Term
|
Definition
| One entry for each frame of memory. Each entry is the virtual address of the page stored in that real memory location with information about which process owns that page. Makes shared memory very difficult or impossible. |
|
|