Appearance
题目
计算机开机后,操作系统最终被加载到( )。
错因
A
把 BIOS 当成"OS 装在哪里"——但 BIOS 本身是固件,只在开机的最初阶段运行,负责自检 + 找到引导扇区 + 加载引导程序。OS 不会装到 BIOS 里(BIOS 只有几 MB,装不下 OS;且 BIOS 是只读的,OS 还要可修改)。混了"BIOS 启动 OS"和"OS 装到 BIOS"两件事。
B
ROM(只读存储器)保存的是 BIOS 这种固化代码——出厂烧录、运行时不可修改。OS 不能装在 ROM 里:① OS 要支持升级、补丁、更新,ROM 不可写;② 不同机器装不同 OS,不可能厂家预写在 ROM 里。把 OS 装在 ROM 是把"系统初始化代码"和"可变的操作系统"混了。
C
EPROM(可擦除可编程 ROM)虽然能擦写,但要紫外线擦写(早期机型)或电擦写(EEPROM),不是工作内存。OS 在运行时频繁读写代码段、数据段、栈,需要的是高速可读写的 RAM,不是 EPROM 这种慢且擦写次数有限的存储介质。
总解析
开机流程(标准 PC):
1. 上电 → CPU 从固定地址开始执行 BIOS(在 ROM 里)
2. BIOS 自检(POST)+ 初始化硬件
3. BIOS 读磁盘第一个扇区(MBR)→ 加载引导程序
4. 引导程序读磁盘上的 OS 内核镜像 → 加载到 RAM
5. 跳转到 RAM 中的 OS 入口 → OS 开始运行OS 最终在 RAM 里运行——理由:
| 要求 | RAM 满足? | ROM/EPROM/BIOS 满足? |
|---|---|---|
| 高速读写(CPU 取指、改数据) | ✓ | ✗(ROM 慢且不可写) |
| 大容量装下整个内核(几 MB ~ 几十 MB) | ✓ | ✗(ROM 容量小) |
| 可频繁修改(动态加载模块、改数据结构) | ✓ | ✗ |
| 选项 | 性质 | 能装 OS? |
|---|---|---|
| A BIOS | ROM 里的固件代码 | ✗(容量、可写性都不够;且 BIOS 不是存储区域而是程序) |
| B ROM | 只读,出厂固化 | ✗(不可改) |
| C EPROM | 可擦写 ROM,慢且次数有限 | ✗(不能作为运行时内存) |
| D RAM | 高速、可读写、大容量 | ✓ |
速记:BIOS 在 ROM 里负责"找到 OS 并把它搬到 RAM",OS 真正的运行场所是 RAM。开机后 ROM 里的 BIOS 不再被频繁执行,CPU 一直在执行 RAM 里的内核代码 + 用户进程。
最终答案是 D。