OPERATING SYSTEMS EXAM 2 UPDATED
QUESTIONS AND CORRECT ANSWERS
Question:
1. What was the main reason for the development of multiprogramming systems?
Answer:
To improve CPU utilization by allowing multiple programs to reside in memory
Question:
2. What does the address space represent?
Answer:
The running program's view of memory
Question:
3. What is the purpose of placing the heap and stack at opposite ends of the address space?
Answer:
To allow them to grow in opposite directions
Question:
4. What is the role of the operating system in virtualizing memory?
Answer:
To provide a private, potentially large address space for each process
Question:
5. What is the crux problem addressed by address translation?
Answer:
How to efficiently and flexibly virtualize memory
Question:
6. In the context of address translation, what is the role of the base register?
Answer:
It translates virtual to physical addresses by using it as an offset
Question:
7. What is the purpose of the bounds register do?
Answer:
Combined with the base register, it ensures a process can only access its own address space
Question:
8. What does the term "virtualizing memory" mean in the context of operating systems?
Answer:
Providing each process the illusion of its own private memory space
Question:
9. What is the main idea behind limited direct execution (LDE)?
,Answer:
to allow user processes to run directly on the hardware most of the time
Question:
10. What are all of the components of a process's address space?
Answer:
code, data, stack, heap
Question:
11. How does the hardware determine which segment a virtual address refers to in the explicit approach?
Answer:
By looking at the top few bits of the virtual address
Question:
12. What is the purpose of the bounds register for each segment?
Answer:
To store the current size of the segment & To check if a virtual address is within the valid range for the
segment
Question:
13. How does the hardware handle a stack segment that grows backwards (towards lower addresses)?
Answer:
By subtracting the segment's maximum size from the offset to get the negative offset
Question:
14. What is the term for the problem where physical memory becomes fragmented into small holes due to
variable-sized segment allocation?
Answer:
External Fragmentation
Question:
15. Given a the following segment table with a bounds of 0x0200, what is the physical address of virtual
address 0x2701
Answer:
Error, out of bounds
Question:
16. External fragmentation refers to...
Answer:
the unusable free memory between segments or processes.
, Question:
17. How do pages and frames relate to each other?
Answer:
A page is the same size as a frame. & A page may be on disk while a frame is always in primary memory.
& A page is a chunk of virtual memory loaded into a frame of physical memory.
Question:
18. Why are page tables problematic for high bit-width CPUs (e.g. 64-bit CPUs)?
Answer:
The required page table size will likely exceed the amount of physical memory available.
Question:
19. What is segmentation used for?
Answer:
To support a large address space with potentially a lot of free space between the heap and the stack
Question:
20. Consider the following hypothetical memory layout:
16 bit virtual address space 8 segments per process How many bits are needed to address the segment?
Answer:
3 Bits
Question:
21. Why was building computer systems easier in the early days?
Answer:
Because users didn't expect much. They didn't demand ease of use, high performance, or reliability, so OS
developers only had to provide very simple functionality.
Question:
22. In early systems, how was memory organized between the OS and a program?
Answer:
The OS resided at the beginning of physical memory (e.g., starting at address 0), and the currently running
program occupied the rest (e.g., starting at 64KB).
Question:
23. What problem led to the development of multiprogramming?
Answer:
Computers were very expensive, so people wanted to share them more effectively. Multiprogramming
allowed multiple processes to be ready at once, switching between them when one was waiting for I/O.
Question:
24. What benefit did multiprogramming bring?
Answer:
It increased CPU utilization, making better use of expensive hardware.
Question:
25. What limitation of batch computing led to the rise of time sharing?
QUESTIONS AND CORRECT ANSWERS
Question:
1. What was the main reason for the development of multiprogramming systems?
Answer:
To improve CPU utilization by allowing multiple programs to reside in memory
Question:
2. What does the address space represent?
Answer:
The running program's view of memory
Question:
3. What is the purpose of placing the heap and stack at opposite ends of the address space?
Answer:
To allow them to grow in opposite directions
Question:
4. What is the role of the operating system in virtualizing memory?
Answer:
To provide a private, potentially large address space for each process
Question:
5. What is the crux problem addressed by address translation?
Answer:
How to efficiently and flexibly virtualize memory
Question:
6. In the context of address translation, what is the role of the base register?
Answer:
It translates virtual to physical addresses by using it as an offset
Question:
7. What is the purpose of the bounds register do?
Answer:
Combined with the base register, it ensures a process can only access its own address space
Question:
8. What does the term "virtualizing memory" mean in the context of operating systems?
Answer:
Providing each process the illusion of its own private memory space
Question:
9. What is the main idea behind limited direct execution (LDE)?
,Answer:
to allow user processes to run directly on the hardware most of the time
Question:
10. What are all of the components of a process's address space?
Answer:
code, data, stack, heap
Question:
11. How does the hardware determine which segment a virtual address refers to in the explicit approach?
Answer:
By looking at the top few bits of the virtual address
Question:
12. What is the purpose of the bounds register for each segment?
Answer:
To store the current size of the segment & To check if a virtual address is within the valid range for the
segment
Question:
13. How does the hardware handle a stack segment that grows backwards (towards lower addresses)?
Answer:
By subtracting the segment's maximum size from the offset to get the negative offset
Question:
14. What is the term for the problem where physical memory becomes fragmented into small holes due to
variable-sized segment allocation?
Answer:
External Fragmentation
Question:
15. Given a the following segment table with a bounds of 0x0200, what is the physical address of virtual
address 0x2701
Answer:
Error, out of bounds
Question:
16. External fragmentation refers to...
Answer:
the unusable free memory between segments or processes.
, Question:
17. How do pages and frames relate to each other?
Answer:
A page is the same size as a frame. & A page may be on disk while a frame is always in primary memory.
& A page is a chunk of virtual memory loaded into a frame of physical memory.
Question:
18. Why are page tables problematic for high bit-width CPUs (e.g. 64-bit CPUs)?
Answer:
The required page table size will likely exceed the amount of physical memory available.
Question:
19. What is segmentation used for?
Answer:
To support a large address space with potentially a lot of free space between the heap and the stack
Question:
20. Consider the following hypothetical memory layout:
16 bit virtual address space 8 segments per process How many bits are needed to address the segment?
Answer:
3 Bits
Question:
21. Why was building computer systems easier in the early days?
Answer:
Because users didn't expect much. They didn't demand ease of use, high performance, or reliability, so OS
developers only had to provide very simple functionality.
Question:
22. In early systems, how was memory organized between the OS and a program?
Answer:
The OS resided at the beginning of physical memory (e.g., starting at address 0), and the currently running
program occupied the rest (e.g., starting at 64KB).
Question:
23. What problem led to the development of multiprogramming?
Answer:
Computers were very expensive, so people wanted to share them more effectively. Multiprogramming
allowed multiple processes to be ready at once, switching between them when one was waiting for I/O.
Question:
24. What benefit did multiprogramming bring?
Answer:
It increased CPU utilization, making better use of expensive hardware.
Question:
25. What limitation of batch computing led to the rise of time sharing?