2009年6月5日星期五

笨兔兔的故事——带你了解Ubuntu,了解Linux (31~33)

(31) 分区
   我们住处的墙上有一扇门,门上面写着三个字母——USB
  
这扇门是我们与外界交流的又一个接口(最重要的还是网络),每次门上的红灯亮起,就说明有东西接到了USB上,我就得去打开门看看。有时候门外是一个小集装箱似的屋子,很小,一般只有几百兆到几个G大小,里面也像我屋子里一样放着一些文件。这个时候一般主人就是要让我搬东西,不是把小屋子里的往大屋里搬,就是从大屋往小屋挪。有时候一开门,外面不是一个屋子,而是一台设备,比如是一个鼠标啊,或者是个摄像头什么的,那就是让我去操作这些设备了。主人就接进来过摄像头,摄像头的名字叫Moto
E6,听说这其实是个手机,上面的摄像头可以通过USB接口来给电脑用,不管怎么样吧,这东西咱也会玩,接上就能用,鼠标那就更不在话下了。不过总的来说,还是往USB那门外接小集装箱屋子的情况多,这种小集装箱式的屋子叫做U盘,也有更大一点的,就是移动硬盘了。每当U盘接进来的时候,我就把它当作我屋里的一部分来用。
  
要想成为我屋子的一部分,就要起个名字,要不我怎么访问啊?就跟你家似的,什么叫厨房哪个是厕所,什么主卧,阳台,是个空间都得有个名字不是?我这里也一样,总得有个名字才好访问。这里要再说明一下我们住的硬盘。我们住的硬盘跟你住的房子是一样的,不是整个的一大间屋子大家乱住,东西乱扔。也要稍微的分出几个间来,学名叫分区。分区的多少和大小是主人在安装的时候根据需要分的,比如我住的这间,就分出了四个分区,也就相当于把整个大屋子用墙格出了四个间。一个小间的门上挂着个牌:/boot
这间里面是我住的,我的单间,作为老大嘛……有点特权也是可以理解的吧。再一个大间,门牌上写的是/home,这里是主人专门用来放他的东西的,什么文档阿,电影阿,歌阿,都放这里,所以这间特别大。还有一间,平时不放东西,这间叫做SWAP。这间是用来给正在干活的程序用的,程序们要运行的时候不是要往工作间里放东西么,要是放不下了,就暂时放到这间里。不过由于我们这的工作间很大,所以基本上这间没怎么用过。除了这几间之外的,就是剩下的一大间了,这间叫做"/",学名叫做根分区。其他的间可以没有,但是这间不能没有,要不我们住哪阿,是不。不过虽然其他间可以不格出来,但是对应的空间还是得有的,比如/boot,可以不单给我格出一个单间,也就是不给我单独分个区,但是就算不格,我也得划出一块地方,拿粉笔写上/boot,表示是我住的地方。
  
回来说说U盘,U盘接进来之后,我也把他当作一小间,并且给他门口挂个牌子,一般是/media/xxx,xxx就是那个U盘的名字。一般U盘都会有个名字,或者叫卷标。这样一弄,就可以很好的区分各个单间了。比如要让mplayer放电影,我总得人家说明白这电影放在哪吧,我要是说:就在那个放了一堆主人的东西的最大的屋子里,就很罗嗦,不如直接说:在/home/lanwoniu/目录下来的简单。

(32) 挂载
  
这回主人接到USB上的又是一个集装箱式的空间,不过还比较大,4个G。我仔细看了看,结果没有发现这设备的名字,那也没事,名字是人起的嘛,我直接给他起个名字并挂上了牌子:/media/4.1G
没名字是可以滴,没牌子是不行滴。这个挂牌子的过程,用我们的专业话说,叫做挂载,这个大家应该都听说过哈。挂载,就是挂牌,就是在某一间屋子的门口挂个牌子,起个名字,到时候干活的时候就好说话了。直接说屋子的名字就好了。名字,或者说牌子,就是个标志,是可以随便换的。比如有个分区被挂载到了/home/目录,也就是说,有个屋子A(就叫A吧),被挂上了/home/的牌子。那么主人说要看看/home/下都有什么,我就会把那个屋子A里面的东西列出一个单自来给主人看。等回头可能又把别的分区挂载到/home/下了,那很简单,就是把/home/那个牌子从A房间门口摘下来挂在B房间门口而已。主人再说要看卡/home/下都有什么,我就该把屋子B里面的东西列表来给主人看了。没啥经验的主人可能会大跌眼镜:哇塞~怎么我/home/下原来那些东西都没了阿!!都哪去了阿!!
殊不知,其实原来那些东西还在A屋子里好好的放着,只是现在B房间改叫/home/了而已。
  
又废了这么些个话,不好意思。回来说这回接上的这个4G的屋子,接上之后,还没等主人发话,我先去里面查看了一下,一看全都是些个jpg的文件,我是看不懂这些个文件,但是我知道有人能懂,于是赶快通过图形界面那哥几个报告主人:您插进来的这个里面貌似全是照片,是不是要我给您找来F-Spot呢?。
  
F-Spot是一个管理照片的程序,他可以帮主人把移动设备(就是那种集装箱似的小空间)里的照片导到硬盘里,并且按时间分门别类的管理好。主人想要去年三月的照片,他马上能够给找到。除此之外,还能够汇报照片的信息,比如用什么相机照的,照的是后用的光圈,快门,ISO都是多少,等等信息。F-Spot虽然能够整理照片,不过不能编辑和修改,有时候主人的照片经常需要稍微的调整一下色彩阿,做一点效果阿啥的,有很多人管这叫PS,因为在查皮那里,做这种事情的软件叫做PhotoShop,所写PS。逐渐的,用PhotoShop去处理照片这个动作就被叫成了PS。我这里没有PhotoShop,不过有另外的处理照片的强人——GIMP
(33) GIMP
  
GIMP这家伙是个美术家,能够画出很多漂亮的图画来。当然,漂亮不漂亮是以主人的审美观点来说的,对我来说他制作出来的那些个东西,不过是一个写满0101001的文件而已,和其他的文件没有什么区别。虽然他可以在一张白纸上创造出一个多彩的世界,但多数情况下他要做的工作是调整一个已经画好的图片。一般都是主人用数码相机照的照片,用U盘拷贝进电脑,然后叫来GIMP,调整一下照片的亮度啊,色彩啊什么的。有时候还让GIMP做一些效果,比如做成油画效果的,就是把照片做成像是画的油画似的;还有做成浮雕样的,或者加个相框,他都行。以前拷进来的照片也就几百K,可最近主人弄进来的照片最小都2M多,别人不知道怎么回事,可是瞒不住F-Spot,他能看懂照片的EXIF信息啊。他告诉我,以前的照片是用一个叫做Nikon
5900的照相机照的,现在这些2M的都是用Pentax
k-m这个相机照的。我让狐狸妹妹帮我去查了查这两个相机,5900是个500万像素的DC,k-m是1020万像素的的单反相机,怪不得照片大了很多。不过,区区2M的照片文件是难不倒GIMP的,仍然刷的一下就打开,他自己说,就算20M的文件也没问题,不过我们倒是没见过,主要是主人的相机实在照不出那么大的来。
  
GIMP像狐狸妹妹一样,可以安装很多的插件以实现各种不同的功能和效果,论功能,不输于查皮那里的PhotoShop。但是GIMP有些不大好接触,总是按着自己的性子来,让主人用起来有些不顺手,不如PS那么易用。毕竟人家PS身价不菲嘛,听说一套要好几千块钱,一分钱一份货嘛。花这么多钱请回家去的软件,怎能不服服帖帖的听主人的话呢。再看看GIMP,总是摆着一副:我就这样,爱用不用的架势。还好主人比较通情达理,也能理解GIMP是确实有能力的,否则……哼哼,别看GIMP跟我关系不错,没准也得被超级牛力请出硬盘。

[连载]笨兔兔的故事——带你了解Ubuntu,了解Linux(21-30)

  (21)内存
  骑白马的不一定是王子,也可能是唐僧。
  烧香的不一定是和尚,也可能是熊猫。
  蓝脸的不一定是戏台上的窦尔墩,也可能是我隔壁的查皮。
  
查皮好像比较禁受不住刺激,对工作间的要求比较高,一旦哪个程序带进来只小虫子(bug),查皮经常吓的脸色变蓝,念叨一堆英文字母然后就开始倒数,数完了,就把整个机器重启了。查皮的这种毛病让好多人郁闷不已,那他到底为什么蓝脸?蓝脸以后又是在干什么呢?
  
前面我说过,操作系统的本职工作就是管理——管理硬件资源,管理各种程序。就好像老师管理一个班的学生,老板管理一个部门的职员。不过,无论学生还是职员,都有可能不听话,程序也是如此。查皮整天坐在工作间(内存)里吆喝:"QQ快起床,IE呀,你看看这内存里就这么大地方,你一个浏览器要占多少啊。QQ怎么还没起床啊?快点快点。我说瑞星啊,你能不能别让你那狮子到处乱跑啊,它净用CPU了,快把它赶开。QQ那QQ那,怎么还不起啊,再不起老大该怒啦,有40多MM等着他去聊天呢。啥?你说迅雷占着网络你起来也没用?唉,迅雷你也是,就那么点带宽,就说你下的这个什么ubuntu
dvd挺大的吧,就不能留个5k,10k的给qq用用?你瞧瞧人家IE,也能下载,他……咦?IE?你怎么站那不动了?IE!IE!靠,又没响应了,还得拍晕了从来……"
每天在这样的高强度压力下工作,查皮有些心力交瘁。怪不得查皮连续不断电的干上几天就不行了,而我可以连续干上几个月都没问题。查皮的神经就这样每天紧绷着,程序来个假死什么的还算好解决,可要是哪个程序忽然抽风,再内存里追跑打闹,上窜下跳,查皮一时手足无措,就容易蓝屏了。蓝屏之后,他会向老大(我管他叫主人)报告,自己为什么蓝了,问题发生在内存的哪个区域,发生了什么,并且把当时内存里的情况如实的记录下来,写成一份《工作间突发事件记录》一边记录一边报告记录的百分比——这就是他在倒数。记下来这个干什么呢?牛人们可以拿着这份记录,分析到底是哪里出了问题。不过好像一般人都不是牛人,谁也没看过查皮的记录。  
  
对于工作间的使用,查皮和我还有一点不同。查皮总是喜欢尽量留出空间来,好给新起床的程序用。可是我总觉得,查皮怎么能知道还会有什么程序要运行呢?要是没有程序要来了,工作间里还空那么大地方,不让正在工作的程序用,那不是浪费么?我还是习惯尽可能的把东西都搬进工作间里。除了程序们申请多少内存就尽可能给多少之外,剩下的部分,我就把一些可能会用到的库啊,命令啊啥的统统都搬进来,能占多少占多少。那有人问,要是你把这里边都沾满了,待会有程序要进来咋办?很简单啊,我再搬出去呗!程序要进来,也不是一下子都进来,他也得把他的东西一点点搬进来,他往内存里搬的时候,我就往外搬,不耽误。所以,当有程序要启动,跟我说:我要10平米的地方放东西。的时候,我就先答应他说,好,放吧,有地。然后在他往里搬的时候我再给他腾地方。也可能他要10平,但是只用了2平,那我就先腾出2平来,等他再要我再腾。他们管我这个方法叫Copy-on-write。查皮就不同了,可能是因为他比较胖的缘故吧,他比较懒,不愿意搬来搬去这么折腾。基本上他只是在必须用啥东西的时候才把那东西搬到内存里,让内存留出尽可能多的空间。这样,当有程序管他申请内存的时候,他就可以用手一指:那块地,归你。然后就不用管了。实在内存不够用的时候就找个比较闲的程序,命令他:你,去硬盘里先忍会。(顺便说说,这个32位的查皮,并不能够完全利用起这4G大的内存空间,而是只能用到2.5G,浪费啊。)
  
