《麦兜响当当》结尾

“但是如果,只是如果而已,等我长大了,再遇见麦兜,如果那个麦兜力气还是那么大,那么善良,那么迟钝,那么直上直下,如果我送他的那块橡皮,还那么雪白,一直都没用过,如果真的是这样,奇妙的事就已经发生。”

你,敌得过时间吗?如果能……

你,敌得过失败的打击吗?如果能……

你,敌得过世俗吗?如果能……

嗯,this is full of fun.

秋天了

北京已入秋。

在北航吃喝玩乐一番之后回实验室看书,不觉11点,小憩,醒来时实验室一片漆黑,摸索出手机,将近一点。

下楼,出门,一个哆嗦,冷!

生活和研究

自然科学方面立论和研究讲严谨重数据,这里要说的是关于非科学方面的立论和研究,比如心理学、哲学、宗教等。
根据大家的经验,关于那些方面的讨论一般很难得到结论,或者得到的结论是:这个问题不能一概而论,不同的人有不同的看法。在现实生活中,遇到了纠结不清的问题,以这种“具体问题具体分析、因人而异”的思路终结掉倒是个非常好的选择,深究的话倒是显得倔强愚蠢了。心理学哲学宗教这些问题本就深不见底,你若都弄清楚了,先贤的智慧岂不都要喝西北风啦?哲学有流派,宗教也有派系,各派之间有异曲同工的内容,也有相互抵触的内容,千百年来,他们之间相互碰撞,分不出个谁是谁非。我相信,创建、发扬这些派别的人都是聪明人,说出来的话也必定是过了脑子的,否则,世界潮流浩浩荡荡,那些不靠谱的总会慢慢消亡。
如果我们也想把自己遇到的事情想到的问题过过脑子,该怎么办呢?大致办法有三:其一是“皈依我佛”,找个山门度了吧。这个看上去省事,其实挺难,这年头认清一个好人家可不是那么容易的事情,人家姓甚名谁,奉何方大神,吃斋还是吃肉,读哪几本书,你都得有了解才行,不然很可能上错了花轿嫁错郎,岂不冤枉?其二是“另立山头”,外面多少个山门我不管,我就喜欢自个儿通过自己的经验慢慢琢磨,想出一套方法来,糊弄不了别人,糊弄自己却是绰绰有余的。这个方法也不容小觑,有这么段故事来说明:《亮剑》中晋西北的铁三角李云龙、孔捷、丁伟解放后在军事院校学习,先是抵制学习,因为教官曾经是他们的手下败将,在学校制造了一个又一个的麻烦,然而真正学习后惊奇地发现原来自己引以为豪的战略战术思想其实在古人的兵法书中都有记录,并更为系统和全面。通过这个故事反过来看就会发现每个人都有当先贤的潜质,你所想的也许就是先贤所想的,甚至,你还是集大成者。“另立山头”也不简单,李云龙他们是打出来的思想,是经过了枪炮洗礼的,现实生活中,若不是经历过一番风雨,见识过大千世界,又何以立言呢?其三是“和稀泥”,本就是个扯不清的问题,没想清楚也死不了人,甭庸人自扰了,睡觉觉去。若非得要个结论,你给我听好了,我只说这一次,别再来给我歪叽:“这个问题因人而异,没有固定答案!”
使用第一种办法的人我猜应该很少,那得挺博学;使用第二种方法的人应该为大多数,人生在世几十载怎么都是见过一些世面的,基本的判断还是有滴;使用第三种方法的人也不在少数,但多为和第二种方法杂交使用:“我其实不是没答案,我有!只是我的答案和你期待的答案非常不同而已。”生活中,稍微聪明些的都会选择做第三种人,他们温和睿智不起无用之争,落得大自在。顶!研究中,想打破砂锅问到底问到底的人,应该绝对杜绝第三种过脑子方法,和稀泥是绕开问题,而不是解决问题,综合运用方法一和方法二比较靠谱。

