System initialization — From where do operating systems obtain the system’s total memory information during boot on legacy PCs?
-
ACPU
-
BBIOS (firmware reports memory/SMBIOS/INT 15h services)
-
CROM (generic)
-
DRAM itself without firmware involvement
-
ENone of the above
Answer
Correct Answer: BIOS (firmware reports memory/SMBIOS/INT 15h services)
Explanation
Introduction / Context:During early boot, the operating system queries the platform for hardware configuration, including usable memory. On legacy BIOS-based PCs, firmware provides standardized interfaces to report memory maps and sizes.
Given Data / Assumptions:
- Classic BIOS environment (not pure UEFI with ACPI tables only).
- OS relies on firmware calls and/or SMBIOS/ACPI data.
- Question asks which component initializes and reports memory totals.
Concept / Approach:
The BIOS performs POST, detects installed memory, and exposes the results via INT 15h services, E820 memory maps, and SMBIOS/ACPI tables. The OS consumes these to understand total and reserved regions of RAM before establishing its own memory manager.
Step-by-Step Solution:
BIOS runs POST and enumerates memory.BIOS publishes memory data through standardized interfaces (e.g., INT 15h/E820, SMBIOS).OS queries BIOS to obtain total/usable memory and region layout.Therefore, the source is the BIOS.Verification / Alternative check:
Boot logs of many OSes show calls to firmware memory map services. UEFI successors use similar concepts via UEFI Boot Services and ACPI tables.
Why Other Options Are Wrong:
The CPU does not inventory RAM; RAM cannot self-report; “ROM” is too generic—BIOS is the specific firmware entity responsible.
Common Pitfalls:
Confusing CMOS with BIOS roles; assuming the OS magically knows memory without firmware or probing.
Final Answer:
BIOS (firmware reports memory/SMBIOS/INT 15h services).