APP下载

加快Windows 7 操作系统启动速度的研究

2013-07-03赵海雁刘变莲

山西电子技术 2013年2期
关键词:内核硬盘内存

赵海雁,刘变莲

(中北大学电子与计算机技术学院,山西 太原 030051)

0 引言

Windows XP 系统自2001 年10 月份正式发布以来,一直受到广大的电脑爱好者的欢迎。随着计算机硬件与软件的不断发展,Windows XP 系统步履越来越蹒跚。而Windows 7操作系统的出现,适应现代发展的需求。因为它能兼容32位与64 位软件并能很好地支持硬件,所以成为微软最受用户欢迎的操作系统,根据当前市场销售份额来看已证明这一点。

微软公司推出Windows 7 操作系统版本很多,有不同家庭普通版的,还有不同的专业版。尽管Windows 7 操作系统由于版本不同,功能实现有些差异,但它们启动原理却基本相同。Windows 7 操作系统启动原理与Windows XP 操作系统有所不同,它以全新的开机理念,加速了开机速度。对此本文深入分析研究两个操作系统的启动原理,从而阐述Windows 7 开机快捷根源。同时给出加速开机的多核设置方法。

1 Windows 系统启动过程原理全面分析

Windows7 与Windows XP 系统启动过程大致分为五个过程:电源开启自检、初始化启动、引导程序读取数据、系统内核初始化与驱动加载,用户登录过程。

1.1 电源开启自检[1]

Windows7 与Windows XP 在这一过程都是加电自检。加电后,BIOS 载入必要的指令,对BIOS 上的硬件设置开始初始化检测。并从CMOS 中读取系统配置信息,验证启动操作系统的设备是否正常。在完成了电源启动的自检之后,每个带有固件的硬件设备,如显卡和磁盘控制器,都会根据需要完成内部的自检操作。

1.2 初始化启动

在这一过程中,Windows7 与Windows XP 完成了电源BIOS 启动自检过程之后,打开启动硬盘,通常设置硬盘C为启动硬盘。通过启动硬盘启动磁盘的第一个扇区的主引导记录MBR,然后MBR 读取主分区表dpt。Windows7 与Windows XP 系统从这一阶段开始,他们启动过程不相同。

1.3 引导程序读取数据

从MBR 读取dpt,dpt 读完找到主分区之后然后找到这个主分区的分区引导代码pbr ,pbr 位于激活主分区的第一个扇区。安装不同操作系统的时候pbr是会被改变。

1.3.1 WindowsXP 引导程序读取数据过程

Windows XP 引导代码pbr 查找的是ntldr 文件,找到之后启动它。BIOS 将控制权转交给ntldr,由ntldr 完成操作系统的启动,如图1所示。

图1 Windows XP 启动原理流程图

(1)在基于X86CPU的系统下,ntldr 将处理器8 或16 位实模式改为32 位平滑内存模式。因为CPU 处在32 位模式下,可以对大容量内存进行直接存取。

(2)ntldr 中包含相应的代码,能够帮助Windows XP 完成对NTFS 或FAT 格式的磁盘进行读写。从而能够读取、访问和复制文件。

(3)通过ntldr 分析并读取boot.ini 文件,确定操作系统分区所在的位置。如果单操作的系统,不会出现选择启动系统页面。此时ntldr 会启动ntdetect.com 程序。在基于X86的系统,detect.com 会通过调用系统固件程序收集安装的硬件信息,然后由ntdetect.com 将这些信息传递送回ntldr。

(4)ntldr 会对内核进行初始化,在初始化之前加载系统内核ntoskrnl.exe 与硬件抽象层HAL(hal.dll 文件),然后加载底层设备驱动程序和需要的服务。

(5)ntldr 从ntdetect.com 收集到硬件配置信息创建HKEY_LOCAL_MACHINE的hardware 键。然后创建计算机数据备份。

1.3.2 Windows7 引导程序读取数据过程

Windows7 由于采用了引导配置数据库这一技术,采用了不同与Windows XP的启动方式,启动速度得到了明显的加快。

Windows7是通过引导代码pbr 寻找bootmgr,从此BIOS将把控制权转交给bootmgr,如图2所示。

(1)bootmgr 寻找根boot 目录下的bcd,读取PC 机存储在引导配置数据库bcd 上系统卷,bcd 相当于WindowsXP的boot.ini 引导文件。然后bcd 从注册表中读取启动配置数据后,操作系统正常启动。

(2)同时引导代码找到%SystemRoot% System32Winload.exe。通过Winload.exe 加载系统内核ntoskrnl.exe 与硬件抽象层hal.dll,并加载引导启动设备驱动程序。此时bootmgr 将控制权移交给操作系统。

图2 Windows 7 启动原理流程图

1.4 用户登录过程

内核初始化完成后,继续把驱动设备与服务加载会话管理器smss.exe(Windows/system32 文件夹下)。

Windows 启动应用程序wininit.exe,它负责启动services.exe(服务控制管理文件),启动本地安全授权lsass.exe(Local Security Authority ,LSA),对于Windows7 还要启动本地会话管理器(Lsm.exe),此时系统启动完成。