所以,经常跟查皮打交道的人,总觉得内存里空着的地方越大越好。当他们看到我把内存占的那么满的时候,总觉得很不爽,唉~我冤枉啊。

(22)图像
听说有一部电影,叫做《Big Buck
Bunny》,这部电影长达9分56秒——还没电视节目中间的广告长,但是他有一个特点,一个和我一样的特点——他是开源的。怎么个开源?他是在开源的平台上用开源的软件制作,并且免费下载观看还可以获得他的原始制作文件,(blender的文件)如果你愿意,还可以进行修改,编个续集什么的。有人问,你说这些干嘛?这个电影跟你这个操作系统有什么关系?他本来跟我没什么关系,但是随着一件事情的发生,他就跟我有关系了——主人想看看。
任务下达下来,马上开始准备解决方案。首先是狐狸妹妹如春风摆柳般走了过来,顺便带来了一阵叮叮当当稀里哗啦的响声——一身的插件啊~
来到工作间,狐狸妹妹掏出一个插件在手中一晃:我有Flash,直接去个什么土豆啊,地瓜啊,西红柿什么的网站去看就得了,最省事。这时候,墙角有一位慢条斯理的说话了:"要说这看片啊~还得我来~你那个不专业。那电影才10分钟,剧情肯定没什么可看的,人家看得是个效果,要得是清晰度。我看那,还是下载下来,我去放吧。"我扭头一看,说话的是MPlayer,要说这家伙在多媒体部门里可算是个元老了,而且能力相当强,什么片都能放,什么rmvb,flv,avi,wmv全都不在话下。就算您没图形界面,人家跟字符界面照样给你放电影。哪怕您显示器都不带色(念shai
三声),人家能给您拿字符拼出电影看。现在时代发展了,都高清了,人家也不甘落后,照样能支持,什么硬解码软解码的,通吃。既然人家这么专业,我看八成就得用他了,不过这事情我不做主,还是得等主人的吩咐。果然,主人也觉得应该下载下来看,于是,我们就忙活起来了。
要完成看片的大业,需要群策群力,精诚合作!
首先,虽然没有采纳狐狸妹妹的建议,但她并不沮丧,收起Flash插件掏出另外一个插件——Downthemall!听这名字就知道是干什么的了。狐狸妹妹先出门去找狗狗大哥(学名叫google),打听到了《Big
Buck
Bunny》的下载地址,然后掏出downthemall,把地址一填,就开始下载。要说这一身的插件实在没白装,哪个都有独到的功能,不一会,一部电影就下载回来了。然后就改MPlayer上场了,他先拿过片子看看格式,是ogg的,然后掏出了相应的解码器。解码器是干什么的?要知道,片子的格式很多,就好象现实中看电影,有数字电影,就要用数字放映机。胶带的,就得拿传统的放映机。在家里看光盘的,就得拿DVD机,看录象带的,就得拿录像机。MPlayer就像个电影放映员,解码器就是放映机。放映员在怎么牛,也得有各种放映机做支持,没放映机他啥也放不了。Mplayer掏出解码器,开始放起影片来。这就完了么?还差得远呢,要想让主人看上片子,还少不了图形部门的支持。
图形部门主要负责给主人显示漂亮的图形界面。他们那的老大叫Xorg,他会跟硬件打交道,会用显卡(当然,用显卡也得经过我),能在显示器上画东西,想画什么画什么,谁要想显示点东西给主人看,都得经过他。要想跟Xorg打交道,在显示器上显示出图形来,得懂他们图形部门的黑话——学名叫协议。他们说话使用一种叫做X的协议,这个X不是牛X的X,也不是傻X的X,而就是XYZ的那个X,XP的那个X,反正就是个X。要想显示图形,就得用这种黑话跟Xorg去说。每一个要显示图形的程序都得会这种黑话,比如狐狸妹妹,要显示东西,就说:"驼子碗,筛土的拋闪!"那意思就是说画一陀黄色的便便-_-b,当然,这就是比方,其实我可不懂他们的黑话。(这一点不像查皮,他本身兼职负责画图形)那么Mplayer要画什么直接跟Xorg说就行了么?其实也行,那就像是在字符界面下看片了——没有窗口,图像没法移动,没法全屏,没法最小化等等。MPlayer只负责放片,像画窗口啊,移动窗口什么的这些事情他可不管。那谁来管呢?这时就需要一个窗口管理器,我们这里的窗口管理器叫做metacity(就是Gnome下的默认窗口管理器)。MPlayer要放什么东西其实是跟他说的,比如Mplayer说:"画一只猪"(当然是用X黑话,我给翻译过来了)于是Metacity转头告诉Xorg:"在某某位置画个方的窗口,在里面画一只猪。"过一会主人觉得Mplayer方的片挡着他和MM用Pidgin聊天了(那是,猪哪有MM好看呀),就把Mplayer的窗口挪了挪,于是Metacity又对Xorg说:"把刚才那只猪和窗口往左移动3.2厘米。"这个过程Mplayer是不知道的,他只管专心的向Metacity描绘着影片中的一幅幅图像:"猪,走路的猪,跑动的猪,跌倒的猪,捆绑的猪,烤熟的猪……"
  (23) 信封
  《Big Buck Bunny》
还有点意思,里面那只看上去笨笨的大兔子是我见过最可爱的兔子了,或许可以考虑以后让他来代言笨兔?不过时间短了点,10分钟的时间一会就过去了,主人看完了片,叫Mplayer去睡觉去了,然后继续拉来Pidgin跟mm聊天。
  Pidgin这个家伙其实就是个送信的,大家都喜欢根据他的发音叫他"皮筋",但是他不管送那种长篇大论的Email,而是负责发短消息,(short
message)也有叫短信的。不过别误会,这可不是说手机的短信,而是像msn啊,qq啊这样的即时通讯的消息。这些聊天软件的工作都是送信,使用者把要说的话写成信给他们,他们把信放在信封里——这个过程叫打包,然后把这个包发送给对方的软件。对方软件拿来这个包,先要拆包——也就是吧信从信封里拿出来,然后把里面的内容显示给用户看。可是这些软件互相之间是不能通信的,msn不能给QQ发消息,反过来也不可能,这是因为他们的信封——打包方式不一样。比如msn的信封可能是从上面拆开取信;QQ的信封则是从侧面拆开取信;Gtalk的信封可能是用订书器订上的,需要拆钉取信;而百度Hi的是用胶水粘上的,需要涂水溶胶取信。反正各有各的高招。那么皮筋呢?他全会!
  皮筋跟狐狸妹妹一样,也有很多的插件——其实就是一本本XX信封封/拆手册。Msn的手册上,那就写着怎么封msn模式的信封,怎么拆msn模式的信封。皮筋只要拿来一看就明白了。gtalk手册也是如此,所以,pidgin可以支持很多种聊天软件,只要有相应的插件就行,不用再同时开着gt,开着msn,开着qq了,只要开一个pidgin就都能聊了。不过qq的信封比较特别,其他的聊天软件都使用公开的协议——至少能实现基本功能。有专门的文件写着自己只收什么什么样的信封,比如必须蓝色,上面印着蝴蝶,上开后直接撕开的信封才能发给msn。可是qq这家伙的信封却很复杂,而且保密,别人都不知道具体应该怎么封。上面乱七八糟的有很多防伪标识,什么激光啊,磁条啊,比人民币还热闹。所为达到的目的就是只有自己的QQ软件能有互相通信。不过,强中自由强中手,人民币还有HD90呢,QQ的信封怎么就不能伪造了?有牛人通过研究QQ的信封,慢慢分析,已经仿制出了QQ的数据包,可以实现最基本的文字聊天的功能了,这就是pidgin的QQ插件。但是功能相当有限,用起来不好使,所以多数人还是安装了QQ官方的软件,我主人也是这样。
  (24) 酒
  我静静的望着你,张口对你倾诉,你却听不见我的言语,直到……你喝了那杯酒。
  以前说过,我是不能跟查皮那屋的软件们交流的,然而,今天来了翻译。超级牛力在主人的要求下拉来了一杯红酒。不过这并不是因为主人想晚饭改善一下生活,而是由于狐狸妹妹的一次碰壁,越说越乱了吧,没事,咱们从头慢慢说。
  话说那一天,主人想看看自己的工资卡里的余额是否按时增长了,又懒得跑出去,所以就让狐狸妹妹到银行的网站去看看。狐狸妹妹迅速的到了网站,却发现网站用一种叫做ActiveX的语言问她银行卡的密码。密码当然会由主人告诉狐狸妹妹,可是,怎么能翻译成ActiveX语言告诉那个网站呢?狐狸妹妹一下子抓了瞎,没学过阿!再说了,这ActiveX语言是那个有点软公司发明的,想学可不容易,估计得交一大笔学费,人家都还不一定愿意教你——因为到现在为止,只有有点软公司亲生的IE同志才能够懂这门语言。狐狸妹妹急的翻遍了自己所有的插件,也没发现有哪个能用来把主人的密码告诉这个该死的网站。急的狐狸妹妹差点哭出来,可是着急也没用阿,也只能灰溜溜的回来告诉主人——这搞不定!
  于是,目前处于这样一种情况:主人必须去那个该死的银行网站,而能够去那个网站的,只有IE,可IE压根也听不懂我说话,他只给查皮打工。难道就为了看一眼余额,要把我哄回床上,让查皮来干活吗?那可要重新启动电脑阿,太麻烦了。可是谁又能把查皮叫醒并让他去干活呢?这个时候,超级牛力跑出来说:我有办法,本APT有超级牛力,有人能把IE叫醒,我去找他。说着,就跑出去了,转眼间领回来一杯红酒——WINE。
  当然,说是红酒,只是因为他的名字,其实他当然不是红酒,而是一个软件,一个有特异功能的家伙,一位催眠大师。他来到这里,问了问情况,我把目前的问题跟他说了,任务很简单,就是把IE叫醒去干活。红酒大师点点头,拎起自己的工具包就走进隔壁查皮的屋里去了。只见红酒大师站在正在睡觉的IE的旁边,用低沉浑厚的声音向IE念着:现在计算机正在启动~~我是WindowsXP~我是WindowsXP~你要开始工作~~你要慢慢醒来~你要慢慢醒来开始工作~~醒来~醒来~~~
