NEW
Font size
WorksheetsMemory Management Quiz
Total questions: 45
Worksheet time: 23mins
What is the term used for allocating memory in a single continuous block?
Paging
Contiguous Memory Allocation
Swapping
Structure of the Page Table
Which memory management technique involves dividing memory into fixed-size pages?
Contiguous Memory Allocation
Swapping
Paging
Structure of the Page Table
What is the purpose of the page table in memory management?
To allocate memory in a continuous block
To manage swapping between memory and disk
To map virtual addresses to physical addresses
To divide memory into pages
Which memory management technique involves moving processes between main memory and secondary storage?
Paging
Contiguous Memory Allocation
Swapping
Structure of the Page Table
What is the purpose of the base register in a computer system?
To hold the largest legal physical memory address
To hold the smallest legal physical memory address
To specify the size of the range of memory addresses
To store the logical address space of a process
Which component ensures that a process can access only those addresses within its address space?
Cache memory
Base and limit registers
Virtual memory
Secondary storage
What does the limit register specify in a computer system?
The smallest legal physical memory address
The size of the range of memory addresses
The logical address space of a process
The total number of processes in the system
Why must a program be brought into memory from disk before it can be run?
To ensure the program is stored permanently
To allow the CPU to access the program directly
To define the logical address space of the program
To protect the program from unauthorized access
Diagram showing the memory layout with operating system, processes, and base + limit registers.
Diagram showing the memory layout with operating system, processes, and base + limit registers.
Diagram showing only the processes and their memory usage.
Diagram showing the CPU registers and cache memory.
Diagram showing the file system structure and directories.
What must the CPU check for every memory access generated in user mode?
If the address is between the base and limit for the user
If the address is equal to the base value
If the address is greater than the limit value
If the address is less than the base value
What happens if a memory address generated in user mode is outside the base and limit range?
The CPU allows access to the memory
The CPU traps to the operating system for illegal addressing error
The CPU ignores the memory access request
The CPU resets the base and limit registers
What type of instructions are required to load the base and limit registers?
User mode instructions
Privileged instructions
General-purpose instructions
Debugging instructions
Which component is responsible for checking the memory address against the base and limit values?
Operating system
Memory
CPU
Hard drive
What is a logical address in the context of memory management?
An address generated by the CPU, also referred to as a virtual address
An address seen by the memory hardware, computed by MMU
An address used for physical storage in the hard drive
An address used for network communication
What is a physical address in the context of memory management?
An address generated by the CPU, also referred to as a virtual address
An address actually seen by the memory hardware, computed by MMU
An address used for logical storage in the CPU
An address used for network communication
When are logical and physical addresses the same?
During execution-time address-binding schemes
During compile-time and load-time address-binding schemes
During memory hardware computation
During virtual address generation
How do logical and physical addresses differ in execution-time address-binding schemes?
Logical addresses are generated by the CPU, while physical addresses are computed by MMU
Logical addresses are used for network communication, while physical addresses are used for storage
Logical addresses are the same as physical addresses during execution-time
Logical addresses are stored in the hard drive, while physical addresses are stored in RAM
What is the primary function of the Memory-Management Unit (MMU)?
To execute user programs directly on the hardware
To map virtual addresses to physical addresses at runtime
To store user data permanently
To manage the CPU clock speed
What is the role of the relocation register in the MMU?
It stores the logical address of the user program
It adds a value to every address generated by a user process before sending it to memory
It converts physical addresses to logical addresses
It manages the CPU's processing speed
What type of address does the user program deal with in the MMU system?
Physical address
Logical address
Relocation address
Virtual address
What happens to the logical address in the MMU system?
It is directly used by the memory
It is bound to a physical address
It is discarded by the CPU
It is converted into a virtual address
What is the purpose of variable-partition sizes in dynamic storage allocation?
To allocate memory blocks of fixed sizes
To ensure memory blocks are scattered throughout memory
To size memory blocks according to a given process's needs
To allocate the largest memory block available
What does the term "hole" refer to in dynamic storage allocation?
A fixed-size memory block
A block of available memory scattered throughout memory
A memory block reserved for the operating system
A memory block that cannot be allocated
Which allocation strategy selects the first hole that is big enough to satisfy a request?
Best-fit
Worst-fit
First-fit
Largest-fit
Which allocation strategy produces the smallest leftover hole?
First-fit
Best-fit
Worst-fit
Random-fit
Which allocation strategy selects the largest hole to satisfy a request?
First-fit
Best-fit
Worst-fit
Largest-fit
Why are first-fit and best-fit strategies considered better than worst-fit in dynamic storage allocation?
They produce larger leftover holes
They are faster and utilize storage more efficiently
They allocate memory blocks randomly
They require less searching through the list of holes
What is external fragmentation in memory management?
Memory space exists to satisfy a request, but it is not contiguous.
Allocated memory is larger than requested memory.
Memory is divided into fixed-size partitions.
Memory is allocated dynamically without fragmentation.
How can external fragmentation be reduced?
By increasing the size of memory partitions.
By using compaction to shuffle memory contents into one large block.
By allocating memory dynamically.
By estimating memory requirements accurately.
What is internal fragmentation in memory management?
Memory space exists to satisfy a request, but it is not contiguous.
Allocated memory is slightly larger than requested memory, leaving unused space.
Memory is divided into fixed-size partitions.
Memory is allocated dynamically without fragmentation.
Why does internal fragmentation occur?
Because memory is allocated dynamically.
Because the kernel cannot accurately estimate the memory requirement of a process.
Because memory space is not contiguous.
Because memory partitions are too small.
What is the key difference between external and internal fragmentation?
External fragmentation occurs due to contiguous memory allocation, while internal fragmentation occurs due to dynamic allocation.
External fragmentation occurs when memory space exists but is not contiguous, while internal fragmentation occurs when allocated memory is larger than requested memory.
External fragmentation occurs due to fixed-size partitions, while internal fragmentation occurs due to variable-size partitions.
External fragmentation occurs when memory is allocated dynamically, while internal fragmentation occurs when memory is allocated statically.
What is the physical address space of a process in paging?
Contiguous memory allocation
Noncontiguous memory allocation
Sequential memory allocation
Random memory allocation
What are fixed-sized blocks in physical memory called in paging?
Pages
Frames
Segments
Blocks
What are blocks of the same size in logical memory called in paging?
Frames
Pages
Segments
Blocks
What is the purpose of a page table in paging?
To allocate memory
To translate logical addresses to physical addresses
To divide memory into pages
To store data
What does the page table keep track of in paging?
All allocated pages
All free frames
All used frames
All logical addresses
What is the purpose of address translation in a computer system?
To convert a physical address into a logical address
To translate the logical address into a physical address and create an entry into the page table
To store data in the CPU
To manage the memory allocation for the operating system
What are the two components of a logical address generated by the CPU?
Page number (p) and frame number (f)
Page offset (d) and frame offset (f)
Page number (p) and page offset (d)
Frame number (f) and logical address (l)
What does the page number (p) represent in a logical address?
The offset from the beginning of the page
The physical address of the page
The page number in which the address resides
The frame number in physical memory
What does the page offset (d) represent in a logical address?
The page number in which the address resides
The offset from the beginning of the page
The physical address of the page
The frame number in physical memory
Which component of the logical address is used to determine the specific location within a page?
Page number (p)
Frame number (f)
Page offset (d)
Physical address
What is required for a process to execute in a computer system?
It must be loaded into memory.
It must be stored in the backing store.
It must be swapped out of memory.
It must be prioritized by the operating system.
What happens when there is not enough memory available to keep all running processes in memory?
Processes are terminated.
Processes are swapped temporarily out of memory to a backing store.
Processes are duplicated in the memory.
Processes are compressed to save space.
What is the purpose of the "roll out, roll in" swapping variant in priority-based scheduling algorithms?
To terminate lower-priority processes.
To swap out lower-priority processes so higher-priority processes can be loaded and executed.
To duplicate higher-priority processes in memory.
To compress lower-priority processes to save space.
