深入理解和优化Windows XP启动

2016-01-29 17:39 5 1 收藏

深入理解和优化Windows XP启动,深入理解和优化Windows XP启动

【 tulaoshi.com - windows 】

 

  系统的启动分三个步骤。第一个步骤从接通电源开始,系统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中,网络也在系统启动的时候而不是以后初始化。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/windows/)

  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服务器出现故障也给用户流畅的操作感觉。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/windows/)

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

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

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

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

来源:http://www.tulaoshi.com/n/20160129/1502367.html

延伸阅读
1. 配置Tomcat虚拟目录 在D盘创建文件夹“javaweb”,然后添加WEB-INF文件夹及其内容。创建index.html页面,随便写些什么。 在tomcat安装路径下满的webapps/conf/server.xml中Host节点下面添加: Context path="/javaweb" docBase="D:\javaweb"/ 之后在浏览器中敲入http://localhost:8080/javaweb/搞定。哦也。 2.安装Tomcat之配置 现实...
B树是为磁盘或其他直接存储设备设计的一种平衡查找树。如下图所示。每一个结点箭头指向的我们称为入度,指出去的称为出度。树结构的结点入度都是1,不然就变成图了,所以我们一般说树的度就是指树结点的出度,也就是一个结点的子结点个数。有了度的概念我们就简单定义一下B树(假设一棵树的最小度数为M): 1.每个结点至少有M-1个关键码,至多有2...
一提到访问控制符protected,即使是初学者一般都会很自信的认为自己在这方面的理解没有问题。那好,我们提一个问题出来看看..... 请看下面两端代码,其中包B中的猫和鼠都继承了动物类。 代码如下: //代码1:包A中有一个动物类  package testa;  public class Animal {      protected void crowl(String ...
Java容器类包含List、ArrayList、Vector及map、HashTable、HashMap   ArrayList和HashMap是异步的,Vector和HashTable是同步的,所以Vector和HashTable是线程安全的,而ArrayList和HashMap并不是线程安全的。因为同步需要花费机器时间,所以Vector和HashTable的执行效率要低于ArrayList和HashMap。 Collection ├List  &nbs...
★ 编程思路 : java.security包中的MessageDigest类提供了计算消息摘要的方法, 首先生成对象,执行其update( )方法可以将原始数据传递给该对象,然后执行其digest( )方法即可得到消息摘要。具体步骤如下: (1)生成MessageDigest对象 MessageDigest m=MessageDigest.getInstance("MD5"); 分析:和2.2.1小节的KeyGenerator类一...

经验教程

151

收藏

14
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部