随着他一步一步的引诱,IE慢慢的睁开眼睛,迷迷糊糊的起来,慢慢的走向工作间里,他一边走,红酒大师一边跟在他左右不停的引导:你像每天一样起床~正走向内存里~开始你的工作~~
然后扭头问我:"让他去干啥?"看的快入迷的我才反应过来,还没交代清楚具体的任务呢,赶紧说:"哦,让他去那个银行的网站。"大师继续对IE说:现在~~Wdinwos让你去银行的网站~~~去吧~~去吧~~~~像每天一样~~~~
这个时候,基本上所有人都看呆了,没想到这IE竟然就这么被大师指使着干活去了,大师果然是大师阿。
  (25)酒 too
  今天丢人丢大了!
  想我大名鼎鼎的火狐狸,什么网站没去过?什么网站搞不定?什么Konqueror,Epiphany,lynx,除了那个不大懂事的挪威妞Opera以外,哪个浏览器见了我不得叫声大姐?在线视频?行!Flash?没问题!有我一身的插件,那是兵来将挡水来土掩,可是今天,竟然就有网站我拿它没辙!
  这破网站是个银行的网站,要说那好多国际知名的银行我也见过,人家啥软键盘阿,HTTPS加密也都挺好的,也没见用什么ActiveX,也挺安全的阿,怎么就这破网站非得用ActiveX呢?我其他的都会,就不会这ActiveX,这不是诚心揭短么。再说了,不会也不是我的错阿,我倒是想学呢,谁教我阿,人家微软才不会把这个教给我呢,藏着揶着还来不及呢。结果可好,我没法搞定这网站阿,主人只好叫别人来,这不是抢我饭碗么!当然,叫什么Konqueror,Opera阿这些个来也是白费,只有IE才行。可按说IE他不能听我们头的阿?嘿,还真是什么高人都有,让超级牛力找来个催眠大师,居然就把IE整的服服贴贴的,老老实实去干活了。不过,毕竟IE不是在清醒状态,基本上跟梦游似的在那干活,虽然没出什么错,可动作慢了不少。主人也只能姑且忍受一下,看来我的饭碗还能保住。我本来想偷偷跟他学学ActiveX,可是他嘴里念叨着叽哩咕噜的东西我也听不懂阿,当然,其他人也听不懂,只有红酒大师能懂他的话。我们头发送命令,只能先告诉红酒,再由红酒翻译给IE。IE要用什么东西,什么DLL文件阿,配置文件阿,红酒都赶快给他找来,原版的找不来就自己做一个差不多的,放的位置都跟IE在查皮那里干活时的位置差不多,让IE以为自己还是在查皮那里干活。既然用IE登陆该死的银行了,我就没什么事干了,正好本小姐还能歇会,哼!等了半天,IE才把事办完,我都睡了一觉了,主人赶紧把IE关了,还是叫过我来去其他的网页,要是我我也得关,看着他就难受,哪有我看着顺眼阿。我麻利的赶快开工,赶紧表现表现,一定要和那破IE形成鲜明的对比。看看主人想看点啥?哦,要查查红酒大师还能干什么,好赶快去找狗狗哥……
  (26) 酒Again
  唉~最近呀~不知道怎么得了,我这个脑子出问题了吧还是怎么的,怎么混混沉沉的呢,而且好像记忆还不老好的了,要不就是有幻觉。我隐约记得昨天明明起床干活了,好像是去了个什么银行?不过记的不怎么清楚,模模糊糊的感觉,好像做梦一样。我以前不这样啊~我可是明门之后,血统纯正,我祖上从来也没有失忆的毛病。想当年啊~我的前辈IE5那时候就跟着Windows98混了,那时候有个家伙叫Netscape
,觉得自己挺牛,基本上那时候上网的都得用它。可是呢~哼哼~有本事不如有靠山,我前辈IE5老先生虽然论本事……比不上那什么NetScape,可是他聪明啊,死粘着Windows98老大,98去哪他去哪,有这强大的后台,慢慢的大家都开始用IE5了,NetScape从此销声匿迹。后来的IE6也是如法炮制啊,棒着WindowsXP,后来我IE7横空出世了,就取代了IE6的位置,换我跟着XP干。咳,怎么说起这些了,看来脑子真是不行了啊。我明明记得昨天去了银行的网站,还是XP老大叫我去的,可是今天我问XP老大,昨天你说话声音怎么有点不对劲呢?是不是感冒了?老大斜眼看看我问:昨天?哪有活阿?我说不对呀,昨天不是你让我去那个什么银行查余额么?老大直接扭过头,扔下一句:"做梦呢吧你。"我挠挠头,难道我正的是在梦游?说是梦,却很清晰,说是真的,可还有点模糊。或者……那是我前世的记忆?前世……靠,为啥我前世还是浏览器?!等等,我前世要是浏览器的话……难道我前世就是那个NetScape?!不行,越想越晕了,在这样下去非精神分裂不可。想办法找人聊聊诉诉苦吧,老大反正不理我,去找cmd聊聊吧,他是专门负责跟人聊天的,问问他我这到底是怎么回事。他说我是参数打错了,唉,他也不知道别的。问问游戏组那哥几个,扫雷说我是踩着雷了,空档接龙说我是牌放错了,这都哪跟哪阿~再去问问记事本,直接被嘲笑,说我这天天上网见多识广的,竟然还来问他这么一个大门不出二门不迈的抄写员。唉~想想也是,看来只有我不正常了。正灰心呢,那个长的恐怖的War3来了,神神密密的对我说:"我也梦游了……"我惊讶的望了他3秒钟——难道他……传染的我!!
  (27) Year
  时光如梭,转眼间,又到4月了,一年的时光就这样伴随着一条条指令,慢慢的流逝了,我,已经一岁了。对于一个操作系统来说,一年或许很短,但也可能很长。或许,一年,就是一生——尤其对于跟新换代很快的Ubuntu来说。Canonical的毕业生是半年一届的,每年4月和10月是学生们从学校毕业的日子。不过也有特例,2006年春天那批由于不太老实,延期毕业了两个月。继我们那批之后,已经有过一批8.10,而现在,最新的9.04也马上那个就要奔赴各自的工作岗位。说来,我也算是他们的前辈了。想想以前在学校的日子,还真是美好。Canonical学校其实是有几个不同的专业的,不光是我们Ubuntu。我们是学校最热门专业出来的学生,除了我们之外还有很多其他的专业,比如Kubuntu,Xubuntu,Edubuntu
  Kubuntu专业出来的学生似乎比我们更有些艺术细胞。他们的样子要比我们好看些,精致些,而我们Ubuntu比较主张简洁明了。他们的桌面环境请来的是KDE团队,所以叫做Kubuntu,而不像我用Gnome。说起KDE和Gnome的争论,大概说个两三天也说不完,两者都是桌面环境,都是用来和人来交流的。KDE更愿意把各种部分的设置能力交给用户,让用户可以随心所欲的把自己的桌面改成想要的任何样子。而Gnome则注重简介,当然,也可以进行一定配置,不过就比较麻烦,需要写写配置文件。由于桌面环境不一样,附带的软件也有所不同。Kubuntu有kopete来聊天,而我们这里是皮筋,Kubuntu写文档用Koffice,我们这里是OOo老先生。不过,这只是默认的情况,其实在我也可以让超级牛力找来kopete干活,代替皮筋,只是个人喜好不同而已。
  Xubuntu专业的,都是准备去艰苦环境下工作的志愿者。用的桌面环境就跟我们都不一样了,他是用XFCE。XFCE的特点就是小巧,占用资源少。可以在很艰苦的硬件条件下很好的工作。比如内存,Xubuntu能够在200M内存的机器上跑的比较流畅,这要是换了我,还不得郁闷死。才200M啊……这狐狸妹妹带着一身的扩展一进去就得好几十M,200M哪够用啊。可是人家Xubuntu就够。不过,相应的软件也要用一些轻量级的,要是也请个挂满扩展的狐狸妹妹,那系统本身省吃俭用节约下来的那点内存,还不够她一人用的呢。
  Edubuntu是教育专业出身,用的桌面环境跟我一样,只是他附带了很多搞教育的软件。比如教小孩子打字的啊,画画的啊,教授一些物理知识的啊,这些软件都是很好的老师,很多小孩子用起来都乐此不疲。很多小游戏也都是寓教于乐的,家长们也可以不用担心孩子用这个系统沉迷于游戏(因为没啥可沉迷的游戏……)只是这些软件多半都是英文的,所以,非英文地区的孩子们用起来还是不太合适。
  除了这些之外,还有很多其他专业的ubuntu,那些专业都不是Canonical学校自己开的,不过也都是用的一样的教材,大家互相都是通用的,只是所带的软件不同而已。今天不知为什么说了这么多,或许是因为有些伤感,因为最近主人总让狐狸妹妹去Kubuntu的网站转悠,打听KDE4.2,打听Kubuntu
9.04,难道……
   (28) 人物志
   今天说说星爷吧。
  
这里不是娱乐周刊,我要说的自然也不是周星驰,我要说的是星际译王。他来自中国,是我们这里少数来自中国的软件之一。他是我们这里最有学问的人,简直是什么都知道。一开始他只是懂点英语而已,大家都只当他是个英语翻译,后来主人叫狐狸妹妹去给他找来各种各样的书给星爷看——就是那种叫做字典的书,这种书只有星爷能看懂。看了这些书以后,星爷知道的就多了,什么日语啊,法语啊,德语啊,都会了,估计联合国要开会请他一个人去当翻译就行了。于是星爷从英语翻译一下子晋升成为了地球语翻译!(地球上的语言都会-_-b)不知道他以后会不会再学学火星语?
  
然而星爷是不仅仅满足于当地球语翻译的,或者说,主人是不满足于让星爷只做个翻译的。这之后他又给星爷找来了本《陈义孝佛学常见辞汇》,于是星爷开始研究佛学了,不过这东西只是主人一时的好奇而已,后来就再没给星爷找过佛学的书,而是找了本《五笔98》,开始学习五笔了。要说这输入法的事,那可是scim的本行啊,可是无奈scim老弟干活还行,表达能力不强。主人要打什么字,scim可能很快反应过来,打在屏幕上,可是主人要是忘了某个字怎么打,问问scim,那可要了命了,打死他也说不清楚啊。主人只能问:"是a开头不是?"然后scim把所以a开头的显示出来数一遍,摇摇头:"不是",然后主人再猜:"是s打头?"scim再把s打头的列一遍……这样实在太费事,于是主人就让星爷学五笔,到时候就能去问星爷:"这个……'我'字用五笔怎么打啊?"星爷会投过一个鄙视的眼神:"你还好意思说会五笔啊,q空格!"
  
这还不算完,后来星爷又看起了《本草纲目》,研究起了中医。不过他还不能当大夫,针灸号脉啥的他是不会(就算会也没法号啊),那会啥呢?看了《本草》当然最精通的就是药理了,随便说一种药,他就能告诉你这个药的药性,药效,怎么用,等等等等。这时候基本上我们已经对星爷的全能感到震惊了。后来他又开始研究古汉语,看古汉语词典,康熙字典,整天到晚的跟我们这之乎者也。"夫内核者,老大也,发其命,出其令,而统'康皮右特儿'(computer
-_-b)……"然后就是我们集体的"打豆豆"时间——谁是豆豆就不用说了吧。
  
我也趁没人的时候,问过星爷:您怎么懂这么多呢?看什么会什么。星爷很神秘的笑笑说:其实他没什么本事,就是在学校学过信息检索而已。主人给了那么多本书,要想都记住,根本不可能嘛,他只是每次在主人问起事情的时候,赶快现去查书,用最快的速度找到并告诉主人。要是没了这些书,他知道的就少很多了。不过也不至于离开了书就什么都不知道,现在的星爷学会上网了,可以连接到一种叫网络辞典的地方,自己不会可以去网上查,不过那样效率自然不如自己翻书快了。
  (29)日志
  
自从红酒大师来了之后,查皮起床的次数比以前少了很多,我的工作更繁忙了,大多数工作,主人都交给我去做。每天大家都忙得不可开交,新来的奔流整天忙着下载各种大个头的东西,什么电影阿,软件阿,什么都有。随时都跑过来找我:头,我下了20M,先存硬盘里。我说:好,存那吧,赶快。转眼,Mplayer又过来:头,我要读那个电影。刚找着电影递给Mplayer,主人又发命令要我把U盘里的一堆文档搬到他的文档目录里。正搬着呢,奔流又过来了:头,我还要存20M。我一边搬着文档一边指一块地:恩,你就存N&@#%……
  
我睁开眼,看见了熟悉的GRUB大叔,他拍拍我:嘿,醒醒,开工啦!——唉,每次都是这句。我揉揉眼睛,觉得头有点涨。发生什么了?怎么屋里有些乱?仔细回忆一下……哦,我好像正在干活,然后……停电了?!恩,应该是了,那时候眼前一黑,就什么也不知道了。我当时正在搬文件,搬到哪了?恩,看看日志把。还好我用的XFS是个日志文件系统。什么?日志文件系统你也没听说过?唉~
讲课。
   笨兔兔老师第三讲——什么事日志文件系统
  
