系统知识:从八个方面来探讨计算机操作系统
内容简介:本文主要从硬盘引导、操作系统引导、载入基本操作系统、定义临时目录、定义虚拟内存盘、载入系统服务、载入自定义服务、定义GUI这八个方面来说明针对操作系统的优化。
不管您使用的是Windows也好,Linux也好,或者是Freebsd(为避免语言烦琐,以下如同时指代Linux和FreeBSD的地方,一律以UNIX进行替代)也好,肯定都想寻求尽可能快的速度,那么,在有些特定环境下就只有对系统进行优化。在前面的几期网管笔记中,我们已经介绍了好几篇网管系列的文章,这次我们推出了操作系统的保护系列中的系统优化篇。
任何技术,只要掌握了方法则都能举一反三,“师傅领进门,修行在个人”。天极网上关于系统优化的文章相当多,但这次讲的内容和其它优化文章比起来,还是有较大的不同。各位如果在阅读下面的内容时,遇到技术疑难,都可以在天极网的操作系统栏目的相关文章中寻找到答案——学会查询资料,也是提高的必要技巧之一呢。
一个操作系统,必定是建立在硬件基础上的。而硬件,则可大致分为CPU、主板、内存、外存几个部分。关于CPU超频、内存在BIOS中的设置,开启硬盘的DMA66支持等等的介绍已经相当多,在此我就不赘述了。
一个操作系统的使用,依次会涉及到硬盘引导、操作系统引导、载入基本操作系统、定义临时目录、定义虚拟内存盘、载入系统服务、载入自定义服务、定义GUI这几个步骤,这是不管Windows、Linux还是Freebsd等操作系统都是如此。也就是说,我们如果能尽量优化上面每个步骤,则就能把系统的性能提升起来。接下来,就让我们一起把每个步骤做到最优。
主要
内容 硬盘引导
操作系统引导
载入基本操作系统
定义临时目录
定义虚拟内存盘
载入系统服务
载入自定义服务
定义GUI
1、硬盘引导
从硬盘的0磁道开始的第一个扇区处读取信息,以载入操作系统引导程序,在这一步上,由于系统能读取的只是一个扇区的数据资料,只有512Kb,因此不能直接将操作系统的引导程序放入其中,而只能读入一个很小巧的程序,再由那个程序来引导操作系统,以Windows为例,在这一步被读入的是IO.SYS和MSDOS.SYS(安装了Win98后有这个)。由于一般来说这个程序都是由各个基础操作系统所默认的,因此一般没有办法进行自定义优化。不过值得一提的是如果使用的是Windows98系统,那么通过定制MSDOS.SYS文件,可以在速度上达到一定的提高,让我们打开瞧瞧:
WinDir=C:\Windows ;Windows所在的目录
WinBootDir=C:\Windows ; 引导目录
HostWinBootDrv=C ;引导盘(建议这三个别改动)
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个环节,针对自己的机器情况进行思考分析,那么即使面对的是一个全新的操作系统,也能很快地将其优化,提高自己工作、学习、娱乐的效率。中国人的习俗,春节吃鱼代表“年年有余”。而授人予鱼不如授人以渔,希望这篇小文能帮助大家把自己爱机的潜力充分发挥到极致。
操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。
操作系统(英语;Operating System,简称OS)是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。 常用的操作系统有微软的XP、Vista、Windows 7,Linux的有小红帽与乌班图,MAC是苹果操作系统。买家用品牌机时,是给带家庭版的操作系统;商务品牌机,是给带专业版或旗舰版操作系统。
说白了,操作系统就是个平台! LINUX,WINDOWS XP.VISTA.WINDOWS 7