总结2011,展望2012

2011还是过去了,2012来了。觉得有点必要写点东西,总结一下过去,展望一下未来。如果要用几个词来总结我的2011,那应该是天真,失望,浮躁。可以说我对我的2011是比较不满意的。

天真,我自认为自己还算是个性情中人,所以很多事情对我来说就是讲得就是个胃口。我是很愿意把结识的人当作朋友处。但是,在工作中,有些“朋友”确实是建立在利益基础上的。如果把所有说过“我们是朋友”的人当作朋友,很有可能吃亏是自己。工作也是一样,代入太多感情色彩也是很天真的一种做法。为了讲胃口,有时候退一步,多干一些活。做的好当然没事,但是做的不尽如人意有时候给你带来的真的会是麻烦。

失望,在去年对一些人失望了,对工作的事情也失望,对自己也挺失望的。有些事情自己也不想拿出来说,也不想以后看到在想起,能快点忘记就忘记。但是对自己失望需要深刻的自我剖析检讨了。技术上提高真的不大,基本上都看不出自己做成了什么厉害的事情,决定的事情大部分没有坚持下来,空余的时间大部分花在娱乐上。

浮躁,一整年,都是浮躁的。买的书一本一本的增多,耐心看完的,甚至说看了一大半的都没几本。想学习的东西很多很多,但是没有一个耐心去学习的。给自己开的代码项目很多,也没见过几个写成的。做事情的思路大概是这样的:哎哟,这个东西挺好玩,去实现一个呗;恩,找点资料吧;我靠,资料不是很多嘛;晕,环境怎么这么难搭建;耐心点,慢慢来;好,环境搭建好了,可以开始了;哎,细节问题好多啊,一个人写这个真的大丈夫么;妈的,确实很难写,比想的难好多啊;不行了,弄不下去了;哎哟,弄这个意义大么;意义不是很多大吧,哎,还是弄点别的吧……

所以我觉得,我的2011基本上就是失败的。但是,我的字典里面没有后悔,因为后悔不能改变任何事情。而且不也不会激励自己明年一定要怎么样。因为貌似这种自我暗示已经被我免疫了。当然如果从过得怎么样的角度来看,我的2011还是相当精彩和快乐的。只不过说,这个人有点贱,快乐的事情总是记不住。

虽然说我现在已经不喜欢那些所谓的立志大湿,但是还是应该给自己一个2012的展望。怎么说呢?继续浮躁吧,想做的事情很多很多。

1.写完自己的mini kernel。

2.看完几本书,包括:nt 文件系统的后半部分,编译原理,算法导论。说实话,我还是感觉自己能看完其中两本就算不错了。

3.完善自己的BaseLib,加上自己实现各种算法。

4.实现一个简单的脚本语言。

5.最后多看两眼wrk吧。

看吧,我真的很浮躁很浮躁,如果明年的这个时候的总结(当然,前提是别2012-12-21就结束了),其中有三条圆满完成,我就觉得很奇迹了。

最后,无论怎么说,2011已经过去,过去的事情无论好坏都过去了。期待2012自己的改变吧。祝福我的家人,朋友和我自己,新年快乐,健康平安,家庭和睦温馨。

我本来不想写kernel,直到我的膝盖中了一箭

最近中箭体很火,我也凑个热闹。话说自从delete那篇文章过后,又有一个多月没写了。其实不是不想写,是不知道些什么才好。简单的东西不想写,难的东西写不出来。

正像标题写的,恩,我开始写kernel玩了。其实写一个简单,功能单一的kernel并不难。麻烦的只是搭建环境等等。kernel的编写资料也很多,但是可惜的是,绝大部分都是应用在linux环境。我是那种看到linux就头晕的人。所以还是坚持用windows和vc来开发kernel。令人惊喜的是grub能够帮助我们map kernel到内存中,所以boot loader这一步可以想放下。等kernel写了个大概再来写boot loader也不迟。

环境和工具:
环境正如我上面提到了windows xp 和 vs 2008。其他工具包括winimage,virtual pc,bochsdbg(+ IDA)。当然还有grub4dos。

要高效的起步,先要了解mulitBoot的一些知识。还有就是写一套能够在text mode下打印信息的函数,例如printf。这样在不用调试的情况下,就能了解一些信息。说实在的bochsdbg的调试功能真心不好用,但是加上IDA可能是一个比较好的做法。具备以上条件后,就可以开始kernel之旅了。

可以看出内存的基本状况已经可以从boot_info中获取了。接下来要做的事情也很明了。就是需要一个物理内存管理器,实现最基本的物理内存管理器也不算难,不过那就是下篇文章的事情了。现在的kernel大小为7168字节,慢慢玩,看我能坚持多久。

MiniKernel