文件系统就是我们管理整个硬盘这间屋子的方式,这个以前跟大家说过了。文件系统有很多种,过去的文件系统都是非日志文件系统,这种文件系统比较落后。比如EXT2,比如查皮那的FAT。非日志文件系统在发生意外断电的时候就容易出问题。就像今天的情况,如果我这屋子用的是ext2的话,没准就丢个文件阿什么的,搞不好整个分区都坏掉了。为什么呢?比如我屋里有一个叫
笨兔兔的故事.odt
的文件。文件,前面说了,就相当于放在屋里的一个大箱子,里面是内容,外面写着文件名:笨兔兔的故事.odt
内容是什么咱就不管了。然后有一天主人要修改这个文件,可能往里面多写进去点东西,也可能改掉里面的一些东西。如果用非日志文件系统是怎么做的呢?很简单,主人首先找OO老先生打开这个文件,打开,也就是把这个文件读进了内存里,然后靠OO来在内存里修改这个文件。注意,文件不是你家的大白菜,搬到屋外那屋里肯定没有了。文件读进内存,磁盘上仍然有这个文件,内存里只是它的一个副本。好,现在,OO老先生那有这个文件改动后的版本,在内存里(就是主人还没点保存)。磁盘里有这个文件原来的版本。如果这个时候停电了,那刚才该的那些肯定都作废,这个用什么文件系统也是一样。那如果主人点了保存,并且保存结束了,这个时候停电,那就停吧,也没事,因为已经保存进去了,除非房塌了(比如磁头挂了,盘面损坏之类的),否则不会丢。如果主人点了保存,那么OO就要让我把内存里他写的那个副本往磁盘上存,于是我就从内存里拿过来一点,打开磁盘上那个文件,掏出里面的一部分,扔掉,用我手里这些替换进去。然后再回内存里拿下一部分,再回来把文件里的下一部分扔掉,用我手里的替换。如果正在这个过程中停电了,那就惨了。内存里的,那肯定没了,磁盘上的,有一部分被替换掉了,有一步分还是原来的,于是文件就乱了,可能损坏,格式不对,根本打不开之类的。
  
那用日志文件系统又怎么样呢?日志文件系统,顾名思义,就是有日志的文件系统(废话)。还是拿上面那种情况举例,OO要存那文件,那我怎么做呢?我会在硬盘上一个专门的记录日志的地方些下来:OO要覆盖
笨兔兔的故事.odt 文件。
如果这个时候停电了,没事,原来的那文件还好好的,但是内存里的还是没了,这条记录也就作废。记录之后,我就开始把内存里的东西往硬盘里放——放在记录日志的地方,并不动原来的那个文件。如果放到一半停电了,那也没关系,原来的文件还好好的。修改了的那份也有一部分放到了硬盘里,不过这是一部分的话,多半还是没什么用。如果我把文件完全搬到了记录日志的那部分硬盘里,那就再在刚才记录的那条日志下面写上:已经把要覆盖的内容存到了日志去xxx位置,准备替换原文件。如果这个时候停电,没事,等再开机,我一查日志,就知道要修改的版本已经完全存在了硬盘里,只要按着上面记录的继续做就行了。写好日志之后,就开始用日志区的这个新文件去替换硬盘上那个原来的文件。这个过程会很快,因为其实并不需要真的搬运数据,只要在原文件的地方做上标记,表示这个文件已经作废,然后把那个
笨兔兔的故事.odt
文件名指向新写的这个文件就好了。(我们只是拿箱子比喻文件,但文件毕竟不是你家的箱子。)这样,无论中间的哪个过程断电,都不会完全损坏整个文件,要么原版还留着,要么修改后的版本已经生效,通过查看日志就能知道现在哪个版本有效。这就是日志文件系统。

(30) XFS
  
上回书说到,这笨兔子跟店房伙计似的忙里忙外脚打后脑勺阿,忽然间咔嚓一声——停电了。那位说了,怎么回子事捏?我不说,您不知道。原来是小区电网改造,这个小区那是历史悠久,早在清朝末年……当然了,这些都是题外话,咱们暂时不表,单说这笨兔子。来电以后,只见这本兔子不慌不忙地起床,刷牙,洗脸,吃早点,看看屋里边,挺乱的呀。拍脑门一想:对了,刚才停电了。有人关心了,说这停电了,丢东西没?听过上文书的都知道了,这笨兔子用地是"插爱夫爱死"(XFS)文件系统,那可是日志文件系统阿,那就相当于宝兵器,浑铁凝钢打造,那是削铜剁铁,斩金错玉阿,那能怕停电么。所以这笨兔子照着这个文件系统地日志,前后左右那么一查,齐活,啥也没丢。
  
又有人可打听了,说这"插爱夫爱死"这口宝兵器是从哪得来的捏?这可说来话长了。想当初,早年间了,有这么一个硅谷图形公司(SGI),他们有个操作系统,叫做"爱阿爱插"(IRIX),这外国人起名字都各色。这系统干什么用的呢,主要是图形计算。本来他们有个文件系统叫"义爱夫爱死"(EFS),可是这不过是一件凡铁兵器,一开始拿他切菜还挺好使,后来买卖做大了,随手也越来越强,人家都那地是宝刀宝剑,你这把切菜刀,怎么跟人家比划呀。所以这硅谷图形的总瓢把子拍板,说咱这破菜刀也别磨了,你再怎么磨也是把菜刀,干脆,"义爱夫爱死"——扔了吧。另请高人,访贤士,为新版地这个打造了"爱阿爱插"系统打造了一口宝兵器,就这"插爱夫爱死"。那么说这宝兵器宝在哪捏?头一个说,就是他结实。就是不怕断点呐,就跟这笨兔子这回遇到的情况一样,忽然地断点,没事,数据不丢。再一个,什么捏,就是这兵器,速度快,那是快如闪电。有那么句话您听过没有,叫迅雷不及掩耳盗铃阿。这文件系统格式化,甭管你多大磁盘吧,你是1G也好,100G也罢,哪怕你是1T的硬盘,一眨眼的功夫,格完了。光格的快也没用,那读写文件也是不慢,尤其是越是大个的文件,读写起来越有优势。还什么特点?还有就是能伸能缩,要说小,几十兆建个分区也行,要说大,您看着"插爱夫爱死"是个六十四位的文件系统不是,最大支持多大滴分区捏,支持十八个E的分区。就是一万八千个T呀~那么这是分区的大小,那支持的文件大小最大多大呢,最大九个E,也就是九千T。T是多少不用给大家介绍了把,1000个G阿……
  
那么有人说了,你把这件宝兵器夸滴跟一朵花似的,那么他就没缺点了么?他就无敌天下了么?当然不是,有道是一山更比一山高,能人后面有能人阿。说这XFS有什么缺点呢?就怕删文件,尤其是小文件,删除一大堆小文件的时候那个速度就慢死了。再一个,宝兵器一般都沉,这处理器费地多点。当然,也不是很多,只是相对多一点。这正是金无足赤,人无完人,今天给您说完这段到下回咱们说说……说啥还没想好反正是咱们下回——再说。

[连载]笨兔兔的故事——带你了解Ubuntu,了解Linux(11-20)

  (11) 来头
  
这次主人叫apt,是让他去找一个软件,名叫preload。apt同志翻开他那厚厚的记事本,查到了preload的资料,然后向主人报告:preload工作需要的条件我们这里都已经满足了,可以直接把他请来。然后,在获得主人的同意后,apt出发了……  
   "比海更广阔的是是天空,比天空更广阔的,是人的心灵。"
  500g的容量算不上海量,而屋外那个世界,却实在算的上比天空更广阔了,那就是网络。一个操作系统是孤单而无助的,只有接入了网络的操作系统,才真正能够发挥全部的能力。尤其是对于我来说,尤其是对于有apt做帮手的操作系统来说。apt可以从网络上获得各种软件的资料并记录下来,当需要的时候,只要跟他说一声:"我要xxx软件",apt就直接去找去了,下载,安装,全都不用别人操心,他都给办了。如果没有网络,apt到也不是全无用处,至少他可以用来管理安装光盘上的软件,可是就光盘那点容量,我自己都管理的过来,要什么软件自己搜索都不会慢多少,就体现不出apt同志的"超级牛力"了。除了apt,很多其他的软件都是跟网络离不开的,比如狐狸妹妹,要是没网络,她就可以退休了。说起网络,实在是个很有意思的世界,有很多有意思的东西,不过,一个软件要想能够从网上取得信息,就需要懂得网络上的说话方式,懂得网络交流的语言,我们管它叫做——协议。懂得http协议的软件可以看网页,懂得ftp协议的软件可以传文件,不过这些都是上层的协议,底层,基本所有能上网的软件都要会的,算是tcp/ip协议了,apt就懂得这门协议,所以,他可以去网上找想要的软件。  
  
转眼间,apt已经把preload请来了,并且做了一下安顿,完事后,看看没有什么其他的工作了,他就回硬盘去睡觉去了。要说preload这家伙我还真是没见过,不知道他是干啥的,有什么本事,不过既然主人要找他,总是有原因的吧。鉴于他名字念这不顺口,我们就叫他老p吧。
  
老p好像很勤快,一来了就跑到内存里准备干活,我正要看他到底会干些什么,哪知他什么也不做,就在那里看着别人忙碌,时不时拿出个小本,记录着什么。一直到关机,大家都去睡觉,他都没说话。第二天一开机,他又早早的跑进内存,看着别人忙忙碌碌,拿着小本本记,还是一言不发,还是不做多余的事情,直到再一次关机。第三天,第四天,涛声依旧……这家伙到底什么来头?
  (12) 本事
  
这一天,一如既往的起床,一如既往的看老p跑进内存,本以为他会一如既往的待在那里,一言不发,没想到他竟然说话了:firefox赶快起床,做好准备。狐狸妹妹被叫醒,一头雾水的看看我,因为每次都是我叫她。我也同样迷惑的看看老p,主人还没有发命令要用firefox阿,怎么就把她叫醒了呢?但既然被吵醒了,狐狸妹妹也就不睡了,迷惑的走进内存,看着老p。老p倒是镇定自若,一点没觉得有什么不对劲,转脸又说:Audacious起床,做好准备。Audacious是一个多媒体软件,他会使用那个叫做声卡的硬件设备,唱出优美的歌声来。我问过我们这里学问最高的星际译王老先生,星爷告诉我Audacious这个名字是大胆,鲁莽的意思。大胆,唱歌,所以,我们就管这个会唱歌的家伙叫"想唱就唱"吧。想唱就唱也被老p叫进内存,跟firefox站在一起,刚要问什么,这时主人发话了,要开网页。我马上明白了,看了一眼狐狸妹妹,她也很麻利,当我看她的时候,她已经在工作状态了。省去了平时狐狸妹妹起床的时间,反应快了不少,主人很满意。没过多会,主人果然又叫想唱就唱来唱歌了,一切都在老p的预料之中……
  
原来,老p这几天一直在记录分析主人的使用习惯,获得足够的数据之后,就可以知道哪些软件是常用的,哪些是不常用的,哪些软件哪些时候用,哪些软件哪些时候基本不用,正所谓金风未动蝉先觉,春江水暖鸭先知,主人用啥他先晓。有了他,整体系统的反应速度提高了,这就是他的能力,这就是他的本事,这就是他的价值。在这个世界里,没有一个程序是无用的,每个人都是人才——不同方面的人才。
  (13)开源
  
大家见识了老p的本领之后,都很乐意的听候他的调遣,整体的工作效率提高了一些。不知道查皮那里有没有类似的角色,于是就拜托狐狸妹妹去网上问问,结果发现在查皮发布的时候,有点软的公司就宣称,查皮有类似的功能,可以记录用户对软件的使用情况,使用的多的软件就能够较快的启动。而让人不解的是,5年后,查皮的下一代,长得比他漂亮的Vista(看到这个词,总让我想起Visa,于是我总觉得这个系统很贵)系统发布时,有点软公司还在宣传,Vista系统增加了记录用户习惯的功能,用的多的程序将得到更快的启动速度。也不知道到底是加了没加,反正他们公司的系统,总是越用越慢倒是真的。到底为什么慢,我也说不清,因为他是一个闭源的系统。
  
