Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
43 Cards in this Set
- Front
- Back
What is memory management?
|
Memory allocation to processes, ensuring instructions and data are available in RAM as needed
|
|
Summarise the FIVE main requirements of memory management.
|
Relocation, Protection, Sharing, Logical & Physical organisation.
|
|
Why does memory management need to determine where instructions and data are located?
|
So requests can be translated into physical addresses
|
|
What is meant by 'protection'?
|
Prevention of interference from other processes.
|
|
How does memory management protect processes?
|
By checking that memory references made by a process lie within its allocated bounds.
|
|
When are memory reference checks made?
|
At run-time
|
|
When is an Access Violation Interrupt generated?
|
When processes request invalid references
|
|
Are the memory checks carried out by the OS or CPU?
|
The CPU - software cannot inticipate all memory references to be made by a program
|
|
What is 'shared' between processes?
|
Memory
|
|
When might sharing be necessary?
|
When multiple processes are running the same program
|
|
What permissions are applied to shared instructions?
|
Read & Execute Only.
|
|
What is "Late Binding"?
|
Where references between modules of a program are resolved at run-time
|
|
What is an advantage of late binding?
|
Modules can maintain their independence right up till runtime.
|
|
Summarise the "Physical Organisation" aspect of memory management in one sentence.
|
Moving memory between RAM and disk.
|
|
What part of the main memory is unavailable for user processes?
|
The OS partition
|
|
What are the two types of fixed-size partitioning of main memory?
|
Equal-size and unequal-size partitioning
|
|
Give two disadvantages of using equal-size partitioning in main memory.
|
i) A process's requirements may exceed partition size; ii) A small process occupies a full partition, which is wasteful and leads to internal fragmentation.
|
|
Give two disadvantages of unequal-size fixed partioning.
|
i) Either algorithm for filling leads to internal fragmentation. ii) The algorithm for minimising this requires disk swapping which is expensive.
|
|
What is the name for NON-fixed partitioning?
|
Dynamic Memory Partitioning.
|
|
How does Dynamic partitioning give rise to external fragmentation?
|
Multiple processes are allocated precisely the required portion - when these processes terminate (randomly) they leave gaps between other processes, and the partitioning ceases to be contiguous.
|
|
Name the three algorithms for process placement in dynamic memory.
|
First-fit, Best-fit, Next-fit
|
|
Describe the 'First-fit' algorithm for allocation of dynamic memory.
|
Starting from address 0, scan through the main memory until a vacant partition fits.
|
|
Describe the 'Best-fit' algorithm for allocation of dynamic memory.
|
The memory is scanned for the smallest possible block in which the process can still be placed.
|
|
Describe the 'Next-fit' algorithm for allocation of dynamic memory.
|
Scans memory from the address of the last allocated process, in a similar style to 'First-fit'.
|
|
Define the term "Logical address".
|
Reference to a memory location independent of any current assignment of data to main memory.
|
|
Define the term "Relative address".
|
Is a logical address expressed relative to a fixed logical location, such as the beginning of a process's image
|
|
Define the term "Physical address".
|
The address of the actual location in main memory.
|
|
Define the term 'Base Register'.
|
Indicates the beginning of a process's partition.
|
|
Define the term 'Bounds Register'.
|
Indicates extent of a process in a partition. Used with Base Register.
|
|
Relative address + Base register = ?
|
Physical address.
|
|
How does memory paging reduce internal fragmentation?
|
Frame is divided into small, equally-sized chunks (pages), fully occupied by the process until only the last, which is fragmented.
|
|
What is a 'page'?
|
A small, equally-sized chunk of memory in a frame.
|
|
What is a 'frame'?
|
The larger chunks of main memory comprised of pages.
|
|
Why don't we need bounds registers for pages?
|
Because they are of fixed size.
|
|
What is a 'Page Table'?
|
A set of page registers in non-contiguous memory allocation.
|
|
What information is held by the page table?
|
Frame location (physical address) for each page of the running process.
|
|
What maintains the 'page table'?
|
OS
|
|
Where would you see a 'page number' recorded with an 'offset'?
|
Logical addresses for pages in a page table.
|
|
How long are the page number and offset?
|
6-bit page number, 10-bit offset
|
|
How is the 16-bit logical address processed by the page table in converting to a 16-bit physical address?
|
Page number is processed while offset remains unchanged
|
|
How does 'Memory Segmentation' differ from Paging?
|
The chunks are not all equal in size.
|
|
What information is held within a Segment Table?
|
Length and Base of segments.
|
|
What part of the 16-bit logical address is processed by the Segment Table in converting to a 16-bit physical address?
|
The 4-bit segment number. The 12-bit offset is unchanged.
|