2008年08月28日 Thursday 于 9:09 pm
· 发表在 思维
由于卡的原因,出差的事情耽搁了,不知道会推到哪天。
今天由于那个人的原因,心情还是很差,和他交流太郁闷了,极其有问题,想必他也很郁闷!
唉,搞了半天和我没什么关系,却要弄的我很郁闷,真是无语,考虑换份工作,换份与硬件无关的,我真他妈讨厌硬件!
出差必须有本,而我没有,于是乎公司借了个本给我,不知道哪个年代的256内存,真是折腾死我,ubuntu6.06装了一个多小时装到79%,卡死在那儿,到晚上8点还是死着的,直接按POWER了。我还是去借同事的本吧。
最好明天也不要出差,这样我可以在福州舒心的呆一个周末,好好耍耍。真的有想换工作的念头,确切的说,想换行了。
永久链接
2008年08月27日 Wednesday 于 11:35 pm
· 发表在 工作
唉,要出差了,明天应该会迎来人生中第一次出差,到广州去。
但是和我一块出差的人我很讨厌,让我很郁闷。那个应该算个小领导吧,可惜我和他交流太成问题了,在实习的时候就留下了非常大的心理阴影,听到他叫我的名字我都害怕!唉,要和他出差,不知道要在外面呆多久,真的好恐怖啊,我感觉和他在一块非常影响我心情!
今天回来之前还被训了一顿,超级郁闷的说!唉,简直是……难道就不能好好说话吗?和BOSS说话有一拼,或者还过……两个我都不喜欢!
非常影响我今天的心情,让我到现在还没有完全消除对这件事的想法,而对那个人的阴影又加深了一层,唉。
在公司人际关系还是不大好相处的,像我在这方面超级白痴的人,估计不那么好混哦!
PS:手机还没电了,真TM的郁闷!之前学长给我打了个电话,当时在培训,就给挂了,唉,不管了,等手机有电了再说吧。
永久链接
2008年08月25日 Monday 于 11:22 pm
· 发表在 思维, 操作系统
上次看JFFS2代码的时候,不经意间看到了一个指针赋值this = 0xdeadbeaf;顿时觉得很好玩,就稍稍查了一下,在Wikipedia上找到了对应的解释,没想到还挺好玩的。
程序员们利用16进制的1234567890ABCDEF来组成一些词,而这些词在他们需要一个MAGIC NUMBER的时候又看着比较清楚,不至于对着一堆莫名其妙的16进制数据摇头。利用1来代表字母L,5代表S,0代表O,用这些字母可以组成一些有趣的词。这种行为称为Hex Speak。是不是很有意思呢?
Wikipedia的解释在这儿,大家自己去看看吧。大家在看代码的过程中应该也遇到过这种有趣的Hex Speak吧,我把Wikipedia中的几个有趣的摘录下来:
0xFEE1DEAD
0xFEEDFACE
至于什么意思,大家自己去看吧,我们自己平时倒也可以创造几个来玩玩,呵呵。
突然想起当年用计算器按数字来组词的日子。曾经组了什么FORBID(因为计算器上的A看着感觉更像R),还有柯南里出现过的MOON(2003,把计算器横过来看就成了MOON),还有什么hEllO(0.1134,倒过来看,忽略小数点),呵呵,当时还玩出一些词,记不得了,不过当时上课无聊的时候有段时间就是这么过的。
永久链接
2008年08月21日 Thursday 于 5:38 pm
· 发表在 JFFS2, 操作系统
当时在看JFFS2的时候翻译了JFFS2作者的论文,参考了rurality的一篇文章。
提供JFFS2作者原文的论文和我翻译后的论文。
翻译的时候对JFFS2了解还不深入,有错误的话大家就帮忙BUG一下吧。
永久链接
2008年08月18日 Monday 于 7:58 pm
· 发表在 JFFS2, 内核学习, 操作系统
一直在看2.4中的JFFS2代码,终于看得差不多了,但是离了然于胸还差得远,整个森林的架构还没有起来。
JFFS2最容易入手的资料是Shrek的JFFS2源代码情景分析,这是一份很不错的中文资料,里头对JFFS2的重要结点和主要流程进行了较为详细的分析,也是我最早开始看JFFS2的重要参考资料。这份资料并没有明确指出他分析的是哪个版本的JFFS2的源代码,但是总体来看,我认为比较像是2.6的,但是和我手上所有能够拿到的linux的源代码中没有一个版本是完全一致的。这份资料里头明确的指出并介绍了JFFS2以红黑树来组织frag结点。
而当我上网查找的时候,基本上都说 JFFS2中将所有的数据以frag的形式组成一个链表的形式挂在对应的inocache结构下,并且以红黑树的方法组织起来的。我一直这么以为着,直到最近。今天我终于把JFFS2除了垃圾回收的部分没有翻阅以外,其他部分的都比较粗略的了解了一下,对他们的工作方法算是有了一个基本的印象,就是还没有把握整体的架构,还需要进一步的了解。
看完的时候突然想起,我并没有遇到任何与红黑树有关的代码,可是我清楚记得jffs2_node_frag中有一个用来组织红黑树的成员,于是我开始怀疑我看的代码是不是有点问题,我当时看的是uClinux-Dist的代码。我就到lxr.linux.no上去翻看了2.4中的JFFS2代码,还是没有看到有关红黑树的代码,但是2.6中的的确有的!
我又想起当时翻译JFFS2作者论文的时候,论文中没有只言片语提到有关于JFFS2使用红黑树的。难道说JFFS2是在2.6中才引入红黑树的?我又重新翻看了nodelist.h,发现原来2.4的JFFS2的jffs2_node_frag中并没有rb_node_t rb;的成员,frag链表是以简单的单向链表组织的!
原来我最开始看JFFS2的代码是从Shrek的情景分析开始看的,后来也没有再看过JFFS2中那些基本结点的结构,所以一直残留着frag结构中存在用于组织红黑树的成员。
不知道JFFS2是什么时候引入红黑树的,也不知道在这种情况下该怎么样才能发现内核变更的时间,跟踪内核变更历史吗?有没有办法可以较快速定位这种问题呢?我甚至连怎么跟踪内核变更都不知道,查看每个版本的Document的Change文件吗?再研究吧。
永久链接