《笨兔兔的故事——带你了解Ubuntu,了解Linux》
第23节

作者: 懒蜗牛Gentoo
收藏本书TXT下载
  要比就从起床开始比!f-spot和毕加索以及毕翻译重新回到硬盘睡觉,然后我去叫来的time同志。time是一个用于计时的命令,这个咱以后再说,先看比赛。随着我的一声号令下,time开始计时。f-spot蹦起来后牙也不刷,脸也不洗(废话,一个软件,有牙么?),迅速的从硬盘飞奔进内存。再看那边,毕翻译先迅速跑进了内存,然后再扭头去叫醒毕大师——因为毕大师听不懂我们的话,所以无论我们怎么喊都是叫不醒他的,只能先叫醒翻译,再由翻译去叫醒他。这样一来,时间自然慢了不少,对于起床速度,F-Spot完美胜出。双方起床已毕,相向而立,只见F-spot掏出两张一模一样的照片,照片上是一个人像,似乎是晚上照的,眼睛如含着血泪般发出令人不寒而栗的红色。只见F-spot把一张照片扔给毕大师,另一张贴在自己这边,双掌运足力气,瞄准照片中人的双眼大喊一声:嗨!立时,照片上人的红眼不见,翻了白眼。另一边的毕大师微微一笑,拿起自己这边这张,单掌向前一推,一股掌风直逼那人双眼,只见掌风过后,那人双眼渐渐恢复成正常颜色。F-spot不等毕大师打完那掌,有拿起照片推拳运动,只见那本是夜里的照片亮如白昼。毕大师也不示弱,将照片抛向空中,双手一抖,一道劲风吹过,再看落下来的照片时,也已经比原来明亮不少。F-Spot又对照片连续发力,打出三招,依次改变了照片的对比度,色调和饱和度。毕大师口念咒语:“Easy……”只出一招,双手间出一道白气,就把照片的亮度,对比度,色调,饱和度,都改到合适的状态。毕翻译的在旁边解释道:“这招乃是毕大师的独门秘诀,叫做‘手气不错’!”毕大师微微点头,一扬手,只见那修改好的照片激射而出,直接从网口飞了出去,发布到了PicasaWeb网站上。屋内众人顿时为F-Spot捏一把汗,这PicasaWeb网站,明显是人家地盘啊,F-Spot能搞定么?哪知道F-Spot不慌不忙,也照片往网口一扔,把照片同时发布到了Flickr,PicasaWeb等多个网上相片储存空间里。这真是:棋逢对手,将遇良才,预知二人胜负如何,且听下回分解。


日期:2009-11-12 09:04:44

  (61) 空间
  话说二人斗的正酣,忽然bash报告,从主人那里发来命令"shutdown -h now",数秒钟后,一切归于沉寂…………
  要我说,这俩人都什么劲啊。每个软件都有它存在的意义,都有它的长处和不足。就说这毕加索吧,虽然比f-spot功能强点,不过毕竟不是原生的程序,至少占用内存就比f-spot大不少。毕竟毕加索不是一个人在干活,他必须有个毕翻译才行,所以占用量一下子就上去了。这内存可是重要的系统资源,跟CPU一样重要,所以作为软件,还是应该本着艰苦奋斗勤俭节约的精神,充分利用内存,避免浪费。不过我们linux下的软件们基本是小巧的居多,这里的4G内存还真没被我们占满过。f-spot也就占用20来M的内存,毕加索比他多,也只有40多M。当然,并不是说两个软件就一定比一个软件占用的内存多,一个软件占用的内存空间分为很多部分,咱们慢慢说。

  首先,这个软件本身得占用一定空间。就像你去公司上班,你自己得有个坐的地方吧。就算你不坐着,站的地方也得有一小块吧。总之,自身会占用一定的空间。软件本身是由一条一条的二进制代码组成的,咱以前不是说过Rubbish的故事么,gcc包工队把主人用C语言描绘的图纸编译成了一堆二进制的代码,这堆代码就是Rubbish。其他的软件也是一样,都是一堆代码,所以,软件程序自身占用的空间叫做代码段。这个代码段的大小在程序进入内存运行前就确定了,或者再往前想,在程序编译好之后就确定了。这个很明白吧,就像你在家睡觉的时候是一米七五,不可能到单位就变成一米六零了吧。

  然后,软件会随身带一些静态的数据,一般是一些初始化了的全局变量,每次起床时这些数据都会被带到内存里来,而且每次的初始内容都一样。就像你每天上班都得带着手机啊,家里钥匙啊,老婆照片啊之类的。比如Rubish 1号每次都喊“Wa Sai~,”这个字符串就是个数据,这个数据像是Rubbish每天随身带着一张纸条,起床来到内存后看看上面的内容然后喊出来。(当然,写程序的时候也完全可以把这内容写进代码段,那就相当于Rubbish 1号记住了这个字符串,不用看纸条,直接喊出来。)这种随身带着,每次都会用的数据所占用的内存叫做数据段。

  另外,软件可能还需要一片固定的空间来放东西。比如你的办公室,每次上班都毫无疑问的需要一张桌子,你一进办公室就得准备好这桌子,要不你怎么办公啊。(虽然这桌子不是每天现打造的……)程序也是,有些空间是一定会用到的,一般是一些未初始化的全局变量,不一定存什么数据内容,这种空间叫做BSS段(可不是BBS啊),这个也是在程序编译完成之后就确定下来的。每个程序启动,我都会根据他有多胖来确定他需要的代码段有多大,然后根据他有多少随身物品来确定数据断有多大,最后,根据他身上写的BSS信息来决定给他分多大的空白空间供他使用。

  以上说的都是程序一起床就需要分配的空间,除以之外,程序在工作的时候还会根据情况向我动态申请内存空间。这就是那种必须记得释放的内存空间了,他的名字就叫堆。这种空间,程序在刚启动的时候是不知道需要用多少的,得视具体情况而定。比如gedit小弟,主人要些个小文件,gedit就申请一小块空间临时存放主人写的东西,等到主人越写越多,gedit就会逐渐向我申请更多的空间,把主人写的东西都堆在那块空间中。(要不怎么叫堆呢)

  最后,还有一种动态申请的空间,叫做栈。这种空间是让程序随手放一些临时的变量的。比如临时有个什么事儿,或者有个什么数据,要存起来,就跟我申请栈空间,临时存放一下。栈就像一个小圆筒,程序需要用的时候我才给他,寄存在这筒里的东西都是很快就要用到的,这个空间不用程序去释放,程序退出之后我直接把筒里的东西倒光,把筒收回。因为是个小筒,所以,最先放到里面的东西会被之后放进去的东西压住,必须把后放进去的东西拿出来之后才能拿到先放进去的东西,这叫先进后出,是栈的特点。


