知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > Win—XP

操作系统的保护系列之优化篇

发布时间:2012-12-08 23:47:39作者:知识屋

学习,不在学其形,贵在学其神。明白了操作系统优化的原理,即使面对一个全新的操作系统,也能很快地将其优化……

 内容简介:本文主要从硬盘引导、操作系统引导、载入基本操作系统、定义临时目录、定义虚拟内存盘、载入系统服务、载入自定义服务、定义GUI这八个方面来说明针对操作系统的优化。

  不管您使用的是Windows也好,Linux也好,或者是Freebsd(为避免语言烦琐,以下如同时指代Linux和FreeBSD的地方,一律以UNIX进行替代)也好,肯定都想寻求尽可能快的速度,那么,在有些特定环境下就只有对系统进行优化。在前面的几期网管笔记中,我们已经介绍了好几篇网管系列的文章,这次我们推出了操作系统的保护系列中的系统优化篇。



任何技术,只要掌握了方法则都能举一反三,“师傅领进门,修行在个人”。天极网上关于系统优化的文章相当多,但这次讲的内容和其它优化文章比起来,还是有较大的不同。各位如果在阅读下面的内容时,遇到技术疑难,都可以在天极网的操作系统栏目的相关文章中寻找到答案——学会查询资料,也是提高的必要技巧之一呢。

  一个操作系统,必定是建立在硬件基础上的。而硬件,则可大致分为CPU、主板、内存、外存几个部分。关于CPU超频、内存在BIOS中的设置,开启硬盘的DMA66支持等等的介绍已经相当多,在此我就不赘述了。

  一个操作系统的使用,依次会涉及到硬盘引导、操作系统引导、载入基本操作系统、定义临时目录、定义虚拟内存盘、载入系统服务、载入自定义服务、定义GUI这几个步骤,这是不管Windows、Linux还是Freebsd等操作系统都是如此。也就是说,我们如果能尽量优化上面每个步骤,则就能把系统的性能提升起来。接下来,就让我们一起把每个步骤做到最优。

 1、硬盘引导


从硬盘的0磁道开始的第一个扇区处读取信息,以载入操作系统引导程序,在这一步上,由于系统能读取的只是一个扇区的数据资料,只有512Kb,因此不能直接将操作系统的引导程序放入其中,而只能读入一个很小巧的程序,再由那个程序来引导操作系统,以Windows为例,在这一步被读入的是IO.SYS和MSDOS.SYS(安装了Win98后有这个)。由于一般来说这个程序都是由各个基础操作系统所默认的,因此一般没有办法进行自定义优化。不过值得一提的是如果使用的是Windows98系统,那么通过定制MSDOS.SYS文件,可以在速度上达到一定的提高,让我们打开瞧瞧:

  [Paths]
  WinDir=C:Windows ;Windows所在的目录
  WinBootDir=C:Windows ; 引导目录
  HostWinBootDrv=C ;引导盘(建议这三个别改动)

  [Options]
  BootMulti=1 ;是否按f8出菜单,以及是否f4/f2快捷功能菜单有效,值得注意,美萍等管理软件之所以能屏蔽启机时候按f8/f4/f2无效果就是在这里动的手脚
  BootGUI=1 ;是否图形引导
  DoubleBuffer=1 ;双倍缓冲,建议设置为1
  AutoScan=1 ;是否每次启机检查硬盘,这对非法关机后修复磁盘很有帮助,不过如果对自己的Win98很有信心,不妨设置成0
  WinVer=4.10.2222 ;Windows的版本号

2、操作系统引导

  BootWin=1 ;以Windows方式引导
  DrvSpace=1 ;(这个选项功能不明)
  DblSpace=1;这个选项功能不明)
  LOGO=1 ; 是否显示开机画面,事实上Windows的启机画面载入大概会花费1秒左右的时间,既然我们想优化,那么就设置成0吧
  BootDelay=0;引导延迟,设置成0最快
  DisableLog=0;不记录引导时候的log,如果追求速度,可以设置成1