什么是闭源呢?就是源代码不开放。我们知道,程序是程序员们一行一行的语句编出来的,c语言也好,java也好,这一行一行的语句,就是这个程序的源代码。有了源代码,就能够100%的了解整个程序的构造,如何工作。而源代码是不能运行的,比需要把源代码变成可执行的二进制程序,这个过程叫做编译。源代码经过编译之后,才可以运行,但是编译之后的程序就不能够知道内部的构造了。我们平时在网上下载的各种程序,都是编译好的二进制程序,如果你想要它的源代码,对不起,不行!这是商业秘密,怎么能给你?给了你,我们的软件怎么卖钱?这种不开放源代码的程序,就叫闭源程序。打个比方,就好像肯德基。麦辣鸡翅谁都可以得到,只要花钱买就行,但是配方没人知道(虽然其实也没多好吃)。配方就相当于源代码,麦辣鸡翅就相当于编译好的二进制程序,制作过程就相当于编译过程。如果有了配方(源代码)你就可以自己作麦辣鸡翅(自己用源代码编译出二进制程序),甚至还可以根据口味对配方进行修改。(根据自己的需求修改源程序,为软件增加自己需要的功能)
  既然有闭源,那是不是还有开源呢?你答对了。linux,就是一个开源的系统。
  
开源是什么?开源是一种精神,是乐于分享的理念。再举个例子,有一天你发现,蒸鸡蛋羹的时候往里面加点牛奶,可以让鸡蛋羹更滑嫩。知道了这个窍门,你很高兴的把它告诉你的朋友,让他们分享你的经验,于是大家很高兴的也学会了做这样的鸡蛋羹。这就是开源。你也可能不把它告诉别人,而是保留这个秘密,甚至申请个专利,然后开个店去卖京城独一份的奶香滑嫩鸡蛋羹。这就是闭源。当然,这之中没有谁对谁错,睡好谁坏,只是不同的理念而已。
  (14) 故事
  
以前讲过查皮他家的历史,现在就来说说我家的故事。话说1991年,那是一个夏天。有一位牛人在世界的互联网上画了好多圈——"Hello
everybody out there using minix——I'm doing a (free) operating system"
(英文圈多……)大家可能看不明白,我来逐一解释一下每个单词:第一个,Hello,这个是打招呼的意思,哦,你知道啦,那说第二个。everybody,每个人,跟我念,爱~唔~瑞~八~迪~,哎呀……呃,好了好了,不要着急,把西红柿鸡蛋都收起来吧,我直接说重点——minix
  
说minix,就不得不说说Unix。UNIX也是一个操作系统,而且是一个历史悠久的系统。1965年,鼎鼎大名的贝尔实验室加入了一项由奇异电子(General
Electric)和麻省理工学院(MIT)合作的计画
  ——制作一套多使用者,多任务,多层次的MULTICS操作系统。贝尔实验室的大名大家都知道,晶体管、激光器、太阳能电池、发光二极管、数字交换机、通信卫星、电子数字计算机、蜂窝移动通信设备、长途电视传送、仿真语言、有声电影、立体声录音,以及通信网的许多重大发明都诞生自这里。麻省理工大学更是历史悠久,技术雄厚。所以,这个MULTICS操作系统的项目在1965年成立,到1969年就……被取消了,主要原因是进度太慢。可见编操作系统不是一件容易的事儿。
  
真是世事难料阿,看似事情就这么结束了,然而,其实故事才刚刚开始,因为一位英雄的出现。
   Ken
Thompson也在这个计划中,计划取消了,他很郁闷,因为他编了个星际旅行的游戏,没法玩了。这个程序之前运行在一台型号是GE-635的机器上,这个机器的系统大约就是他们计划开发的MULTICS系统,但是反应比较慢,玩起来不爽。Ken
Thompson满怀希望的憧憬着项目完成的时候,系统能够优化的顺利的跑起来他的游戏,然而项目竟然取消了,怎么办呢?毛主席教导我们说:自己动手,丰衣足食。我估计Ken
Thompson没有背过毛主席语录,但是他用自己的行动证明了其正确性。他在墙角淘换出一台PDP-7的机器,并且伙同Dernis
Ritchie将星际旅行移植到了这台PDP-7上。这台幸运的PDP-7因此在历史上留下美名。当然,要想运行这游戏,当然得有个系统,这个系统,就是Ken
Thompson和Dernis
Ritchie用汇编语言写出来的,非常简陋的,UNIX的前身。这都是为了玩个游戏阿~
  (15)minix
  
在强大的,玩游戏的欲望的驱使下,两位牛人完成了UNIX的最初雏形版。这个系统只支持两个使用者(估计做的时候没考虑别人,够他俩玩的就得)相对于那个MULTICS系统——MULTiplexed
Information and Computing System,Brian Kernighan
开玩笑地戏称他们的系统其实是:"UNiplexed Information and Computing
System",缩写为"UNICS"。后来大家取其谐音,就诞生了UNIX这个词。这一年,已经是1970年,史称Unix元年。后来,
Brian
Kernighan觉得用汇编写的系统不好维护,于是……他发明了C语言(符合他一切自己动手的风格),然后用C语言又重写了一遍。从此,Unix走上了发展的快车道,并且一直用到现在。许多世界级的大服务器,用的都是Unix系统。
  
   好,Unix就说到这里,我们的正题是Minix。
  
要说Unix确实是很牛的,很有技术含量的,是值得学习计算机科学和操作系统的同学们学习的,然而,Unix也是天价的,广大穷苦的大学生们是买不起的。荷兰阿姆斯特丹的
Vrije 大学的Andrew S.
Tanenbaum教授深刻的体会到了这一点。他的学生们学习了计算机学习了操作系统原理,总得实践一下吧?总得找台机器用用吧?要用计算机就得有操作系统吧?买个DOS装上?虽然那时候DOS已经问世了,但是这么一个单用户单任务效率也不高的操作系统,实在不能指望它培养出什么软件的人才。装个Unix?学校还不想破产。于是Andrew
S. Tanenbaum牛人拿起键盘——咱自个儿编一个吧!然后Minix就诞生了。Minix取Mini
Unix之意,自从1987年被编写出来,到1991年发展到1.5版,现在有两个版本,1.5和2.0。这个操作系统的初衷,是作为一个用来学习的模型。所以功能很简单,体积也很小。并且以后也没有进行进一步的开发和扩充,为的是能够让学生在一学期内能学完。那时候Minix在大学中用于教学是免费的,但是用于其他用途是需要给钱的。不过现在已经彻底免费了。它作为一个操作系统,其实并不算优秀,但它是一个源代码完全开放的操作系统,这使得有理想有志向有报复的黑客们,第一次能够完整的阅读到一个操作系统的全部代码。这其中,就包括芬兰赫尔辛基大学的学生,Linus
Benedict Torvalds ……
  (16) linux
  
那时候,Linus是赫尔辛基大学计算机科学洗的二年级学生。他的最大爱好,就是虐待计算机。测试计算机的能力和限制,整天研究怎么让计算机按照自己的想法去干活,怎么发挥计算机最大的性能,把可怜的机器累得精疲力尽呼哧带喘直到电容爆浆,吐血身亡。在学校,计算机上装的是教学用的Minix系统,虽然适合拿来学习,不过系统本身并不强大,渐渐的,这个教学用的操作系统已经不能满足Linus大侠的欲望,可是似乎又没有别的选择。上面说过了,Unix奇贵无比,而且无论Unix还是DOS,他们的代码都是不开放的,这系统只能拿来用,没法拿来折腾的。于是象其他牛人一样,linux自己动手了。
  
  
今天,我们知道,linus从那时起开始了一个事业,一个神话,但在当时,他并没有想那么多,只是为了学习Intel386体系结构保护模式运行方式下的编程技术。他并不知道自己即将创造的是一个在世界范围广泛使用的系统,而只觉得是自己一时的异想天开。因此,一开始他把自己写的这个操作系统命名为FREAX。就此开始了这个"异想天开"操作系统的编写。大约1991年4月份的时候,就编写出了第一个可以运行的版本——0.00版。这个版本可以启动,运行两个进程,分别在屏幕上打印出AAA,和BBB,然后……没了。虽然连句整话都不会说,不过这是一个好的开始,至少能启动了。
  
  
如果他就这么干下去,估计到今天,就不会有linux这个东西了。一个人的力量是有限的,有道是人多力量大
,众人拾柴火焰高,多个铃铛多个响,多根蜡烛多分光,一个篱笆三个桩,一个好汉三个帮,三个臭皮匠还顶个诸葛亮……哎呦~
好吧,就说这么多了。总之,linus让他的操作系统和互联网,亲密接触了。于是就有了前面说的这句"Hello
everybody out there using minix——I'm doing a (free) operating
system"(可算绕回来了)这是他当年在comp.os.minix上发布的消息,告诉大家,他正在写一个操作系统。并且,他还把他写的"异想天开"操作系统的代码上传到ftp.funet.fi的服务器上让你给大家下载,以便交流心得,共同学习。这就相当于你跑到网站上发帖子说:我研究出一种萝卜炖牛腩的方法,主料是啥啥啥,配料是啥啥啥,怎么怎么炖,大家都试试吧!(对不起,我又饿了)于是很多有兴趣的人就来尝linus炖的牛腩,哦不对,是尝试linus写的系统。不过当时那个服务器的管理员Ari
Lemke看着这个异想天开的名字就不顺眼,想想,既然是linus写的操作系统,又是类Unix,或者说类minix的(minix本身就是类Unix的,大家都是一家子),干脆,叫linux吧。
  (17)Friends
  
linux被公布在网上之后,引来大家的围观,很多人觉得这个东西挺有意思。不过第一个对外发布的0.01版linux还有很多的不完善(这简直是一定的)。这里先要说一个概念,linux是什么?确切的说,狭义的讲,linux只是一个操作系统的内核,他只是各位的Ubuntu系统里面/boot/目录下的那个内核文件。就好比汽车,linux只是一个引擎,只是大家普遍的把装了linux这种引擎的汽车叫做linux汽车。那么既然linux只是一个内核,要想工作就还需要很多周边的支持,比如文件系统,比如一个命令行程序,比如一些基本的软件。
  
由于当初linus大侠是在minix系统上开发的,所以最一开始linux用的文件系统是借用minix的文件系统。可老借别人的总不是个事,还是应该有自己的文件系统,就像查皮的FAT和NTFS。前面说了,文件系统也就是自己管理自己这点硬盘空间的方式,自己的屋子用自己的方式管理,自然最顺手。这时候,来了个牛人叫Theodore
Ts'o。
   Theodore
Ts'o,1990年毕业于美国MIT大学计算机科学专业。他爱好广泛,喜欢烹饪,骑车,还有折腾电脑(这都不挨着啊~),后来又玩上业余无线电报了,当然这都不是主要的。他看到linux觉得很有意思,于是怀着极大的热情为linux提供了邮件列表服务以便大家一起讨论问题,后来还提供了ftp站点来共享linux的代码,并且一直用到现在。除此之外,技术上,他编写了linux0.10内核中的虚拟磁盘驱动程序和内存分配程序。在感觉到linux缺少一个自己的文件系统后,他提出并实现了ext2文件系统,并且ext系的文件系统一直都成为了linux世界中事实上的标准,任何一个发行版都会默认支持。现在已经发展的遍地ext3,期盼ext4了。
Theodore Ts'o可算是Linux的顶级元老了。
   另一位元老,一个英国人——Alan
