存档在 2007年9月

oops和debug的来历

      常在河边走,哪能不湿鞋。用Linux,总有死机的时候,如果运气好,会看到一些所谓”Oops”信息(在屏幕上或系统日志中),至于Oops是什么意思以及是怎么产生的,大家可以查看这篇文章。我所要说的是oops这个词,以前第一次和刘洋听到oops的时候一直不明白是什么意思,还尝试着将oops给encode,猜测是什么overflow of page ****的,结果今天看LDD2的时候才知道是什么意思。
      oops这个词是个英文单词,发音是:[u:ps]是表示惊讶时发出的声音,linux爱好者们使用这个单词来表示出现严重内核错误时的惊讶,所以就沿用了这个单词。
      然后我才想起,我们宿舍有个同学以前经常说oops的,当时没怎么注意,问是什么意思,他说只是口头禅而已,万万没想到居然就是后来会遇到的oops。然后联想起以前看到过的bug和debug的来历,就顺道贴出来,大家一起看,纯当娱乐。:).

      1937年,美国青年霍德华.艾肯找到IBM公司为其投资200万美圆研制计算机,第一台成品艾肯把它取名为:马克1号,又叫“自动序列受控计算机”,从这时起IBM公司由生产制表机,肉铺磅秤,咖啡研磨机等乱七八糟玩意儿的行业,正式跨进“计算机”领地。
      为马克1号编制程序的是一位女数学家雷斯.霍波,有一天,她在调试程序时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐的把程序故障统称为“臭虫(BUG)“,把排除程序故障叫DEBUG,而这奇怪的”称呼“,竟成为后来计算机领域的专业行话。

(2) 条评论

设备驱动学习笔记–part.1

今天看的Linux Device Drivers,就记录了点下来,基本都是书上的话。

1.设备初始化函数常见定义:
static int __init initialization_function(void)
{

/* Initialization code here */
}
module_init(initialization_function);

声明中的 __init 标志是一个给内核的暗示, 给定的函数只是在初始化使用. 模块加载者在模块加载后会丢掉这个初始化函数, 使它的内存可做其他用途.
使用 moudle_init 是强制的. 这个宏定义增加了特别的段到模块目标代码中, 表明在哪里找到模块的初始化函数. 没有这个定义, 你的初始化函数不会被调用.

2.清理函数常见定义:
static void __exit cleanup_function(void)
{
/* Cleanup code here */
}

module_exit(cleanup_function);
阅读这篇文章的剩余部分 »

(5) 条评论

破坏了包依赖关系

      这几天干的另外一件傻事就是:我把Ubuntu系统的包依赖关系给整坏了。
      事情的起因是为了装一个软件:Claws-Mail。由于源里没有,所以下了个源码包编译。结果编译过程出现依赖关系,说是少了某个包,依稀记得是libetpan吧,我查了一下,我已经安装了这个包,但是版本相对这个软件要求来说低了,于是我就想把他更新一下,apt-get update之后,版本并没有升级。于是我上网下了一个新版本的libetpan的包,结果又是依赖关系缺乏,一查,还是版本太低,差libetpan11-dev,于是我又下了一个。然后又是诸如此类的依赖关系一大堆,中间被我弄出警告,说是依赖缓冲(好像是这么说的)被破坏,请运行sudo apt-get install -f来解决,我试了一下,发现他根据那个依赖关系删了很多软件包,连g++都被删了,我当时就觉得不妙。
      可惜我执迷不悟的继续了下去,我把编译所要用到的软件包基本都换了一遍,倒是也装成功了。只不过发现软件的语言都变成英文了,修改/etc/environment也没用。我试着重启了一下,结果就进不了X了。汉字也显示不了,我又没把他搞成英文的,我想修改都不成,郁闷的很。系统内部的软件包依赖关系已经是被我弄的一塌糊涂了。
      我现在都不知道该怎么办了,郁闷的说咧。

(6) 条评论

花了一个小时做的智力题

      今天干了很多白痴的事情,其中一件是花了将近一个小时做了一道智力题。
      本来是打算搜资料的,不知道怎么回事就搜到了一道智力题,更是莫名其妙的开始做了,估计是由于实在不想搜资料了。原帖转载地址为:http://www.infoxa.com/asp/article_file/xxnr_article_418.htm

