三.Windows内核
Windows是由微软公司开发的基于图形界面的多任务操作系统,又称窗口操作系统[5]。Windows是庞大复杂的系统,由于Windows并不公开源代码,我们在调试程序的时候,往往就调到自己未知领域去了[6]。在很多情况下,Windows的不同版本之间和内核程序是二进制兼容的。也就是说同一个sys文件放到2000下和2003下可能都能运行。但是,由于Windows内核不断升级,内核调用个数的增加,会导致有时候不兼容的情况出现。因此编译内核程序的时候,应该选定一个版本的目标操作系统。所有的Windows NT组件其本身都是DLL、PE格式的.EXE文件、导入导出函数。现代操作系统的一个明显特征就是用户空间的划分,从UNIX时代以来,人们一直把存在于系统空间的代码和数据的集合称为“内核(Kernel)”,而在Windows的术语中却不同,微软并不把系统空间的所有代码和数据集合称为内核,而是把这里的一部分,即比较底层、于硬件靠的最近因而最为核心的一部分称为“内核”,即Kernel[7]。Windows的内核本质上是一个庞大的整体的内核,以至于操作系统的核心和设备的驱动程序都共享同一个内存地址空间,都运行在合适的最高的权限级别[8]。
Windows内核分为三层,与硬件直接打交道的这一层称为硬件抽象层(Hardware Abstraction Layer,简称HAL),HAL之上是内核层,有时候也称微内核(micro-kernel),在内核层之上则是执行体(executive)层[9]。
深入的学习内核有利于在硬件和软件方面的提高,内核中比较底层,与硬件较为接近,而且提供了一些,更有利于实现一些软件的功能。
四.引导器
启动引导器是保存在硬盘引导扇区中,负责引导硬盘分区中指定操作系统启动的程序代码。不同的操作系统会使用不同的启动引导器程序来引导自己的系统启动,操作系统的安装程序通常会在安装过程中将启动引导器安装到硬盘的主引导扇区(MBR)或硬盘分区的引导扇区中。Windows的引导过程并不是从你打开计算机的电源或者Reset按钮开始的,而是当你在自己的计算机上安装Windows的时候开始的[10]。在Windows Vista和Windows 7中使用的新的启动管理器Bootmgr,以代替Windows XP中的启动管理器NTLDR,而本实验采用的是GRUB。GRUB (Grand Unified Boot Loader)
是功能强大的启动引导器,不仅可以对Windows系统进行引导,也能够正常引导Linux及PC机上的其他常见的操作系统。其特点如下:
GRUB提供了真正的命令行交互界面,用户能够灵活的使用各种命令引导操作系统和收集系统信息。与LILO和其他的启动引导器相比,GRUB提供了更丰富的功能
GRUB支持使用配置文件对启动菜单的设置进行永久性保存,通过修改GRUB的配置文件,管理员可以自行定义系统启动菜单的功能
GRUB提供了多系统启动的支持,除了可以引导各种版本的Windows操作,还可以引导硬盘中Linux的DOS和系统,实现了真正的多系统启动管理。
结论:
综上所述,通过对国内外的研究分析,发现我们这些U盘工具的使用者,对其运行机制并不是很了解,过度依赖U盘一键制作工具,知其然而不知其所以然。这就使得我们对其运行调用机制的研究显得尤为重要,自己动手引导WinPE系统,能从引导的过程中让我们接触到其内部的引导运行机制,了解引导运行过程,使得在没有一键工具的情况下,能制作出U盘维护系统,在关键时候能解决我们所遇到的电脑系统的各种问题。这个研究过程需要我们去查阅相关资料,以获得更多的理论知识,完成我们的实验。