![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
授课之感
LinuxKerneltravel
这个作者很懒,什么都没留下…
展开
-
计算机的心智-操作系统之哲学原理
“所见的是暂时的,所不见的是永远的”这是“计算机的心智-操作系统之哲学原理”这本教材封面顶部的小字体。 收到机械工业出版社发来的这本书的介绍,还申明本月10日在上海交通大学作者亲自进行示范讲授,犹豫片刻后,遂决定去交大聆听作者对操作系统的释义。 自己多年讲授操作系统,虽然感觉每一次的讲授都会有不同的视角,自认为对Linux内核源代码的阅读有助于原理的讲述,但为原创 2009-05-12 17:21:00 · 1600 阅读 · 0 评论 -
为什么是基本功
前面两篇“试炼基本功”读者的留言让我反思,说明我没有把问题说清楚。<br />不管学任何东西,基本功的重要性是不言而喻的。大家之所以不愿意练基本功,因为其枯燥并看不到其实用价值何在。实际上,这又涉及到另一个问题,如何练基本功,是死练还是灵活应用?是在一个水平面上往前走还是在一个稍有陡度的陂上往上爬?是在思考中不断修订还是出手后就不知修订的空间在哪里?<br />比如,求最大数的问题:1)求两个数的最大数2)求n个确定数的最大数3)求不确定数的最大数4)...<br />第一个问题仅仅用条件语原创 2010-05-31 21:49:00 · 3801 阅读 · 1 评论 -
试炼基本功(二)
在上文中提到strlen()函数,最简单的实现应当如下:size_t strlen(const char *psrc){ size_t length ; for (length = 0; *psrc; ++length); psrc++; return length;}而实际上,根据指针和字符串的特性,可以写出更简洁的代码: size_t strlen(con原创 2010-05-27 21:45:00 · 1865 阅读 · 5 评论 -
试炼基本功
<span style="font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"">有谁不知道万丈高楼平地起?但那个基地打起来实在无聊和费劲。一座高楼,几乎要用一半时间打基地,搞建筑的人来不得半点疏忽,可我们局外人,急于看到的是,第一层何时能升起,第二层..原创 2010-05-24 22:52:00 · 1525 阅读 · 0 评论 -
点燃的激情
<br /> 《Linux内核分析》课程上机验收的场面混乱而热闹,只因为上周我扔出一把火苗,所有学生必须背上装有Linux的笔记本来实验室,一个个单独演示编写的内核模块程序!严格检查是学生所反感的,但在学生只在乎分数的情况下,严格和公平验收又是点燃大家睡眠惰性的一种有效方式。 <br /> 1对100多名学生,所谓的一个个验收显然不现实,这使我想起了操作系统中惯常用的索引方式。因为软专业有10多名学生在Linux兴趣小组,他们对Linux内核有一年左右的接触和钻研,把他们升级到助手的级别显然可以降低我的工原创 2010-06-29 20:42:00 · 3373 阅读 · 2 评论 -
面对实际的系统-Linux内核时
“编译模块,报错了!” “内核函数找不到了!” “模块无法插入!” ”2.6.23之前与之后的代码,很不兼容!“ 在Linux内核源代码分析与应用的实验课上,各种问题扑面而来,有的同学畏缩了,”为什么会有那么多问题?为什么没有现成的答案?为什么难以抓到主线?为什么例子中的函数编译时又找不到了?” 一般课程的教学,习惯于在一个实验系统上去做,系统是稳原创 2010-04-20 14:49:00 · 1216 阅读 · 1 评论 -
抓取内核信息(一)-从简单入手
<span style="font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman""> 当Linux<span style="font-family:宋体;mso-ascii-font-family:"Times New Roman";ms原创 2010-03-13 16:05:00 · 1555 阅读 · 1 评论 -
操作系统第二课(一)—追寻历史的足迹
<span style="font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"">历史对于价值的判断,不言而喻。可是,面对眼前的某个事情,我们常常以自己的主观认识推测这件事的来龙去脉,其中的偏差可想而见。 <span style="font-f原创 2010-03-05 21:43:00 · 1257 阅读 · 2 评论 -
操作系统第一课
<span style="font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman""> 每学期都要讲授操作系统课程,于我,就是陈年旧饭,在一遍遍的翻炒中,能不烦么?怎么才能为之不烦?于学生,是一门抽象的无法触手可摸的云朵,仰望云端,但无法喊雨滴下来。 <s原创 2010-03-03 23:25:00 · 1523 阅读 · 3 评论 -
OS课程与Linux内核相结合之同步实例(一)
学生们最近在学进程的同步,去他们的博客看了看,欣喜!他们把OS的原理与Linux内核相结合,写出了具体的实例: niutao写的信号量使用的实例:#include #include #include #include MODULE_LICENSE("Dual BSD/GPL"); int num[2][5]={ {0,2,4,6,8}, {1,3,5,7,9}原创 2008-09-24 23:12:00 · 788 阅读 · 0 评论 -
当考试成为一种虚掩的门
当考试成为一种虚掩的门,在门背后各种抄袭技术盛行时,倒不如掀开帘子,让学生尽可能抄自己需要的。 今年软件工程专业的《Linux内核分析》课程采取开卷与小论文形式。 一听开卷,大家自然觉得可以随心所欲抱着书去炒了,可是当试卷发下来,面对那些试题时,才恍然,一个填空远不是摘抄一下就可以完成的,如: 写时复制技术发生时主要复制(原创 2009-07-03 21:46:00 · 1185 阅读 · 1 评论 -
死锁与银行家算法
导言:操作系统中的每个话题,貌似都可以拉扯到生活中来,是操作系统本身是生活的缩影还是生活就是操作系统体验的场所?不管怎么说,操作系统这门课讲了N遍,每一遍都让我有不同的醒悟,好像我让操作系统发扬广大似,而实际是我在跌跌撞撞跋涉中幸运地撞上了操作系统。(一)死锁 一个死锁,我每次都讲得津津有味,貌似死锁是一件美差似的。而实际上,死锁原创 2009-10-08 09:11:00 · 1161 阅读 · 0 评论 -
重温经典(三)—操作系统
<span style="font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"">在我的操作系统课上,介绍操作系统的参考书时,我只提及Tanenbaum<span style="font-family:宋体;mso-ascii-font-fami原创 2009-11-27 23:16:00 · 1225 阅读 · 0 评论 -
To be or not to be
“是在C的道路上坚持下去,还是延续Java的梦想?”“是做嵌入式开发还是纯软件开发?”“是在理论中实践还是在实践中补充理论?”“是就业还是考研?” …… To be or not to be 05级毕业生的脚步刚刚离去,06级就业的警钟已敲响,这些疑惑在不少同学的脑子徘原创 2009-07-02 22:26:00 · 903 阅读 · 0 评论 -
放飞的思维
“打开计算机,首先映入眼帘的是什么?”学生们并没有立即给出热烈的回应。是的,那个司空见惯的屏幕,那个熟悉的操作系统,那个飘忽的windows,谁会注意它呢。我要的答案“操作系统”居然在我循循善诱下才被说出口。可怜而伟大的操作系统,你为人们鞠躬尽瘁,把繁杂留给自己,方便施予大家,可人们居然熟视无睹了。 通过“操作系统”这门课,我要让大家知道你的含辛茹苦,你的默默无闻,你的不遗余力。当然,你的原创 2007-03-15 23:38:00 · 788 阅读 · 1 评论 -
引领之乐-成长着的树苗
周一下午照例的讨论,大家的参与之积极,出乎我的意料,感觉那些撒下去的种子,开始发芽了。第一个上台发言的毛茂,抛出的关于系统启动和grub的话题,也许让有的同学一头雾水,但这种追根溯源的问题,又是不应当回绕而值得探究的。Windows和Linux如何共存,启动分区存放的是什么,真正的启动过程到底是什么,grub的内在机理是什么,这样一系列的问题,也许曾经在一些同学的脑子中萦绕过,但又随意让它原创 2007-11-27 11:45:00 · 781 阅读 · 0 评论 -
在每一条错误的道路上成长
在操作系统的课程的实践环节,给学生给出了Linux下关于进程,线程和死锁的部分程序,然后让大家补充完整,并回答后面的问题,例如,关于线程:<br />--------------------------------------------------------------------------------------------------------------------------<br /> 通读下列代码:<br />/* <br />* POSIX 下线程控制的原创 2010-06-02 22:36:00 · 5743 阅读 · 8 评论