🎓 BookMCQ
← Back to 8. Main Memory

📝 Oracle SPARC Solaris (9 MCQs)

📖 From Operating System • 8. Main Memory • 9 questions available

What is Oracle SPARC Solaris?

Definition:
Oracle SPARC Solaris implements advanced memory management including TSO consistency model, large pages, and DTrace-integrated VM monitoring on SPARC architecture.

Example:
Solaris uses 8 MB8 \text{ MB} large pages for database buffers reducing TLB misses by factor of 20482048 versus standard 4 KB4 \text{ KB} pages.

Reason:
Architecture-specific optimizations exploit SPARC’s register windows and cache hierarchy delivering enterprise-grade memory performance and observability.

2
Easy
5
Medium
2
Hard

📝 All Oracle SPARC Solaris MCQs

Q1. What is the primary purpose of the relocation register in the SPARC Solaris memory management unit?

A.To limit the size of a process's address space
B.To translate a logical address to a physical address by adding an offset ✅
C.To store the current instruction pointer
D.To manage cache coherence
💡 Difficulty: easy | ✅ Correct: B

📖 Explanation: The relocation register holds an offset that is added to every logical address generated by a process. By applying this offset, the system converts the logical address into the correct physical location in RAM. Option B describes this behavior, making it the right choice. Options A, C, and D describe unrelated mechanisms such as limit checking, program counters, and cache protocols, which are not the function of the relocation register.

Q2. Why does the limit register play a crucial role in protecting a process's memory space?

A.It encrypts data before storage
B.It defines the highest legal address a process may generate
C.It schedules CPU time slices ✅
D.It controls I/O device access
💡 Difficulty: medium | ✅ Correct: C

📖 Explanation: The limit register stores the maximum logical address a process is allowed to use. When the CPU generates an address, the hardware compares it to the limit value; any address above this threshold triggers a trap, preventing unauthorized memory access. This protection mechanism matches option C. Option A refers to encryption, which is unrelated. Option B describes the relocation register, not the limit register. Option D is about I/O, which the limit register does not manage.

Q3. How does loading transient operating-system code affect the size of the OS and the fixed‑partition memory scheme?

A.It forces the OS to reboot each time code is loaded
B.It temporarily expands the OS address space, reducing free memory for user partitions ✅
C.It leaves the OS size unchanged because partitions are immutable
D.It merges user partitions into a single large partition
💡 Difficulty: hard | ✅ Correct: B

📖 Explanation: Transient code is loaded into memory only when needed, temporarily increasing the operating system’s footprint. This expansion consumes space that would otherwise be available for user processes, effectively shrinking the number of free fixed partitions. Option B captures this effect. Option A is incorrect because Solaris can load code without rebooting. Option C ignores the dynamic nature of the relocation scheme. Option D misrepresents partition behavior, as partitions are not merged dynamically.

Q4. A process attempts to write to logical address 0x9FFF while its limit register is set to 0x8000. What will the system do?

A.The write succeeds and the data is stored
B.The CPU raises a trap and terminates the process ✅
C.The address is silently ignored
D.The limit register is automatically increased to accommodate the request
💡 Difficulty: easy | ✅ Correct: B

📖 Explanation: When a logical address exceeds the limit register value, the hardware generates a protection trap, preventing the memory operation. The operating system typically responds by sending a signal (such as SIGSEGV) or terminating the offending process. Therefore option B is correct. Option A ignores the protection check. Option C suggests silent failure, which does not occur. Option D incorrectly assumes the OS will adjust the limit register without explicit action.

Q5. A system using four fixed‑size partitions has a rarely used driver that occupies 10 % of a partition. To free space, the OS unloads the driver at runtime. Which strategy best preserves partition availability?

A.Keep the partition reserved for the driver even after unloading
B.Resize the partition dynamically using the relocation‑limit mechanism ✅
C.Move the driver to a separate swap file and leave the partition unchanged
D.Allocate a new partition exclusively for the driver
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: The relocation‑limit hardware allows the OS to change the size of its code segment without moving other memory contents. By adjusting the limit register, the OS can shrink the driver’s region and return the freed portion to the pool of available memory within the same partition. Option B describes this dynamic resizing. Option A wastes space, Option C adds unnecessary I/O overhead, and Option D creates an extra partition, which the fixed‑partition model does not support.

Q6. Given a relocation register value of 0x10000x1000 and a process generating a logical address of 0x00A00x00A0, what physical address will the dispatcher load?

A.0x10A00x10A0
B.0x0A00x0A0
C.0x100A0x100A
D.0x1A00x1A0
💡 Difficulty: medium | ✅ Correct: A

📖 Explanation: The physical address is calculated by adding the relocation offset to the logical address: Physical=Relocation+Logical=0x1000+0x00A0=0x10A0\text{Physical} = \text{Relocation} + \text{Logical} = 0x1000 + 0x00A0 = 0x10A0. Option A matches this result. Option B omits the offset, Option C misplaces the digits, and Option D adds an incorrect value. This arithmetic reflects how the dispatcher uses the relocation register during a context switch to map process addresses correctly.

Q7. In a variable‑partition (MVT) environment, several processes share a large partition. How does the scheduler maintain isolation between them?

A.By assigning each process a unique limit register value ✅
B.By using separate CPUs for each process
C.By disabling relocation registers for shared memory
D.By relying on software‑only checks after each instruction
💡 Difficulty: hard | ✅ Correct: A

📖 Explanation: Each process receives its own limit register that defines the highest address it may access within the shared partition. The hardware checks every generated address against this limit, generating a trap if a process exceeds its bounds, thus enforcing isolation even though the physical memory region is common. Option A correctly describes this mechanism. Option B is unrelated to memory protection. Option C would remove the necessary translation, and Option D suggests a software check that is less reliable than hardware enforcement.

Q8. When the OS decides to unload a transient driver to reclaim memory, which sequence ensures that relocation and limit registers remain consistent?

A.Flush the CPU cache, then zero the registers, then free the memory
B.Update the limit register first, copy out any pending state, then adjust the relocation register ✅
C.Swap out the driver, reboot the system, then reload the registers
D.Write the driver’s code to disk, then reset both registers to zero
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: To safely remove code, the OS must first reduce the limit register so that no new accesses can occur beyond the new boundary. It then copies any required state and finally adjusts the relocation register to reflect the new base address. This order prevents stray accesses during the transition. Option B follows this safe sequence. Option A clears registers before updating limits, risking illegal accesses. Options C and D introduce unnecessary reboots or disk writes, which are not part of the standard unload process.

Q9. Which statement best describes the difference in external fragmentation between the fixed‑partition MFT scheme and the variable‑partition MVT scheme?

A.MFT typically suffers more external fragmentation because partitions are fixed in size ✅
B.MVT eliminates all external fragmentation by using a single partition
C.Both MFT and MVT have identical fragmentation characteristics
D.MFT never experiences fragmentation due to its static layout
💡 Difficulty: medium | ✅ Correct: A

📖 Explanation: In MFT, each partition has a predetermined size, so if a process does not exactly fill its partition, the leftover space becomes unusable, leading to external fragmentation. MVT, by allowing partitions to grow and shrink, can fit processes more tightly, reducing but not completely eliminating fragmentation. Therefore option A correctly captures the higher fragmentation in MFT. Option B is false because MVT can still have fragmentation. Option C ignores the structural differences, and Option D incorrectly claims MFT avoids fragmentation.

🔗 Related Topics (MCQs)