日期:2009-11-24 13:18:37

  (62)VBox
  狐狸妹妹今天比较累,拖回来一个40多m的deb包。赶紧让超级牛力来打开看看——超级牛力除了可以自己去网上拽软件回来以外,也可以打开放在本地的软件包。超级牛力打开一看,是一个叫做VirtualBox的家伙,赶快检查他需要的各种东西,发现我们这里的环境都能满足他的工作需要了,然后安排住宿。
  VirtualBox(咱以后就简称VBOX吧)很懂礼貌,说话有些怯生生的感觉。他跟其他人打国招呼后,来到我这,把一些内核模块需要放在我这里。安顿好一切后,就去睡觉去了。这家伙给我的印象还不错,我就跟狐狸妹妹聊起他的背景来。听狐狸妹妹说,他的身世挺悲惨的,他最初生在德国,生母是一个叫做InnoTek的公司。VBOX一生下来就经常被Vmware和VirtualPC这样的大哥哥欺负,不过好在他自己的本领还算可以,后来他亲妈innoTek为了让他学习到更好的本领,把他的源代码依据GPL协议开放了,让全世界的高手们来教他本领,那是2007年1月的事情。凭借不错的性能,以及可以免费使用的特点,VBox总算闯出了自己的一小块天地。不过好景不长,转过年来,亲妈InnoTek被卖给了红太阳公司,VBox自然也被过寄过去。不过红太阳公司这个后妈还算不错,很照顾小VBox的成长,继续让他在开放的环境中健康的长大,有红太阳公司众多高手的支持和全世界热心用户和高手的用户,VBox俨然已经成为Linux下同类软件的首选。开源的本质使得追求自由的人们放弃了Vmware,简便的操作让人们淘汰了qemu,夸平台的支持更是有点软公司的VirtualPC无法比拟的。VBox本来以为自己之后的人生道路会走的很顺畅,可是,2009年又一次波折打击了VBox——红太阳这个后妈也被卖给人了。收购他们的是一个很古老的公司,那公司里好像写的都是甲骨文,不知道他们每天用象形文字怎么办公。甲骨文公司收购了红太阳之后,红太阳的几个孩子都面临着一段未知的命运。其中最让人担心的是mysql,因为之前mysql一直跟甲骨文家亲生的Oracle打架,这一下Oracle成了mysql的后妈,还不得天天受欺负阿。我们的Vbox的处境或许稍好一些,毕竟甲骨文亲生的孩子里没有和VBox同样本领的,所以VBox在那里或许还不至于受谁欺负。不过那也毕竟是经历的重大的变革,对孩子的成长还是会有一些影响。

  说了这么多,忘了介绍VBox是干什么得了,他是一个虚拟机,就是能在一台电脑上虚拟出另外一台电脑来。怎么样,听起来这个本是很厉害吧。他第一次工作的时候,我们都看呆了。
  “请问您这台电脑打算装什么操作系统呢?”
  "WindowsXP吧"
  "哦,那我建议您用192M的内存,您看可以么。"
  "上512吧"

  “好的,那么您需要什么样的硬盘呢?”
  “30G的,IDE吧”
  “好,您的电脑以及创建好了,显存大小,3D加速功能,声卡,网络这些都是可以随时调换的。”
请按 Ctrl+D 将本页加入书签
提意见或您需要哪些图书的全集整理?
上一节目录下一节
【网站提示】 读者如发现作品内容与法律抵触之处,请向本站举报。 非常感谢您对易读的支持!举报
© CopyRight 2011 yiread.com 易读所有作品由自动化设备收集于互联网.作品各种权益与责任归原作者所有.