Memory Management - contiguous allocation, swapping, paging, segmentation, demand paging, page replacement, thrashing, memory-mapped files - One Line Questions

1. What is a Translation Lookaside Buffer (TLB)? A cache for page table entries to speed up address translation
2. What is 'thrashing'? A state where a process spends more time paging than executing instructions
3. In contiguous memory allocation, what is a fixed-size partition? A partition with a predefined, unchanging size allocated to a process
4. What is a 'hole' in the context of contiguous memory allocation? A free block of memory that can be allocated to a process
5. What is a 'page fault'? When a requested page is not found in physical memory
6. In segmentation, what does a segment table typically contain? Base address and limit of each segment
7. Which algorithm places the first process into the first available hole that is large enough? First-fit
8. Which memory management technique allows a process to be non-contiguous in physical memory? Paging
9. Swapping involves moving entire processes between: Main memory and secondary storage
10. When a page with a dirty bit set to '1' is replaced, what must the operating system do? Write the page back to secondary storage before loading a new page
11. What is segmentation in memory management? Dividing a program into logical units of varying sizes called segments
12. What is the fundamental concept behind paging? Dividing memory into fixed-size blocks called frames and processes into fixed-size blocks called pages
13. A high page fault rate can indicate: A process accessing too many pages, potentially leading to thrashing
14. Which of the following is a potential problem with demand paging? Thrashing if the degree of multiprogramming is too high or pages are too large
15. A system with a low degree of multiprogramming is less likely to experience: Thrashing
16. Which page replacement algorithm is often considered a good approximation of LRU? Second-Chance (Clock) algorithm
17. Which of the following is NOT a common page replacement algorithm? Round Robin
18. Which mechanism is essential for demand paging to work efficiently? Paging and a page fault handler
19. The FIFO page replacement algorithm replaces the page that: Has been in memory the longest
20. Thrashing is often caused by: Having too many processes with large memory footprints
21. If a TLB miss occurs, where does the system look for the page table entry? In main memory (the actual page table)
22. What is a common strategy to prevent or recover from thrashing? Reduce the degree of multiprogramming
23. What is a key advantage of segmentation over paging? It provides a natural way to share code and data among processes
24. What is the main advantage of dynamic partitioning over fixed partitioning? It eliminates internal fragmentation
25. In the Second-Chance (Clock) page replacement algorithm, what is the role of the reference bit? It indicates if the page has been recently accessed
26. What is the primary advantage of the Optimal page replacement algorithm? It results in the fewest page faults
27. What is a disadvantage of pure segmentation? It suffers from external fragmentation
28. What is demand paging? Loading pages into memory only when they are needed
29. What is the main challenge in implementing pure segmentation efficiently? Managing variable-sized segments and avoiding external fragmentation
30. In a segmented paging system, what is the logical address composed of? Segment number, page number, and offset
31. Which memory allocation strategy aims to solve external fragmentation by moving processes in memory? Swapping
32. What is the primary difference between paging and segmentation? Paging divides memory into fixed-size pages, while segmentation divides it into variable-size segments based on logical program structure.
33. Which memory management technique allows sharing of memory segments between processes? Segmentation
34. Which of the following is a common implementation detail for paging hardware? Memory Management Unit (MMU)
35. What is the 'working set' of a process? The set of pages that a process has accessed recently and is likely to access again soon
36. What is the 'degree of multiprogramming' in the context of memory management? The number of processes currently residing in main memory
37. The Best-fit algorithm for contiguous memory allocation attempts to minimize: The size of the smallest remaining hole
38. Worst-fit algorithm in contiguous memory allocation allocates the process to: The largest available hole
39. How do memory-mapped files interact with the operating system's memory management? They are treated like regular pages by the paging system, loaded on demand
40. What is the primary purpose of 'locality of reference' in relation to memory management? To exploit the tendency of processes to access a subset of memory locations frequently over short periods
41. What is the primary benefit of using memory-mapped files? To allow processes to access file content as if it were in memory, simplifying I/O operations
42. What is the primary role of the 'dirty bit' (or modification bit) in a page table entry? To indicate if the page has been modified since it was loaded into memory
43. What is the primary goal of memory management in an operating system? To manage and allocate main memory efficiently among competing processes
44. In demand paging, when a page fault occurs, what is the operating system's responsibility? To locate the page on secondary storage, load it into a free frame, and restart the instruction
45. In paging, what is a 'page table' used for? To map logical page addresses to physical frame addresses
46. Which of the following is a common technique to reduce the overhead of page table lookups? Implementing a Translation Lookaside Buffer (TLB)
47. LRU (Least Recently Used) page replacement algorithm aims to replace the page that: Has not been referenced for the longest period of time
48. What is internal fragmentation? Wasted memory within allocated blocks due to fixed partition sizes or page/segment sizes
49. What is external fragmentation? Wasted memory in free blocks that are too small to satisfy a request