通过对Windows7 与Windows XP 启动过程原理的全面分析,很直观地观察到Windows7的启动过程简单,操作系统启动直接。因而启动速度远超于Windows XP。

2 STD/STR 两种快速开机功能

Windows7 系统设置了两种快速开机的模式:“睡眠”、“休眠”两种模式。这两种模式都是基于电源的管理技术。高级配置与电源接口ACPI 就是电源管理技术的标准。

ACPI 共有六种状态,其中S3 状态是STR,S4 状态是STD。

STD(Suspend to Disk)是休眠至硬盘,叫“休眠模式”。当系统从休眠恢复启动时,Winload.exe 会通过执行%SystemRoot% System32Winresume.exe 将休眠硬盘上hiberfil.sys的文件加载到内存中(如图2),并快速恢复系统正常启动时的配置,重新快速登录。由于休眠时,从内存写入硬盘的文件是一个文件,因而读取的速度要比正常启动时效率高很多。

STR(Suspend to RAM)是休眠至内存,叫“睡眠模式”。当系统从睡眠恢复启动时,系统wininit.exe 提取保存在session 0 中的系统状态和内存内容,并能重新快速启动。与STD 不同的是STR 直接从内存中提取数据,由于内存的存取速度远高于从硬盘提取的速度,所以STR 显然要比STD快很多。STD是通过操作系统软件实现的。因为Windows XP 无法实现从内存提取数据,因此在Windows XP 没有“睡眠模式”。

3 SMT 驻留的技术

Windows7 操作系统可以充分利用SMT 驻留的技术,加快开机速度。

SMT[2]是Simultaneous Multi-Threading的缩写形式,意思为同时多线程。SMT 驻留的技术从本质上来说是一种同时多线程技术,它是通过Hyper-threading 超线程处理技术把同一个任务同时分给同时多线程来完成。也就是说超线程处理器被应用程序分为两个分离的逻辑处理器,每个逻辑处理器都可独立响应中断,有效避免了一个线程执行的同时另一个线程闲置的状况,这样处理多任务的速度明显加快。

Windows7 操作系统由于提供了SMT 驻留的技术,因而相比WindowsXP 来说,不论从启动,还是视频编辑、图像处理等,其整体运行速度有显著提高。WindowsXP 在单核处理器和多核处理器[3]的性能差异上没有明显区别,而Windows 7 系统由于对Intel的超线程技术支持,能够将单个处理器内核看作两个核;如果是两个核处理器,可以看成四个核,因此Windows 7 系统能够在更短的时间里完成多项任务。对于Windows 7 操作系统开机来说,它也是通过增加核心数量来减少系统启动时间,从而开机速度有一个明显提高。

一般操作系统在默认状态下启动时,只使用单个CPU核心工作。而Windows 7 系统配置里面有针对多核CPU的设置。如图3所示。

运行msconfig 打开“系统配置”窗口。点击“引导”选项卡,找到“高级选项”按钮,点击后在“引导高级选项”界面,勾选“处理器数”,如是双核就选择2;同时还可以勾选“最大内存”。点击确定按钮后,重启计算机[4]。

图3 系统多核设置图

4 结束语

随着硬件的不断发展,WindowsXP 操作系统已无法适应硬件各方面的要求,而Windows 7 操作系统的出现能够很好地支持当今的硬件系统。因此Windows7 系统在启动方式上也有了很大的改进。因为采用了全新的启动方式,所以加快Windows 7 开机启动速度。

为了更好地体现Windows7 系统开机的快捷,还需要一些设置。比如:卸载暂不需要的软件与服务。利用第三方软件,如:360 安全卫士,去掉影响速度的插件和垃圾,并用360系统急救箱进行系统检测。通过这些设置,会明显感到Windows7 开机快捷这一优势。

[1]Fried,Ina.The XP Alternative for Vista PCs (Vista 电脑的XP 转换)[DB/OL].http://www.news.com/The-XP-Alternative-for- Vista- PCs/2100- 10163-6209481.html,2007-09-21.

[2]Lumer E.Faieta B.Diversity and Adaptation in Populations of Clustering Ants[C].InProceedings of the Third International Conference Oil Simulation of Adaptive Behaviour:From Animals to Animats 3.Cambridge,MA:MIT Press,1994:501-508.

[3]李彦哲,朱英.多核微处理器技术[J].高性能计算技术,2005:5-8.

[4]孙雷.一增一减 加速Windows7 开机和关机速度[J].网络与信息,2010(2):75.

猜你喜欢

内核硬盘内存
万物皆可IP的时代,我们当夯实的IP内核是什么?
强化『高新』内核 打造农业『硅谷』
HiFi级4K硬盘播放机 亿格瑞A15
Egreat(亿格瑞)A10二代 4K硬盘播放机
“春夏秋冬”的内存
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
我区电视台对硬盘播出系统的应用
基于内存的地理信息访问技术
上网本为什么只有1GB?