商务部电话:0755-33101350
技术部电话:0755-33122630
公司动态NEWS
当前位置: 首页 > 公司动态

从八个方面来探讨计算机操作系统的优化

发布时间:2012-06-15 15:22:32 浏览次数:6205
更多

从八个方面来探讨计算机操作系统的优化
 

  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就不要跑的道理。以上的小例子希望可以帮助大家开动自己的脑筋,好好想想其他值得优化的地方。

专业网站建设,网站制作,品牌网站建设,品牌网站设计,专业网站建设,专业网站设计,企业网站建设,企业网站设计,外贸网站建设,外贸网站设计,营销网站建设,营销网站设计,O A 管理系统, ERP企业管理系统,B 2B B2C 行业网站开发,大型门户网站制作,购物网站制作,企业网站制作网站策划。