[!--empirenews.page--]副标题[/!--empirenews.page--] 

 

  Windows2000/XP的Boot、Linux和Freebsd的LILO、Grub都是非常出色的操作系统引导程序。如果想优化,就把自己最常使用的操作系统设置为默认项目,并将默认的启动时间修改为1秒。以Windows2k/xp 为例,可以用记事本等文字编辑工具打开系统盘根目录下的boot.ini文件(注意,这个文件本身是系统+隐藏属性),其中有一行为timeout=xx,其中这里的xx,就是系统在引导系统时候的等待时间。为了达到减少时间的目的,我们可以写成timeout=1,注意别写timeout=0,这表示无限等待,直到用户手工选定了为止。同样的,在grub中有一个menu.lst文件,其中的timeout参数的值与上面提到的Windows系统中boot.ini的timeout参数作用、设置方法上完全一样(这也是天缘提倡地学好一个操作系统贵在了解其原理和工作流程,自然就会一通百通的道理。)

  3、载入基本操作系统

  这一部分中,操作系统将自身的程序、连接文件载入,由于载入的是基本文件,在Windows中就是Windows的内核,而在UNIX中,则可以把这步理解为内核的载入。由于Windows的内核是保密的,因此没有办法擅自修改,而在UNIX中,则可以利用重新生成内核的命令,尝试去掉自己不需要的驱动、设备支持和功能来缩减内核的功能并减少启动时间。这也就是为什么人们很看好Linux在嵌入式行业发展的原因——由于内核完全可以定制,所以可以只保留需要的功能,整个内核可以做得非常小巧。Ok,回过来,因为内核程序速度非常快,所需要的时间本身就很少,而关于定制Linux的内核,可以参考天极网的相关文章。各位朋友切记一点:“由于操作系统所在的分区本身就时常进行读写操作,因此最好为操作系统单独划分一个分区,而把临时目录、暂存盘、文件、游戏、备份等放到其他分区去。”这一点是我们进行下面的优化步骤的大前提,以下我们的几步操作,都是以此为大前提来进行的。

  4、定义临时目录

  由于操作系统在执行一些烦琐的运算、解压缩文件的时候,都是先将文件临时放在某个目录下,在任务执行完后再删除。Windows下默认是放在操作系统下的temp目录中,UNIX下默认是放在/tmp中。如果我们能想办法提高其读写速度,则就能在这步中达到优化的效果。由于硬盘的物理形态因素,导致硬盘在内区读写速度会比外区更快一些,因此考虑将临时目录放在靠近磁盘内区物理位置的地方。在Windows、UNIX等大多数操作系统情况下,都是越分在前面的分区越靠近内区,越分在后面的分区越靠近外区。UNIX下可在划分了/boot后,马上划分/tmp分区;在Windows下由于根据第3条中提到的尽量减少操作系统所在分区的读写操作,因此我们将临时目录建在D盘, 针对Win9x和2000的方法略有出入:

  Win9x:

  1.在D盘下新建立一个目录temp;
  2.用记事本打开c:autoexec.bat(如没有,可自行建立一个),输入以下两行;
  @set temp=d:temp
  @ set tmp=d:temp

  Win2000/XP:

  1.在D盘下新建立一个目录temp;
  2.打开“控制面板”——“属性”——“高级”;
  3.在“系统变量”这里,将temp和tmp的值,都改为d:temp;

  好了,重新启机之后,就生效了。不过由于Windows仍然有某些程序的默认临时目录不是我们所指定的temp目录,所以还需要手工指定一下。以IE为例:“工具”——“Internet选项”——“Internet临时文件”这里的“设置”——“移动文件夹”,将临时目录指定成我们的d:temp就行了。

  值得一提的是,不管是Windows也好,UNIX也好,相当一部分用了临时文件后没有清除它,因此可以定期每周把d:temp清空。在UNIX下对于这样的定期命令可以通过cron来完成。[!--empirenews.page--]副标题[/!--empirenews.page--]5、定义虚拟内存盘

 

  我们的操作系统在调用程序,相关的资源文件的时候,都需要将程序由速度较慢的外存,调用到速度较快的内存中之后再进行操作。由于外存的价格相对内存为低,因此大多数用户在内存不够充裕的条件下,一般会选择用外存硬盘来虚拟内存使用。需要说明的是,这只是在技术上的虚拟内存,并不能真正使这部分硬盘的读写速度有任何提升。因此在资金允许的情况下,建议用户能够升级到512M内存为比较适合。天缘常常见到很多用户盲目追求高速cpu,而忽略了对内存的需求。事实上只有类似Photoshop、3D MAX、WinAMP等需要即时演算、解码操作(图形类的渲染大多可以通过显卡来完成来减轻cpu负担),大多数常用的办公软件、第三方工具其实对CPU并没有很大的消耗,而是需要大量高速内存的支持。按照我们上一步中的知识,自然虚拟内存盘的读写速度也应该是越快越好了?所以很多书上在介绍unux安装的时候,会建议swap分区靠前;而Windows下,我们则可以指定把虚拟目录放到d盘下去。同样,针对Win9x和Win2k/xp有两种方式来完成。

  Win 9x:

  1. 打开“控制面板”——“属性”——“性能”——“虚拟内存”;
  2.将虚拟内存指定为自定义,选择d盘;
  3. 重新启动计算机;

  Win 2k:

  1. 打开“控制面板”——“属性”——“高级”——“性能选项”; 
  2. 在这里,如果您的机器是自己用,就选“应用程序”,如果是提供Ftp或者Web服务,就选择“后台服务”。(由此可见,微软是为了节约开发成本,将Win2k的pro/server/advance server三种版本用同样的构架搭建出来的)
  3. 选中“虚拟内存”这里的“更改”
  4. 将c盘的虚拟内存去掉,将d盘的虚拟内存根据需要进行适当设置;
  5. 重新启动计算机;

  恩,经过这么一来。当计算机发现内存不够的时候,就会在d盘下建立虚拟磁盘来模拟内存使用了。虚拟出来的内存是一个在Win9x下名为Win386.swp,Win2k下名为pagefile.sys的文件。别忘记将原来的c盘下的同名文件删除,以增加c盘的可用空间哟。当然,硬盘的读写速度是远远不及内存的,因此这只是权宜之计,添置更多的物理内存才是正解。

  6、载入系统服务

  在这一步中,系统将会载入基本的服务。例如Win2k下的“控制面版”——“控制工具”——“服务”中的项目;UNIX下也类似。在这里,一般来说我们不能对服务的内部进行改造以增加效率,但是我们只选择需要的服务,而关闭不必要的服务。在这里,个人用户和服务器管理员都要记住的一条定律会起作用“可开可不开的一定不开,可用可不用的一定不用”,这样不但会减少系统的启动时间、增加系统的可用内存、并且也尽量地避免了安全漏洞。记得前辈曾经指点过我:“服务器提供的服务越多,则可能存在的漏洞也越多,越容易被攻击”。但是不管在w2k还是在UNIX中,默认打开的一些服务是我们所不需要的,甚至是危险的。以Win2k为例,“远程控制注册表”、“dhcp服务器”等等这些功能居然都是默认开着的,而UNIX下的不少操作系统默认时候“sendmail”、“smaba”也是开着的。

  所以,根据自己的选择,恰当的选择必要的服务。这一步会相当消耗时间,而且也会遇到对某些服务的疑问,但性能的提升也具有最大潜力。值得一提的是,一些后台运行的程序也将自己添加到其中,常见的例如杀毒软件,以及令人讨厌的冲击波病毒。关于详细的介绍,天极网上介绍操作系统的一些文章中都有详细描述,我在这里一一写出,就有骗稿费的嫌疑了。[!--empirenews.page--]副标题[/!--empirenews.page--]5、定义虚拟内存盘

 

  我们的操作系统在调用程序,相关的资源文件的时候,都需要将程序由速度较慢的外存,调用到速度较快的内存中之后再进行操作。由于外存的价格相对内存为低,因此大多数用户在内存不够充裕的条件下,一般会选择用外存硬盘来虚拟内存使用。需要说明的是,这只是在技术上的虚拟内存,并不能真正使这部分硬盘的读写速度有任何提升。因此在资金允许的情况下,建议用户能够升级到512M内存为比较适合。天缘常常见到很多用户盲目追求高速cpu,而忽略了对内存的需求。事实上只有类似Photoshop、3D MAX、WinAMP等需要即时演算、解码操作(图形类的渲染大多可以通过显卡来完成来减轻cpu负担),大多数常用的办公软件、第三方工具其实对CPU并没有很大的消耗,而是需要大量高速内存的支持。按照我们上一步中的知识,自然虚拟内存盘的读写速度也应该是越快越好了?所以很多书上在介绍unux安装的时候,会建议swap分区靠前;而Windows下,我们则可以指定把虚拟目录放到d盘下去。同样,针对Win9x和Win2k/xp有两种方式来完成。

  Win 9x:

  1. 打开“控制面板”——“属性”——“性能”——“虚拟内存”;
  2.将虚拟内存指定为自定义,选择d盘;
  3. 重新启动计算机;

  Win 2k:

  1. 打开“控制面板”——“属性”——“高级”——“性能选项”; 
  2. 在这里,如果您的机器是自己用,就选“应用程序”,如果是提供Ftp或者Web服务,就选择“后台服务”。(由此可见,微软是为了节约开发成本,将Win2k的pro/server/advance server三种版本用同样的构架搭建出来的)
  3. 选中“虚拟内存”这里的“更改”
  4. 将c盘的虚拟内存去掉,将d盘的虚拟内存根据需要进行适当设置;
  5. 重新启动计算机;

  恩,经过这么一来。当计算机发现内存不够的时候,就会在d盘下建立虚拟磁盘来模拟内存使用了。虚拟出来的内存是一个在Win9x下名为Win386.swp,Win2k下名为pagefile.sys的文件。别忘记将原来的c盘下的同名文件删除,以增加c盘的可用空间哟。当然,硬盘的读写速度是远远不及内存的,因此这只是权宜之计,添置更多的物理内存才是正解。

  6、载入系统服务

  在这一步中,系统将会载入基本的服务。例如Win2k下的“控制面版”——“控制工具”——“服务”中的项目;UNIX下也类似。在这里,一般来说我们不能对服务的内部进行改造以增加效率,但是我们只选择需要的服务,而关闭不必要的服务。在这里,个人用户和服务器管理员都要记住的一条定律会起作用“可开可不开的一定不开,可用可不用的一定不用”,这样不但会减少系统的启动时间、增加系统的可用内存、并且也尽量地避免了安全漏洞。记得前辈曾经指点过我:“服务器提供的服务越多,则可能存在的漏洞也越多,越容易被攻击”。但是不管在w2k还是在UNIX中,默认打开的一些服务是我们所不需要的,甚至是危险的。以Win2k为例,“远程控制注册表”、“dhcp服务器”等等这些功能居然都是默认开着的,而UNIX下的不少操作系统默认时候“sendmail”、“smaba”也是开着的。

  所以,根据自己的选择,恰当的选择必要的服务。这一步会相当消耗时间,而且也会遇到对某些服务的疑问,但性能的提升也具有最大潜力。值得一提的是,一些后台运行的程序也将自己添加到其中,常见的例如杀毒软件,以及令人讨厌的冲击波病毒。关于详细的介绍,天极网上介绍操作系统的一些文章中都有详细描述,我在这里一一写出,就有骗稿费的嫌疑了。

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