您的位置:首页精文荟萃操作系统 → 电脑操作系统的保护系列之优化篇

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

时间:2004/10/15 3:00:00来源:本站整理作者:蓝点我要评论(0)






  内容简介:本文主要从硬盘引导、操作系统引导、载入基本操作系统、定义临时目录、定义虚拟内存盘、载入系统服务、载入自定义服务、定义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的版本号



  BootWin=1;以Windows方式引导



  DrvSpace=1;(这个选项功能不明)



  DblSpace=1;这个选项功能不明)



  LOGO=1;是否显示开机画面,事实上Windows的启机画面载入大概会花费1秒左右的时间,既然我们想优化,那么就设置成0吧



  BootDelay=0;引导延迟,设置成0最快



  DisableLog=0;不记录引导时候的log,如果追求速度,可以设置成1



  2、操作系统引导



  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来完成。



  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”也是开着的。



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



  7、载入自定义服务



  之所以要把这一步与上面的一步分开,一来是因为他们存放的启动文件位置有差异,二来有的系统服务是必须启动的,如果不启动则连操作系统也无法按照常规方式运行起来。例如Win2k服务中的“Logical Disk Manager(逻辑磁盘管理器监视狗服务)”就是专门对硬盘进行管理的。自定义的服务项目,在Windows中,存在注册表的run系列键中(Software\Microsoft\Windows\CurrentVersion\Run、Software\Microsoft\Windows\CurrentVersion\Runonce、SOFTWARE\Microsoft\Windows\CurrentVersion\Run、SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce、SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx、SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices);而在UNIX则是用特定位置的文本文件来保存,例如redhat下是/etc/rc.local文件,一行一条shell命令,非常简单明了。一般来说,这一部分的服务即使全部去掉,也不会影响系统的启动,但有的操作系统“原装”服务可以令我们使用的时候更得心应手。同时在这里,也是很多Windows木马藏身的地方。



  在自定义服务中,可以将自己不需要,或者很少用到的一些服务去掉(例如天缘就把音量调节的服务去掉了,因为我从来都喜欢直接摆弄音响);也可以把自己每次启动系统都要运行的一些程序加入进去(例如天缘在Linux下的fvwm启动就加在/etc/rc.local中)。合理的使用它,选择恰当的程序去掉无用的程序,也可以达到相当好的性能优化目的。顺便为Windows的朋友们推荐一个我很喜欢的注册表编辑工具,名字是RegHance,非常简单方便。



  8、定义GUI



  在这里,为什么特别提到GUI呢?Windows的用户可能比较有疑惑,因为Windows的图形界面是嵌入内核的,不过在UNIX下则是独立的。在这一部分上,由于操作系统的独立性,因此要详细地讲解不大可能。我只给出一个思路:“尽量缩减无用的资源消耗”。例如:控制GUI的加载字体数量。事实的确如此,任何载入的资源都会消耗掉系统的内存,由于中文的特殊性(文字众多,非字母组合),导致一个中文字库比一个英文字库大上很多,自然消耗的内存也大了很多(现在明白了为什么传呼机、手机、嵌入系统等等rom/ram受限的场合一般采用英语了吧?因为它总共就26个字母,在这点上,的确比汉字具有优越性。同样的道理从我们所用的键盘也能体现出来)。



  天缘认识几个从事艺术行业的朋友,经常习惯将用到的字体都放在Font目录中,其实这样在每次启动的时候都会载入到内存中(顺便一提,我们曾经试过,Win98下Font目录Copy字体到400m左右就无法再增加了)会严重地影响到启动速度。值得采纳的做法是将一些不常用的字体Copy到其他目录中备用,在需要的时候再调入到Font目录中,然后重新计算机就可以了。虽然的确是烦琐了一点,不过在有钱购买1G的内存前,节约几百M的内存也是很有必要的。类似的道理,UNIX管理员都知道在服务器上不需要跑xWindows就不要跑的道理。以上的小例子希望可以帮助大家开动自己的脑筋,好好想想其他值得优化的地方。



  当文章写到这里,已是接近尾声。油然想起当我告诉原野编辑我要写操作系统优化的时候他对我说的:“介绍系统优化的文章已经很多了呀。”这句略带警醒的话。是的,Windows平台下、UNIX平台下介绍系统优化的文章数不胜数;“超级兔子”、“优化大师”、“webmin”这些优秀的系统设置/优化工具不断更新。但正如“鞋子只有自己买的才最合脚”这个道理一样,天缘尝试将自己优化系统的心得总结与大家分享。IT行业日新月异,新的操作系统层出不穷,掌握了一个优化软件,或许在新的操作系统面前依然束手无策。学习学习,不在于学其形,贵在学其神。明白了操作系统优化的原理,依照着以上的8个环节,针对自己的机器情况进行思考分析,那么即使面对的是一个全新的操作系统,也能很快地将其优化,提高自己工作、学习、娱乐的效率。中国人的习俗,春节吃鱼代表“年年有余”。而授人予鱼不如授人以渔,希望这篇小文能帮助大家把自己爱机的潜力充分发挥到极致。





ChinaByte 文/天缘

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 Windows7怎么升级Wind安卓7.0系统怎么样好不 安卓7.0有哪些新功能 安卓7.0系统详细图文体Fuchsia是什么意思 Fuchsia系统怎么样u深度一键还原精灵电脑重装系统使用教程u深度一键ghost使用教程

人气排行 win7没声音怎么办?_win无7声音解决办法苹果笔记本装Win7教程 苹果笔记本怎么装Win电脑32位和64位怎么看 怎么看电脑支持64位安卓7.0系统怎么样好不好用 Android7.0综合checking file system on是什么意思 怎么解component 'MSINET.OCX'错误是什么意思?怎Windows系统运行库集合下载 - VC运行库,.NE虚拟机VMware Workstation配置方法图解