当 Windows 98 启动并且您看到动画时,这是否已经通过了第二阶段的引导加载程序?所有的驱动都加载了吗?内核是否已经在运行一个可执行文件(启动动画),该可执行文件是从 MMIO 和 WDI(Windows 驱动器接口/模型)访问 GPU 内存,还是在尚未加载驱动程序的情况下直接访问内存(例如应用程序的驱动程序)?软件)?
谁能详细说明一下?谢谢!
“第二阶段引导加载程序”……“加载的驱动程序”……“GPU”……
您认为启动 DOS+Windows 是一件(相对)简单的事情,类似于 Windows NT、FreeBSD 和 Linux 发行版等操作系统的启动方式。这远不简单。
动画是一个古老而简单的个人计算技巧:调色板旋转。没有正在运行的可执行文件。标志是一个静态位图,它被加载到视频 RAM 中,一个中断钩子只是循环调色板的一部分,使位图“动画”。也没有 GPU。这是具有 256 色的 320×200 VGA 图形。
至于系统在做什么以及内核是否已加载,答案是“有很多不同的东西”和“这取决于您正在谈论的两个内核中的哪一个”。
基本上,徽标是在 DOS 内核(BDOS 和 BIOS,包含其内置设备驱动程序,全部在一个文件中io.sys
)加载后加载的。虽然动画在屏幕上显示,但启动过程的所有其余部分都在进行,其中包括加载Windows内核(及其设备驱动程序、虚拟机管理器和各种 DOS 内务管理实用程序……)。并且在幕后有一个复杂的机制,以确保命令解释器和 DOS 内务管理实用程序的操作不会在徽标上到处乱写文本,并且如果确实需要,则恢复文本模式。
那些看到这里与 Plymouth 相似的人,几个 Linux 发行版的启动屏幕系统,并想知道我上面写的“相对简单”应该注意,虽然目标相同,但机制不同。Plymouth 在多任务操作系统上作为一个相当普通的应用程序模式运行。而 DOS+Windows 9x/ME 启动画面涉及到固件键盘和视频 API 的挂钩、对 VGA 寄存器文件的直接操作、VGA 存储视频模式的乐趣,以及在单任务 MS 上做“背景工作”所需的肮脏-DOS。
归档时间: |
|
查看次数: |
357 次 |
最近记录: |