荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: agileboy (快乐笛子), 信区: Microsoft
标  题: 深入理解和优化xp启动
发信站: 荔园晨风BBS站 (Tue Dec 17 22:37:48 2002), 站内信件




系统的启动分三个步骤。第一个步骤从接通电源开始,系统BIOS对硬件设备进行例
行的加电自检,即所谓的POST(Power On Self Test)检查,包括RAM检查、软硬
驱和CD-ROM驱动器检测等。接着,BIOS读取活动分区主引导记录MBR(Master Boot
 Record)的启动装载器。最后,当启动装载器初始化完成之后,操作系统启动过
程正式开始。启动操作系统涉及到大量的任务,因此耗时也最长,典型的任务包括
启动操作系统内核、装载磁盘卷、装入设备驱动程序、读取注册信息、寻找新硬件
设备、初始化显示设备和显示出用户界面等。
    同时,它还要连接网络,以及实施各种用户自定义的配置,例如安全配置等。
Win XP通过与硬件更有效地协作,加速了启动过程。

    如果你正打算购买运行XP的新主板,可考虑该主板的BIOS是否支持SBFS,即
Simple Boot Flag Specification,或“简单引导标记规范”,这种BIOS能够更好
地与操作系统配合优化启动速度,例如最大限度地降低BIOS内存检测时间、不再为
即插即用的操作系统初始化设备等等。

    Win XP的NTLDR启动装载器也进行了优化。启动装载器的任务是读取和装入操
作系统内核和相关系统文件。在Win XP中,启动装载器缓存了文件和目录信息,只
需一个I/O周期即可读入系统文件,显著地提高了装入操作系统内核的速度。XP的
内核也为提高启动速度进行了优化,现在,磁盘I/O操作和设备初始化操作可在一
定程度上交迭,即在读取磁盘的同时检测设备和把驱动程序装入内存。另外,针对
XP编写的驱动程序必须做到,只有即将使用的设备才会被初始化。在XP中,网络也
在系统启动的时候而不是以后初始化。

    Win XP利用“预读取”技术,在实际用到设备驱动程序、服务和shell程序之
前装入它们。预读取技术的关键是学习以前的启动过程,对于启动过程中要用到的
各种文件,优化其装入模式。这种优化技术也被用到了应用软件上,系统对每一个
应用软件的前几次启动情况进行分析,然后创建一个描述应用需求的虚拟“内存映
像”,并把这些信息保存到WINDOWSPREFETCH文件夹。一旦建立了映像,应用软件
的装入速度大大提高。XP的预读取数据保存了最近8次系统启动或应用软件启动的
信息。

    通过一个简单的试验可看出预读取技术的作用:删除WINDOWSPREFETCH目录下
与某个应用软件对应的预读取数据,然后看看有预读取数据与无预读取数据的差别
。以Word为例,如果你以前没有用过它,首先启动几次,再按正常方式使用它;然
后,记录从点击图标开始Word需要多长的启动时间。接下来,删除
WINDOWSPREFETCH目录下所有WINWORD.EXE.*.PF文件,再次点击Word图标启动它,
看看它需要多长的启动时间。可以看到,两次启动之间的时间差非常大。不过不用
担心,Win XP将再次开始为Word收集预读取数据,几次启动之后,Word启动速度又
会变得很快。对于启动装载器,也有作用原理类似的预读取数据文件,但如果仅仅
为了试验,最好不要删除它。

    简要说明一下PREFETCH文件夹下的文件的命名规则。如前所述,每一个应用(
包括XP的启动过程)都在PREFETCH目录下有对应的预读取文件,预读取文件描述了
应用启动时各个模块的装载次序。预读取文件的名字以应用执行文件的名字为基础
,加上一个“-”和描述执行文件完整路径的十六进制值,再加上文件扩展名.PF,
例如MMC.EXE-461B77C5.pf。但是,无论在哪一个系统上,XP启动预读取文件总是
同一个名字,即NTOSBOOT-B00DFAAD.PF。

    预读取数据也为Win XP的磁盘整理工具提供帮助。有关最优预读取次序的信息
保存在WINDOWSPREFETCH目录下的Layout.ini文件,你可以用记事本打开这个文件
,看看Win XP认为应该怎样安排文件在磁盘上的物理位置才能达到最快的启动速度
。磁盘整理工具转移文件位置的依据正是在此。实际上,当Win XP觉察到计算机处
于空闲状态时,它会不失时机地运行磁盘整理工具并尝试优化文件的位置。

    Win XP具有缓冲网络连接和配置的能力,这使得XP能够比以前的Windows更快
地响应网络操作。默认情况下,Win XP优先使用缓冲的网络视图,而不是实时检测
到的网络视图。这就是说,当你打开网络视图时,Win XP显示的实际上是以前缓冲
的网络视图,同时它在后台尝试建立连接。这种处理方式减少了网络操作延迟时间
,即使网络上域、DHCP或DNS服务器出现故障也给用户流畅的操作感觉。

    下面我们来看看如果主板BIOS不支持SBFS规范,应当如何优化系统。由于不同
厂商的BIOS菜单不尽相同,这里只能给出要关注的几个项目,BIOS实际显示的菜单
或选项名字可能有所出入:

    启用Quick POST(快速开机自检)。此举将禁止全面内存检查、启动Logo之类
的操作。

    禁用Boot up floppy seek(启动时搜寻软驱),搜寻软驱会耗用一定的启动
时间。

    调整启动设备的次序,最好设置为“C only”(只从硬盘启动)。这不仅提高
了启动速度(避免了系统检查不可启动的设备,如没有软盘的软驱),而且也避免
了系统从软驱或其他设备启动。有特殊需要时,例如无法用C盘启动,再在BIOS中
把启动设备改为软驱或CD-ROM之类的设备。

    启用PnP-OS(即插即用操作系统)。这个选项禁止BIOS检测设备,把检测设备
的任务留给操作系统完成。对于主流的Windows操作系统,启用该选项能够显著地
减少启动时间。

    对于操作系统,提高启动速度最重要的是禁止各种不必要的程序和服务自动启
动。Win XP提供了一个方便的工具:点击“开始”菜单的“运行”,运行
msconfig,然后禁止所有不必要的程序自动启动。

    最后推荐一个工具,它能够分析、显示和优化系统的启动过程。这个工具是
BootVis,你可从微软下载中心搜索“BootVis”得到,因为下载Url很长,这里就
不再给出。下载好之后,解开压缩,点击BootVis.exe运行。关闭其他所有正在运
行的软件,选择BootVis的菜单File>New>Next Boot+ Drivers Trace,系统将在
15秒内重新启动。重新启动后,稍等,因为有一些文件要写入磁盘——你可以看到
相应的提示信息。这个过程结束后,BootVis再次启动,显示出图一所示的图表。
有关这些图表的详细说明,可参看BootVis的帮助,这里就不再说明。如果你不想
了解BootVis的工作细节,那么,只要知道这些图表说明的是启动过程中装入各个
部分所需时间,这就足够了。

--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.48.27]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店