Cox。他工作于英国威尔士斯旺西大学,特别爱玩电脑游戏(又一个玩游戏的,可见玩游戏也不是坏事),尤其是网游(你看你看,还是网游),不过那时候的网游不像现在这样华丽,那时候是字符界面的,能想象嘛?字符界面的网游!那种叫做MUD——Multi-User
Dungeon or Dimension。玩MUD当然就得有计算机啊,就得有网啊,所以 Alan
Cox就开始逐渐的对计算机和网络产生了兴趣。为了提高电脑运行游戏的速度以及网络传输的速度,他开接触束各种操作系统,为自己选择一个满意的游戏平台,争取榨干电脑的每一个指令周期。经过自己考虑,他买了一台386SX电脑,并且装了Linux0.11版的系统。这主要是因为预算比较紧张,即使minix他也买不起。(重复一下,minix用于教学是免费的,但是其他用途要收费,包括个人用。)于是他开始使用linux,进而学习其源代码,并对linux产生了兴趣,尤其是网络方面相关的代码。(整天琢磨怎么榨干他家那点带宽)在Linux0.95版之后,他开始为linux系统编写补丁程序,以后逐渐加入Linux的开发队伍,并成为维护linux内核源代码的主要人物之一。那个有点软的公司还曾经邀请他加盟,被他有点硬的拒绝了。
   再有一位,Michael K.
Johnson,他是著名的linux文档计划的发起者之一,写了《内核骇客手册》一书,曾经在Linux
Journel工作,现在在著名的商业发行版RedHat的公司工作。
  
当然除了这些大牛,还有更多的大牛,中牛,小牛,牛犊,牛杂,牛尾,牛头肉,肥牛……(唉,又饿了)……们,都为linux的发展做出了自己的贡献。他们来自不同的国家,从事不同的职业,他们甚至从未见过面,但是他们为了一个共同的目标,通过网络,一起合作,利用自己的业余时间,义务的帮助linux成长,才有今天这个可以合法免费使用的操作系统。这是什么精神?这就是软件国际共产主义的精神!(好吧,这个词是我造的)
  (18)杀毒
  
这天又去查皮的屋里搬东西,看见有几个生面孔,长得怪猥琐的也不知道干什么的,查皮那还真是什么程序都有阿。刚把东西搬了回来,就见apt火急火燎的跑过来:"报告系统,本APT有超级牛力!我要用网络。"——是的,任何程序要使用任何硬件资源都要经过我的同意,因为我是操作系统。
  我一边查看资源情况一边问:"这回去招什么软件呀?"
  APT说:"叫AVAST。本APT有超级牛力!"
  "这软件干什么的呀?"
  "本APT有超……"
  "算了算了,我不问了,快去吧超级牛力。"
  话音未落,apt就飞也似的跑出去了,从远处还传来他悠扬的声音:"……超级牛力~~!"
  唉,就说现在是牛年了吧,也不至于这样啊。
  过了一会,"超级牛力"回来了,带回来一个软件,看着软件个头不是很大,长得也比较难看,只有个很简陋的图形界面。我顺手拿过他的手册man了一下(linux下,你想知道一个软件是干啥的,怎么用,你就man他。当然,你得懂点英语。)才知道原来是个杀毒软件,还挺有名气的。心想,我又不中毒,主人装杀毒软件干什么?忽然想到了在查皮屋子里看到的几个萎缩的面孔——莫非是隔壁那哥们中毒了?
  
果然,在被"超级牛力"安顿好住处之后,AVAST马上被主人叫进内存去工作。他先是去网上下载了最新的病毒库——就相当于一沓子通缉令,上面写着各种已知病毒的名字,相貌特征,作案手法等等信息,以便杀毒软件查对。下载完毕之后,就见他收拾好工具,整理一下装备,向着那黑洞洞的隔壁,出发了。
  
说起来,隔壁那个查皮还真是挺害怕病毒的,防不胜防啊。针对他的病毒多种多样,各有各的本领,虐待起查皮来真是八仙过海各显其能,而且查杀不易。他们有的会伪装成别的软件,查皮叫醒"记事本"去干活,殊不知真正的记事本已经被病毒一棍子打死了,现在躺在那长得跟记事本一样的家伙已经是整了容的病毒。有的能够藏在正常程序的里面,正在工作的IE同志,很可能工作服的兜里就隐藏着病毒。并且病毒们现在基本都回随着查皮一起起床。当查皮被叫醒,伸个懒腰揉着眼睛走进内存的时候,他庞大的身躯后面可能正趴着40多只病毒。由于病毒是活的,要杀掉很困难,它们可能会有很多人共同作战,杀毒软件杀掉了内存里的强夫,内存里的大熊会把硬盘里强夫的复制版在叫起来。扭头杀毒软件去杀大熊,强夫会把杀掉的大熊抢救过来,结果谁也杀不了。有的病毒更暴力,自己先跑进内存,一看见有杀毒软件要进来,立马上去一铁锹拍死,然后藏起铁锹装着杀毒软件的声音说:"杀毒软件成功启动,没有发现病毒,噢耶~"甚至还能监视着IE,一旦他要访问什么杀毒防毒相关的网站,二话不说,直接干掉!
  
但是AVAST去查毒就简单多了,因为这时候隔壁的查皮没起床,所有他那边的软件都在睡觉,病毒也一样,所以不会有任何反抗能力。AVAST过去,只要根据通缉令一一对照即可,只听隔壁那边
"阿~~" "厄~~~" "哎呦~"
"我死得好惨哪~~~~~~~"等等叫声不绝于耳。过了很长一段时间,AVAST回来报告:共发现病毒7种,共214只,全部歼灭。
  (19)免疫
  有人问,查皮那里的病毒那么可怕,你这里怎么没有病毒呢?好~
  笨兔兔老师第二讲——为什么linux不中毒
  
首先我们来了解一下病毒,病毒是什么?其实说简单了,病毒只是一个程序,一个坏坏的程序。既然是程序,就跟其他的正常程序一样,依赖于不同的平台。啥意思?就是说,给查皮打工的,没法给我干活,给我干活的,也不理查皮那一套。我要是拎过一个查皮那边的程序跟他说,快起床干活。他压根也听不懂,闭上眼睛继续睡,语言不通啊。所以,病毒也一样,针对查皮的病毒传染不了我,针对我们linux的病毒也不可能传染查皮。
  
那有没有针对linux的病毒呢?答案是有的。第一个linux病毒诞生于1996年,澳大利亚的一个叫VLAD的组织用汇编语言编写了linux系统下的第一个病毒:Staog,不过这个病毒只是个试验品,只是证明一下linux也会感染病毒。这个病毒会感染二进制文件,获取root权限,然后说:你看,我获取了root权限。炫耀完了也就算了,并不做任何破坏性的事情。后来也有了一些有破坏性的病毒,但是数量很少,经过科学家计算,一个不装任何杀毒软件或防火墙的linux在互联网上中毒的几率大约比一个人花两块钱买彩票中五百万后立刻被雷劈中的概率大那么一点点。(这是哪门子科学家)病毒少,这是linux不容易中毒的一个原因。可为什么病毒少呢?
  
话说有一个邪恶的人,出于某种邪恶的目的,他想编个windows病毒。他买书学习Windows的知识,找熟悉windows的高人前辈们学习。经过种种努力,编出了一个病毒,然后把这个病毒放在自己的网站上,只要使用windows系统,ie浏览器上网的人一登陆这个网站,就必定中毒。放上去之后,他等着,看着有1000人来到了他的网站,看着其中900多个纯洁的查皮系统感染了病毒(总有不用ie的,装防火墙的windows吧),他很有满足感,他觉得自己成为大牛了。
  
话说有另一个邪恶的人,出于某种邪恶的目的,他想编个linux病毒。他买书学习linux的知识——不过好像不太好找,好不容易找到基本也都是基础知识。找找高深的吧,还都是英文。好吧,英文的也看,对着字典慢慢研究。哦,对,还可以找找高人指导,不过…………也不好找哈,找了半天找到一个高人,拜他为师吧。经过师父指点和自己的努力,他学到了很多linux的知识。然后费劲心机编了一个linux的病毒,然后把这个病毒放在自己的网站上,只要使用linux系统,firefox浏览器上网的人一登录这个网站,就必定中毒。放上去之后,他等着,看着有1000人来到了他的网站——998个人都是windows系统……好吧,好歹还有俩用linux吧,可其中一个不用firefox,而是用Opera。邪恶的家伙咬咬牙,忍!看最后一个——哈哈,这家伙是linux+firefox,只要登录准中毒。可是只见着人来了转转又走了,一点事没有,临走还顺手改了自己的主页,上面写着:小子,跟我玩你还嫩点。——师父留……
  通过对比我们得出结论——写linux病毒,没前途!
  
除了以上所说的原因意外,linux以及周边软件的开源本质,也导致了病毒较少。比如我吧,主人要装什么软件,都是叫apt去找,apt可不是四处瞎找,而是去Ubuntu官方的软件源里去找——因为这些软件是开源的,所以可以随意的拿来,放在一起,做成软件源,供Ubuntu们统一下载。官方的东西,自然没有病毒了,那个娘也不能害自个孩子不是?Windows就不一样了,它上面的软件基本都是闭源的,要装,得自己上网搜,在某个网站搜到了,下载下来装。可这"某个网站",就不知道他靠不靠谱了。谁知道上面的软件有没有病毒呢?那那个有点软的公司不能也开个官方的软件源,让大家都去他那下软件么?当然不能了,都是闭源的软件,你拿来用都要给人家钱的(当然,也有免费的),拿来分发可能压根就是不允许的。另一方面,linux的开源导致了大家都可以对其进行完善,一旦发现漏洞,随便谁都可以去修复这个漏洞,只要他有能力。可windows呢?发现了漏洞,也只能漏着,等着有点软公司去修。
   好了,这节课先上到这里,下次见。
  (20)权利
  
AVAST给查皮杀光了病毒以后,据说查皮工作起来顺畅了不少。不过他似乎并不知道发生了什么,仍然很自以为是的摆出一副傲慢的表情,该怎么干活还怎么干活,也不说小心点别再染上病毒。(当然,这一切不是我自己看到的,是听人说的。主人叫戴眼镜的OO老先生记录下了给查皮杀毒的前前后后,还摆脱狐狸妹妹把这些记录的问题放到了他的BLOG上,他们两个聊天的时候告诉我的)我很看不惯他这样的表现,也不喜欢他对权力很强的占有欲。
  
查皮这个系统在安装结束的时候,会有一个创建用户的步骤,输入用户名,以后就用这个名字登陆了。这个用户是有管理员权限的。当然也可以不输入,无论输入不输入,系统里都会有一个很重要的用户——Administrator
  我,也就是Ubuntu这个系统在安装结束的时候,也会有一个创建用户的步骤,也输入用户名还有密码,以后也就用这个名字登陆了。这个用户也是有管理员权限的。当然也可以不输入,无论输入不输入,系统里也都会有一个很重要的用户——root
  有的同学举手了,说:我知道了root就相当于windows里的administrator,有着最高的权限。很好,领悟的很快,但是——并不准确。
  
Windows下权利最高的是谁?是Adaministrator吗?很遗憾,不是,是SYSTEM!也就是系统自己,查皮他自己。任何管理员的权利都不能大于查皮自己的权利。你可以试试去把C:\WINDOWS下的regedit.exe删了。能么?"哇!我删了耶,没报错。"别着急,刷新几下看看,是不是又出来了?查皮会保护自己,不叫人类破坏。这个初衷看似还是好的,但是当查皮自己中毒的时候,就不一样了。当他中毒时,就像被外星生命寄生了的人类(异型看过吧?),就不再是正常的人了,不正常的查皮仍然会努力保护自己,不让人动他身上的任何部分——包括已经中毒变坏的部分。
  那Ubuntu下(其他linux也是一样)权利最高的是谁?毫无疑问的是root!是这个用来给人类登陆的用户。root在系统中拥有真正的,至高无上的权力,他真的无所不能,他可以运行rm