Linux下如何写可重启的多线程子系统

目标:在内核中加入一个RPC子系统,对内核其他子系统提供三个服务函数:
rpc_init()
do_rpc_service()
rpc_exit()
要求在如下情形下能够正常工作:
while(!should_stop)
{
    rpc_init()
    do_rpc_service()
    rpc_exit()
}

在rpc子系统启动后,会建立很多线程,这些线程可能各自处于不同状态,比如等待信号(sema),等待时间片(schedule()),正在运行等等。如何让我们的线程从这么多状态中听从rpc_exit()的召唤纷纷退出呢?加入do_rpc_service()中有这么一个线程,正在做如下工作:
do{
    schedule();
}while(not_ready);
除非我们能够改变not_ready的状态,使得其为false,否则这个循环不可能终止。这样,这个线程也无法退出,最后导致rpc_exit()语义失败。

为了让线程能够正常终止,有两种方法解决:
1、去改变那些比如not_ready之类的变量值
2、避免编写这样的代码,用轮询的方法取而代之

首先看第一种方法,rpc_exit需要知道系统中到底有多少地方使用了条件变量循环,以逐一改变这些变量状态。同时,还要注意循环之后的代码执行。由于是退出,所以其后很多逻辑都应该不再执行。显然,这个工程有点大…

再看第二种方法,由于采用了轮询,可以在每次轮询中检查程序执行状态变量,一旦为rpc_stopped,则中断执行。如何避免编写上文提到的循环呢?首先,自己不要写这样的代码,其次,不可以调用wait_for_completion, down()之类的函数,取而代之调用down_interruptible()这样的可中断的函数,因为这样的函数能够被信号中断,退出while循环。

后面计划对rpc子系统进行改写,使得其符合条件2.

The Answer is …



2009.8.15,北京工人体育场,The Answer is … Stefanie in Beijing!

 

一首一首熟悉的旋律,挥动着绿色的浪潮,从梦游到我怀念的,从我不难过、我要的幸福到绿光,遇见你是我最美丽的意外!

 

燕姿开场的打扮很雷人,真的很雷人,我说的是真的,请相信我……

第一首歌以《梦游》开场,契合演唱会主题The Answer Is… 随后几首快歌迅速让舞台升温,再然后,什么都不记得了,一切都沉浸入绿色狂热之中,燕姿无极限~~~~~~~

简装燕姿

 

嘉宾也很雷人,用她自己的话来说,就是”不搭噶“

我妹妹很喜欢她的歌,于是给她来了段现场手机转播.

钻石外形的舞台非常之漂亮~~

 

约定好醒来之后
要再次回到未来
陪我梦游

燕姿,下次VIP见~~

 

鹤鹤同学,你真的亏啦~~~~

照片续:

RPC revision 2

完成了rpc用户态代码的迁移
后天测试rpc核心态代码

rpc核心态代码采用 内核模块 的方式测试,注意,最后交付的代码是以 内核函数 的形式提供的。

夏末计划

终于安安心心回实验室了,计算所科研生涯从此开始。
本周:
1、xz4 master rpc已经完工,计划本周完成master rpc到slave rpc的迁移。为了降低后期维护成本,采用条件编译的方式管理两个版本。
本月:
2、思考Dawning OS Simulation Framework的原型,以网络模块为试验入口点。
3、考虑xz4容错设计。

新增两个栏目:“工程院”、“研究院”,分别用来记录研究生阶段的科研点滴。

看景

一个人,带上几件换洗的衣服,带上积蓄,轻松上路。

一路上看看山,看看海,看看未曾看过的世界,人在旅途,只缘这美丽风景。

昨夜从哥哥家出来,穿越人大,每遇到一对情侣的时候都不免紧张一下,那种情绪很独特。给鹤鹤发短信share这种心情,她只淡淡说,如果真的遇着了,就没什么了。人生风景大抵如此,遇着了,也就没什么了。

风景犹在,唯斯人也。

带着最纯静的心趣,看风景。