Term
|
Definition
| allows processes to be moved in and out of memory (or to different parts of memory) - optimizing the utilization of available memory |
|
|
Term
|
Definition
| Ensuring that one process cannot access the memory space of another process, thus preventing malicious or accidental corruption of data and code. |
|
|
Term
|
Definition
| Allows multiple processes to access the same memory locations. |
|
|
Term
|
Definition
| Allow for the modular structures that programs are written in |
|
|
Term
|
Definition
| Memory can be organized in various ways, like contiguous allocation, paging, or segmentation |
|
|
Term
|
Definition
| This lets us temporarily move processes from main memory to disk (and vice versa), which ensures active processes get the memory they need. |
|
|
Term
|
Definition
| Over time, memory can become fragmented. Relocation lets us move processes around to consolidate free memory spaces. |
|
|
Term
| Why is the capability to relocate processes desirable? |
|
Definition
| Without relocation, you'd need to know in advance where every process would load into memory, which isn't practical due to the dynamic nature of process execution. |
|
|
Term
| Why is it not possible to enforce memory protection at compile time? |
|
Definition
| Program's memory location is unpredictable. Dynamic address calculations occur at runtime. All memory references need runtime checks. |
|
|
Term
|
Definition
| Multiple processes can use a single copy of a program or library instead of having multiple copies loaded. |
|
|
Term
| Inter-Process Communication |
|
Definition
| Processes working together on a task might need to exchange data. Shared memory provides a mechanism for this. |
|
|
Term
| In a fixed-partitioning scheme, what are the advantages of using unequal-size partitions? |
|
Definition
1. Allows large partitions for big programs. 2. Reduces internal fragmentation by fitting small programs in small partitions. |
|
|
Term
|
Definition
| Wasted space inside a partition due to block size mismatches. |
|
|
Term
|
Definition
| Wasted memory areas outside partitions due to dynamic partitioning. |
|
|
Term
|
Definition
| This is generated by the CPU during a program's execution. It's a program's view of memory, and it needs the help of the memory management unit (MMU) to map it to a physical address. |
|
|
Term
|
Definition
| It's an offset from a starting point. For instance, if a program begins at address 100 and there's a variable 20 bytes into the program, the relative address of the variable is 20. |
|
|
Term
|
Definition
| This is the real address in the computer's main memory. The MMU translates logical addresses to physical addresses. |
|
|
Term
| What is the difference between a page and a frame? |
|
Definition
| Page vs. Frame: Both equal-sized blocks, but pages are on disk and frames are in main memory. One page fits one frame. |
|
|
Term
| What is the difference between a page and a segment? |
|
Definition
| Page vs. Segment: Pages are fixed-size blocks on disk. Segments are user-defined portions of programs/data, varying in size with a max limit. |
|
|