* -rf
(危险动作,切勿尝试,后果自负)删除系统中的所有文件,或许我会语重心长的警告他,这么干很危险滴,这么干就都删光光了,这么干我这个系统就嗝屁了,不存在了!但是,当他确认的告诉我,他现在很清醒很冷静,知道自己在干什么之后,我会义无反顾地留着两行热泪按照他的命令去做!哪怕他要格掉整个硬盘,我也照办。这真是,君叫臣死,臣不得不死。他叫我格,我不能不格。(windows下是不可能在系统运行的时候格掉系统盘的)
  
会有这样区别的原因,还是我们两个的理念不同。查皮认为,人类是会犯错误的,很可能一不小心就把系统搞坏了,所以必须加以限制,有些事情让做,有些事情无论如何不能让他们做。而我总觉得,人类是聪明的,他们知道自己在干什么——尤其是用root登录进来的人,我认为他是了解我,了解整个电脑才会用root登录进来做事情的。所以他的命令不会受到任何的阻挠。而一般的用户,会用普通帐号登录,既然用普通帐号登录,就说明他们承认自己只是个使用者,可能会做错事。那么我就会稍微进行限制,让他们不会破坏我,也不会破坏其他用户的东西。所以,当你用root账户登录进来之前,一定要想清楚,自己身上的责任。

[连载]笨兔兔的故事——带你了解Ubuntu,了解Linux(1-10)

小文原载于Ubuntu中文论坛和天涯论坛,作者:懒蜗牛Gentoo.
  (1)开端
  
我叫Ubuntu,主人喜欢叫我"笨兔",但是我绝对不笨,与某种耳朵长尾巴短的哺乳动物也没有什么联系,我是一个操作系统,我是一个linux,我是Ubuntu。 
  
在2008年的4月,我来到了这个世界,并由出生日期得到了自己的代号——8.04。当然,和我同一天出生的兄弟们还有很多,我只是其中之一。我们出生之后,每个人坐上一张被人们叫做"光盘"的碟子,奔赴世界各地,寻找自己的归宿。我们只有找到住处,才可以发挥我们的能力,而我们并不像人们一样,住在钢筋水泥的格子里面,我们住的地方,是一块叫做硬盘的空间。
  
住房的质量严重影响着我工作的效率,不过还好,我住的这个地方还不错,房子很宽敞,有500G大。不过不是我一个系统住,房子被隔成两个大屋子,每边250G,我住在右边的一间,隔壁住的是一个WindowsXP,听说这家伙很厉害,不过我来的时候他正睡觉,于是也没有打招呼。(后来我知道,我们两个是不可能同时醒着的……)250G的屋子,对我来说实在是太宽敞了,我很欣慰,除了硬盘大之外,我发现这里其他的设施也是不错的。
  
硬盘只是我们操作系统休息和存放个人物品的地方,真正工作的时候,是不能在硬盘里的,那时候,我就需要从住的硬盘里,来到工作的地方,我们的工作间——内存。我的这个工作间也比较宽敞,有4G大,不过也不是我一个人用,也是要和隔壁的WdinowsXP共用的。鉴于他名字太长,我就管他叫"查皮"吧,不管他愿不愿意了,反正他也不知道,呵呵。不过内存的共用方式与硬盘不一样,不是一人一半,而是谁醒着谁就用,去睡觉前,一定要记得把内存里的东西,有用的,都搬回自己的那间硬盘里,以备下次使用。这道不光是为了另外一个系统着想,主要是因为内存里很不保险,东西放在里面去睡觉的话,等你在醒来,准没,不管你隔壁有没有住着一个查皮。
  (2)醒来
  
自从安顿到这个地方,对周围的硬件环境熟悉了不少。我们在Canonical学校的时候就进行了充分的学习,所以这里的东西我基本上都会用的比较顺手。像Realtek的网卡,Intel的北桥,南桥,声卡以及E8400
双核CPU,更是应用自如。Intel和我们的关系还是不错的,为我们提供了很多的教科书,说明书,基本都是讲如何使用他们的设备的,所以对于Intel的设备,我们都使用的比较好。这里唯一不能完全用起来的可能就是
GeForce 8800
Gt的显卡了。不过基本的显示功能还是没有问题的,只是我不知道怎么使用它的3D加速功能。这个需要专门的手册,要去nVidia那里去要。对周围的一些熟悉以后,就等着我的第一次启动了。
  
平时,我和隔壁的查皮都是在睡觉。当主人有事情的时候,会让传达室的GRUB大叔来叫我们。G大叔就住在传达室,传达室很小,只有512Byte,门上贴着牌子——MBR,可能G大叔想说自己是个"明白人"吧。由于传达室地方实在太小,所以他会把一些有用的东西放在我的硬盘空间里,必要的时候来看看。他总是面无表情,每次主人来的时候,他就板着个脸说:给你10秒钟,快说要叫哪个!然后就倒数,如果主人没来得及说,他就会直接来叫我——因为我们熟,他是我带来的。如果是叫查皮,那我就不知道了,因为那时我肯定在睡觉,上次说过,我们两个是不可能同时醒着的。而这一次,他径直来到我这里,拍拍我说:嘿,小子,开工啦!
  (3)工作
  
一听说开工,我很麻利的蹦起来,以迅雷不及掩耳盗铃之势,嗖的一下就越进工作室——内存里,用最快的速度进入工作状态。主人对此很满意,夸我说比那查皮麻利不少。然后,他下达了第一个命令:先去上网看看,找个快一点的软件源。于是我赶快叫醒还在硬盘里睡觉的Firefox——是的,看网页这个事我做不来,就得去找Firefox,我喜欢叫她狐狸妹妹。
  
狐狸妹妹轻移玉步,走进工作间——速度有点慢,不过还可以接受。然后开始工作,一下子找到某菜鸟入门新手指导帖之类的,找到一些著名的软件源的列表,如cn99之流。然后,主人决定记录下这些地址,于是,我又叫醒的gedit小弟。gedit个头很小,身体轻盈,一下子蹦进来,开始干活。然后,我又在主人的命令下去叫Rhythmbox,去叫pidgin,去叫………………等等,有人问为什么你总是叫别人干活,自己不干?我正在干,我要干的就是——叫人。
  
是的,我号称叫做操作系统,听起来好大的一个软件阿,好像操作系统就应该是啥都能干。不过,其实我们作为操作系统,并不能直接完成任何你需要的任务。我需要很多帮手,他们各自帮我完成各种不同的任务。可以说,我们在一起,才算的上一个系统,而我,是核心,是领导。没有我,他们当然不知道该做什么,而没有他们,我也不知道该怎么做。我们操作系统的最基本的职责就是管理,管理各种程序的执行,管理硬件资源的使用。比如CPU,就是我们程序要用的重要设备,每个程序都要用,可是CPU很贵,不能发给每个程序一个(否则主人会破产)。狐狸妹妹来了,我会把cpu给她用,gedit小弟也来了,他也要用,那么我就水告诉他俩,一人用一会儿。但是这可不是没人1/2这么简单,狐狸妹妹要做的事情比较复杂,那么就让她多用一会,gedit的工作很简单,就让他少用一会。主人关心的程序,就得多用cpu,主人不是很关心的,就可以少用一点cpu。有的程序脾气不好,把着cpu就不放,我必须处理,有的程序确实工作量大,需要使用cpu相当长的时间,可是我也不能就真把cpu全都给他用,还是得让其他的每个程序隔一阵子都能用上一会,不至于一直闲着。而有的程序平时基本不需要做什么工作,可是有不能把他请回硬盘,那么我就要允许他在工作间睡觉,只是在必要的时候叫醒他,并且把cpu给他用……怎么样?是不是有点乱?当个操作系统是很不容易的。当个好的操作系统,就更不容易了。
    (4)历史
    
住了一段时间,慢慢的开始对隔壁的邻居感兴趣起来。借主人上网的时间,顺便让狐狸妹妹帮我找找相关的资料。狐狸妹妹虽然起床慢点,干活还是挺快的,特别是装备了fasterfox插件以后。
    
查皮是个挺有名的操作系统,也算得上是名门之后。早在1985年,稍微有点软的公司就造出了查皮的老祖宗——Windows1.0
名字比较土,不如查皮显得青春活力。而实际,这位老人家的表现也确实不咋样,大家都没怎么拿正眼看他。
  两年后,1987年12月9日,第二代Windows上市了,那时候的人都懒得起名字,于是就叫Windows2.0。还是那个有点软的公司,还是那张脸,跟他爹长的还真一样。
  
并且,不单脸长得一样,遭遇跟他爹也差不多,基本上被打入冷宫,并不被大家看好。而Windows1.0和windows2.0最大的不一样的地方在于——2.0有个好儿子,1.0没有。
  Windows3.0终于让那个有点软的公司硬起腰板来了。相信很多老鸟也都是从Windows3.0的一个重要分支版本Windows3.2开始认识Windows的吧。1990年5月22日,Windows3.0正是发布,而第二年,1991年发布了Windows3.0的多国语言版本。
而同年,1991年,一件更重大的事情发生了。
  
在1991年,芬兰,赫尔辛基大学的一名大学生的电脑上,我们的老祖先,linux的雏形正在一点一点的完善起来……代码一行一行的流入他的身体,那时候,Windows3.0已经广为人知,已经进入图形界面的时代,已经能够支持多种语言,而我们的老祖先还仅仅能够对世界说一句Helloworld!可十几年后之后,就是另一番景象了。
  再回来说windows他们家吧。1992年Windows3.1出生,算是3.0的改进版,他增加了基本的多媒体支持和TrueType字体。TrueType区别于点阵字体,可以放大缩小,看起来更好看。1994年又发布了Windows3.2,相信他的样子大家都见过,再加上我贴了半天也没贴上,所以就不贴了。^_^
  (5)也是历史
  
到了1995年,Windows家的祖坟上终于冒青烟了,windows95一下子把人们从DOS时代领进了窗口时代。出色的多媒体性能,人性化的操作,美观的界面(跟dos,win3.2比)加上有点软公司强大的宣传攻势,那时的windows95简直是家喻户晓,妇孺皆知,老少皆宜,人人必备,真乃居家旅行月黑风高杀人放火之必备良品。除了明显的,看得见的不同之处外,windows95与他的前辈们的一个重要区别是,他是一个16位/32位混合的操作系统。之前的那些都是16位的,也就是说,windows95标志着个人电脑32位软件时代的开始。(顺便说一下,我们现在基本上还生活在32位软件的时代,隔壁的查皮就是32位的,而我嘛……是64位的^_^)总之,无论从哪方面说,windows95都是成功的,那个"开始"按钮,留在了那个时代的历史中,并一直流传到了现在。  
  
成功的东西要发扬广大,3年后,windows98问世了。这个系统是基于windows95编写的,他修正了windows95的近3000多个bug(英语老师:你这里怎么不加s!),添加了桌面主题等新的视觉特性,更重要的——他捆绑了IE。有点软的公司终于意识到互联网的重要性,把IE作为基本的软件随系统一起安装。(其实windows95里面也有ie,只是放在一个不起眼的阴暗角落里,生怕人知道似的)第二年,1999年6月,windows
98 se发布,也就是98第二版,他提供了Internet Explorer 5、Windows Netmeeting
3、Internet Connection
Sharing、对DVD-ROM和对USB的支持等,可以说,从windows95到windows98se这一脉,到这里达到了顶峰,也走到了尽头……  
   顺便说一下,windows95一脉还有一个家伙——window
me。出生在2000年,不过,基本上可以忽略他的存在,他的一些激进性改动没能获得广大用户的认同。重要的修改是系统去除了实模式DOS,而由系统还原代替了。在概念上,这是一个大的改进:用户不再需要有神秘的DOS
行命令的知识就可以维护和修复系统。但实际上,去除了实模式DOS功能对维护来说是一个障碍(现在的查皮都还有命令提示符,命令行才是王道阿),而系统还原功能也带来一些麻烦:性能显著的降低、硬盘空间的大量消
耗,并且对一些通常的错误还原并不一定有效。随意,基本上可以把他算作windows98的一个不成功改版。
  