好的智力题目的标准是:1.一般人做不出来或者做不下去;2.不需要知识。

  看仔细了:

  有12个乒乓球特征相同,其中只有一个重量异常,现在要求用一部没有砝码的天平称三次,将那个重量异常的球找出来。

  评分标准:

  1.30分钟以内做出来:智力很高很高很高,不知道有多高……

  2.60分钟以内做出来:智力很高。

  3.两小时内做出来:智力相当高。

  4.1天或者1周内做出来:智力也很高,而且还是一个有毅力的人。

  5.10分钟内做出来:你或者以前做过,或者多半是个马虎的人,蒙对了。

注:请看清楚,是“重量异常”,不是轻或者重,都有可能!

刚开始花了二十多分钟以为做出来了,结果再仔细一想,又存在点问题,又继续做,花了五十分钟终于做出来了,这次不敢大意,又花了几分钟整理了以下,终于肯定做对了。顺道就把这道题贴出来了。
可能很多人做过这道题,做过的就算是复习了,没做过的有兴趣就试试。

(10) 条评论

今日在西安举行自由软件日活动

      终于迎来了今年的自由软件日。
      今日在西安邮电学院举行的“自由软件日活动--西安”活动,是由Free Software Foundation发起,西安邮电学院计算机系承办并得到校方大力支持。西安邮电学院linux兴趣小组的各位同学都付出了非常大的努力来筹划这次活动,非常感谢他们!
      西邮linux兴趣小组经过将近一个星期的策划,终于今天就要举行这个活动了。在准备过程中,小组的大家积极性都很高,都努力参与了这次策划与宣传。赵崇日负责了几乎所有的海报,董溥金明洁、张斌他们设计了会场的易拉宝和我们小组的徽标,非常漂亮;王聪负责和学校的联系,梅延涛写了论坛的帖子,我和刘洋并没有怎么参与这次的策划,这是比较惭愧的事情,我只负责在论坛上宣传,不过并不是执行的很好,主要还是小组里的其他人帮忙发的。
      下午一点半,我们的活动正式开始,和北京的会场统一时间开始我们的自由软件日活动。我在这儿简单介绍一下流程:
            校方代表发言之后先是王开源先生的“开源中国说”,然后是徐继哲先生带来的”自由软件运动”,过后陈莉君老师将会给我们带来“走进开源,提升能力”的讲演,最后,将有学生代表刘洋同学上台讲述他的个人感受。
            在演讲过程中,回答对问题的观众会获得linux发行版的光盘,例如ubuntu7.04。活动设有观众提问环节,积极参与互动的观众也将获得奖品。同时,会场还举行了赠送印有”自由软件”的T-shirt。
      会场里还见到国内知名linux发行商红旗的身影,华商报记者也来会场采访,还有西安其他高校的学生到场共同参与这次的“自由软件日”活动。
     希望这次的活动可以让自由软件在中国受到更多的关注。

      说一下感受吧:王开源的演讲让我有点失望,因为他大部分时间都是在念稿子,感觉念的比那些领导还差;他自己发挥的部分不是还可以嘛,干嘛要一直念稿子?徐继哲的演讲还行,还算比较有趣,例子新手粘来,也形象生动。通过他的演讲,我们很多人清楚了GNU,GPL的概念以及他们与linux之间的关系等等。陈老师的演讲说实话我觉得有点没意思了;不是说她讲的不好吧,我觉得更多的是她的演讲内容没有新意,我都已经听她讲的内容三四遍了,不过对于底下大多数没有接触过这方面知识的听众来说,陈老师演讲的内容还是比较恰当的。
      比较可惜的是:陈老师的演讲我没有听完就匆匆赶去参加体能测试了。由于我不知道会议结束之后还有什么活动,体能测试结束之后我便回宿舍并没有去实验室。从金明洁博客上得知,下午会议结束之后,他们去了实验室参观并进行了交流,可惜错过了一场讨论。

(5) 条评论

« 下一页