📝 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 large pages for database buffers reducing TLB misses by factor of versus standard pages.
Reason:
Architecture-specific optimizations exploit SPARC’s register windows and cache hierarchy delivering enterprise-grade memory performance and observability.
📝 All Oracle SPARC Solaris MCQs
Q1. What is the primary purpose of the relocation register in the SPARC Solaris memory management unit?
📖 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?
📖 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?
📖 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?
📖 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?
📖 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 and a process generating a logical address of , what physical address will the dispatcher load?
📖 Explanation: The physical address is calculated by adding the relocation offset to the logical address: . 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?
📖 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?
📖 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?
📖 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.