或许你会问,windows98se之后,不是还有windows2000,还有你隔壁那个查皮么,怎么能说走到尽头呢?听我慢慢道来……
  (6)还是历史  
  
回到1993年,windows3.1获得成功后,有点软公司不满足于个人用户的市场,开始进军服务器。于是,基于OS/2
Nt的基础编制的windows nt 3.1问世了,windows nt
3.1是个32位的系统,比桌面系统提前进入32位时代,由于是面向服务器领域,windows
nt
3.1的稳定性要比桌面系统高很多(当然,跟linux比……就算了)。不过这个版本似乎不如下一个版本名字更广为人知——Windows
NT 4.0  
   1996年8月,Windows NT
4.0发布,增加了许多对应管理方面的特性,稳定性也相当不错,这个版本的windows至今仍被不少公司使用着。windows的nt内核家族从此登上历史舞台,与以windows95代表的一脉并行发展。到千禧年的钟声敲响后,nt家族的又一个精英——windows
nt 5.0问世了,为纪念千禧年,他还有另外一个名字——windows 2000
   windows 2000是主要面向商业的操作系统,他有4个版本:
   Windows 2000 Professional,用于工作站及笔记本电脑,可以叫工作站版。
   Windows 2000 Server 即服务器版,面向小型企业的服务器领域。
   Windows 2000 Advanced Server
即高级服务器版,面向大中型企业的服务器领域。
   Windows 2000 Datacenter Server
即数据中心服务器版,面向最高级别的可伸缩性,可用性与可靠性的大型企业或国家机构的服务器领域。外号:最牛版  
  
好了,该我的好邻居出场了,我们就把时间定格在2002年。从98问世到2002年,桌面市场的windows
4年没有什么变化了(windows
me是垃圾,windows98se不过是98的升级版),而随着时代的发展,widnows95一脉的内核越来越不能适应现代软硬件需求的发展,于是,有点软的公司一咬牙一狠心一跺脚——扔了!然后,拿过来一直表现良好的windows
nt系列的内核,开发出了新一代桌面版windows——Windows
XP,也就是住我隔壁这位。WindowsXP有两个版本,home edition和
Professional。Home edition面向家庭用户,相当于windows 98。
Professional面向工作站,相当于windows 2000
Professional。而对应windows2000其他用于服务器版本的系统,是2003年的windows
2003,也是一个很优秀的版本。好了,历史课就讲到这里,同学们,洗洗睡吧。
  (7)串门
  
今天接到了一个任务,挺起还还听轻松,一般胡同里大妈大婶的,经常做这项工作,并且乐此不疲,这就是——串门。
  事情是这样的,在我来之前,主人有许多照片存在了查皮那屋里,而现在可能他觉得这么珍贵的回忆全都堆在查皮那杂乱无章(在我看来)的屋里很不保险,所以,要我去复制一份,放在我这里。于是,我终于有机会去查皮那屋里看看他和他的同志们都长啥样。(前面说过,操作系统啥也干不了,他肯定也有一堆帮忙的应用软件,就像我的狐狸妹妹)不过,我串门可不像胡同大妈串门那么简单,认识门就行。我要想去查皮那屋,就得认识查皮在屋里规划的格式,或者说,认识查皮屋里的地里形势,或者说,认识查皮所用的文件系统。 
  
基本上,查皮只会两种文件系统——换句话说,只会用两种方式规划整个屋子的空间,那就是Fat32和NTFS。fat32是一种很老旧的格式了,连4G以上的文件都不支持,性能也不好,还不支持多用户的权限,所以基本不怎么用了。这个查皮也是,没有用fat32,而是用了另一个比较高级的格式——NTFS。那么,我就必须能够读懂NTFS格式的磁盘,我才能去查皮那里串门,有人问了,那你能不能读懂呢?谁问的?站起来,好,这个问题,恩,基本上,我可以负责任的告诉你,自从Canonical学校为我们增加了一本ntfs-3g教材以后,ntfs就不在话下了。虽然能够读懂,但是我自己是不会用这个文件系统的,我会用很多其他的文件格式,比如ext2,ext3,xfs,jfs,reiserfs,ufs,zfs等等,各有优势,我现在的屋里使用的是非常强大的xfs格式,至于怎么强大,以后慢慢细聊,现在,我要走了,去串门。
  
来到查皮的屋里才发现,我串门跟大妈串门的感觉实在不一样。大妈去串门得在人家醒着的情况下去。我来到这里,只能在他们睡着的时候。感觉我不像串门来的,反倒像小偷-_-b。要说这查皮还是真是不会收拾屋子阿,一地的磁盘碎片,多影响性能阿,我说他起床怎么那么慢呢。有人问:"啥碎片呀?我家有时候也有碎片,都是老婆和我吵架时候摔的……"对此,我可以用正宗的C语对你说
:printf("......-_-b\n");
   好吧,先不串门了,科普。
  (8)碎片
  笨兔兔老师第一讲:什么是磁盘碎片
  
同学们都坐好啦,都把手机铃声关了,小灵通调成震动,BP机直接扔了——台都没了你还留着它干嘛。好,上课了,首先说说什么叫磁盘碎片。磁盘,是我们程序居住的空间,我们用不同的方式对整个磁盘的空间进行管理。上次说过了,包括各种方式,什么ext3,xfs,查皮的ntfs等等。而磁盘里放的东西,就是一个一个的文件,同学们可以把磁盘想象成你家的屋子,文件就像一个一个,大小小的箱子。每个箱子上面写着字,就是文件名。查皮喜欢把每个箱子都紧挨着放,一个挨一个,上下左右前前后后都紧贴着,这样,看上去很规整。可以让剩余的空闲空间比较完整。有同学说了,我家也这么收拾,这样很利索呀。不过,对于操作系统,这样做虽然也有好处,但是会有一些问题。  
  
比如,一开始存了一个文件,也就是搬来了一个箱子,比如叫"日记"。查皮把它放在最靠墙的位置,然后又存了很多其他的文件,在"日记"文件的前前后后,左左右右,上上下下都放满了。忽然这一天,日记文件被修改了,加了点内容,就相当于往"日记"那个箱子里加了东西。可是箱子已经满了,再往里加,箱子就要增大,或者理解为再拿个箱子也写上"日记"放在原来的箱子边上,可是不管怎样,箱子周围堆满了其他的箱子,没地方了,怎么办呢?可以把边上的箱子挪开一点,原来的箱子就可以扩大了。可是边上的箱子要是少还好办,要是很多,还都装的铅块铸铁大理石阿什么的,那可就累死了。那怎么办的,只好把新的内容放在另一个小点的箱子里,放在别处。然后还得在原来的"日记"箱子上标注上:"日记(第一部分,第二部分在东墙根)"。然后在新的箱子上写:"日记(第二部分,结束)"。如果日子长了第二个箱子也被n多箱子挤在中间后,又要编辑日记文件,这个文件又变大了,就又要如发炮制出第三个箱子,乃至第四个,第五个……
等到有一天,要读取这个日记文件的时候,查皮就开忙了——首先,到西墙角找到日记第一部分,翻腾出里面的内容,然后往箱子上一看"第二部分见东墙根",然后查皮在跑到东墙根找第二个箱子,翻腾出里面的内容,然后再一看箱子"第三部分见大衣柜上头",然后查皮搬梯子,上大衣柜一看"第四部分见厕所水箱后边",在折腾到厕所"第五部分见屋子正中间从南墙数第两百四十八个箱子"………………等到查皮把整个日记文件读完了,也累得半死了。这种情况,就是会影响性能的磁盘碎片。好,本节课到此结束,同学们自由活动吧,那位同学,快去捡你BP机去吧,说不定还能找着。
  (9)邻居
   科普也科普完了,该干正事了。开始搬照片吧。
  
先拿出这屋的文件列表来看看——我当然知道文件列表在哪,因为我学过NTFS格式。好,上面写着,照片在窗台底下,好,我来到窗台底下,没看见照片,却发现了一个熟悉的面孔……
  
他带着个圆圆的眼镜,文质彬彬的样子,看上去像个学究,两道浓眉如同飞翔的海鸥。衣着并不华丽,倒也搭配的很是顺眼。人们喜欢叫他OO,可能是因为他的眼镜吧,而他的全名,叫做OpenOffice.org——相信我,这确实是个软件的名字,当然,同时还是个网站的名字。之所以我认识这家伙,是因为在我屋里也躺着一个。
  
这并不奇怪,很多Linux下的软件都有相应的Windows版本,OO老先生也是这样。基本上这个OO可以算是我屋里那个的兄弟吧,他们是相同的版本,相同的外表,相同的功能,只是一个跟着查皮混,另一个跟着我干。我绕过这位OO老先生,没有吵醒他的美梦(事实上我也叫不醒他)。终于自他身后的窗台下面发现了要复制的照片,不过别急仔细看一下,果然,上面写着"照片,第一部分,第二部分见里间屋写字台底下"哎~~我恨碎片………………
  来到里间屋,还没找到照片,先看见了床上躺着的查皮,这是我第一次看到这位可爱的邻居。他穿着红黄蓝绿四色的衣服,很是鲜艳。可是,不知道为什么,脸被涂黑了,上面还写着"使用正版,跟风黑屏"。看来主人是不希望自己的电脑里有盗版软件,所以才会在Windows下也用OpenOffice.估计这个查皮是买电脑时候一起来的正版查皮。一边想着,一边来到写字台底下,找到了照片第二部分,往盒子上一看:"第三部分见……"
Oh,God!
  (10)人才
  
终于把照片都拷贝到了我的屋子里,把它们放在了专门放主人文件的分区下。有人忽然想问,查皮那里那么多碎片影响性能,那你怎么放这些文件呢?其实很简单,我更倾向于把文件分散的放着,中间有足够的空间可用于扩展。这样就不至于在找东西的时候满屋子乱跑了。  
   刚刚休息了一下,主人又让我去叫醒一个家伙,他叫作apt-get。
  
这个家伙就像个公司里的人事部经理,来个软件走个软件的,都是他管。当别人夸奖他的时候,他总是自信的拍拍自己的胸脯说:"本APT有着超级牛力"。而他也确实很厉害,很敬业,也很专业,对于人才(对我来说也就是软件)的各种情况了如指掌。要招一个人来的时候,他会做好所有准备工作,这个人需要用什么样的库,或者需要什么其他的人才能一起协同工作,他都会事先做好准备。比如,主人想用vim来编辑文件,就叫apt去招vim来。apt就会报告,说vim要来的话,首先需要准备好libncurses这个库,和python这种脚本语言的执行环境。征得同以后,他就会去网上找这些东西,并且运回家,把库放在该放的地方,相关的软件安排好住宿,然后再去找vim同志,请他过来帮忙干活,并且说明,环境都已经布置好了。每次新人来了之后都很感谢apt同志为自己做的这些准备工作,该有的东西,该来的助手都在,于是干活就事半功倍了。但把人才请来之后,apt同志的工作还没有结束,他还要把现在的人事情况记录下来,以便主人哪天问起来的时候好如实汇报。哪天主人文一句:"我说超级牛力阿,咱这现在都有多少软件阿,都是谁阿?"apt也能从容的回答。可以说,apt这家伙对于我来说实在是非常重要的,没有他,笨兔就不是笨兔了。不过,他并不是只为我打工的。
  
以前,apt是Debian公司的人事部经理,人家Debian可是历史悠久的大公司,1993年就成立了。apt在这么大的公司里一直工作到现在,有大量的工作经验。当我们公司成立的时候,成功的请来他管理人事资源(当然,这并不影响他继续给debian打工),对他来说自然是轻车熟路,得心应手。21世纪什么最宝贵?人才阿!