当 Windows 98 启动时,您会看到动画,这是否已经过了第二阶段的引导加载程序?所有驱动程序都已加载了吗?内核是否已运行可执行文件(启动动画),并且该可执行文件是否从 MMIO 和 WDI(Windows 驱动器接口/模型)访问 GPU 内存,还是直接访问内存而尚未加载驱动程序(例如应用程序软件的驱动程序)?
有人能详细说明一下吗?谢谢!
答案1
“第二阶段引导加载程序”……“加载的驱动程序”……“GPU”……
您认为启动 DOS+Windows 是一件(相对)简单的事情,类似于 Windows NT、FreeBSD 和 Linux 发行版等操作系统的启动方式。但事实远非如此简单。
动画是一种古老而简单的个人计算技巧:调色板旋转。没有可执行文件运行。徽标是一个静态位图,已加载到视频 RAM 中,中断钩子只是循环调色板的一部分以使位图“动起来”。也没有 GPU。这是 320×200 VGA 图形,具有 256 种颜色。
至于系统正在做什么以及内核是否已加载,答案是“很多不同的东西”和“这取决于你谈论的是两个内核中的哪一个”。
基本上,徽标是在 DOS 内核(BDOS 和 BIOS,包含其内置设备驱动程序,全部包含在一个文件中io.sys
)加载后加载的。当动画在屏幕上显示时,其余所有启动过程都在进行中,其中包括加载视窗内核(及其设备驱动程序、虚拟机管理器和各种 DOS 管理实用程序……)。此外,还有一个复杂的机制,以确保命令解释器和 DOS 管理实用程序的操作不会将文本弄得满徽标都是,并且如果确实需要,文本模式会恢复。
那些认为它与 Plymouth(多个 Linux 发行版的启动画面系统)相似,并对我上面写的“相对简单”感到疑惑的人应该注意,虽然目标相同,但机制不同。Plymouth 在多任务操作系统上作为相当普通的应用程序模式程序运行。而 DOS+Windows 9x/ME 启动画面涉及固件键盘和视频 API 的挂钩、VGA 寄存器文件的直接操作、VGA 分组视频模式的乐趣,以及在单任务 MS-DOS 上执行“后台工作”所需的繁琐工作。
进一步阅读
- 乔纳森·德·博因·波拉德(1996年)。DOS-Windows 启动过程. 常见问题答案。
- Windows 98 / 95 / ME 动画徽标屏幕. XrX 计算机应用程序。
- DOS-LOGO项目(Wayback)。2008. logotypes.se
答案2
据我所知,Windows 98 在 MS DOS 上运行。因此,实际上,此时计算机已经启动到操作系统。我还了解到,直到 ME 之前的所有 Windows 都使用 MS-DOS 内核,因此当您看到 Windows 98 启动画面时,内核以及基本显示驱动程序已经加载。