Linux内核课程小结

之前八次课的学习,于我而言算是Linux内核学习之路的开始吧,感觉现在的水平还欠火候,对于Linux这座冰山,还只能勉强看到一个角。趁着课程基础部分结束,做一个小结,既是对之前知识的复习,亦是鼓励自己在探索Linux内核的路上继续向前。

分析汇编代码理解计算机是如何工作的

由于之前信息安全课上对汇编语言的使用已经得心应手了,这节课学习起来便很是轻松。算是对汇编语言及一些基础知识做了一次复习。

理解操作系统是如何工作的之进程调度

这次课算是对C语言中的嵌入式汇编基本了解了,Mykernel实验的代码倒是挺简单的,虽然按照说明实验指导体验了一下,这个最精简版的内核。但是对于如何在Linux源码里打补丁,就能让这个小小的模拟内核跑起来的原理还是没有思路,希望以后可以通过自己的学习,解决这个疑惑。

跟踪分析Linux内核的启动过程

这节课中第一次开始用真实的Linux源代码进行学习,对于源代码的大致组成结构有了一定的了解,也对Linux中的“main函数”(start_kernel)进行了学习。

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

这次实验中选择了mkdir的系统调用,但是实现完之后发现一个问题,menuos 中没有实现ls命令,即使mkdir成功了,也只能通过程序的返回值观察到。刚想到这个问题时还傻傻的去查了下有没有ls对应的系统调用,后来觉得按照unix一切皆文件的设计哲学,应该要打开当前目录对应的文件从中读取,等以后文件系统学的差不多了再回来看看当时的想法。

使用gdb跟踪分析系统调用mkdir

gdb这个以前真的用的不多,那次老师检查让print 一个变量,然后问那个值为什么和之前设想的不一样,当时还真懵了,答不上来。原来就是gdb中显示的是下一个将要执行的语句,而不是刚刚执行过的语句。现在终于可以用gdb熟悉的调试程序了。

分析Linux内核创建一个新进程的过程

这次课开始就进入了困难模式了,最近事情又有点多,觉得有点跟不上这个节奏了,对于代码的阅读,看完之后没能在脑海里留下完整的印象。对于fork函数在底层是如何执行的有了更深刻的理解。

可执行程序的装载

之前对于执行一个程序的理解,也只是执行了一个程序,现在心里会不自觉的想到 exec如何调用sys_execve,然后调用do_execve,再调用do_execve_common把函数参数和系统环境传进来进行相应的处理。

进程切换和系统的一般执行过程

作为压轴的一课,老师竟然放大招了,请来了舞女来助兴,哈哈。最后那个ls的例子,对于理解Linux的一般执行过程还是还有帮助的

总结:

不得不承认,虽然很早就决定选这门课了,但是后来因为种种原因,还是没有完全掌握老师所讲的知识。但相信对于操作系统与Linux的系统的兴趣,会促使自己不断向一个又一个的高峰攀爬。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • 可执行文件是怎么来的?(以C语言为例) C代码(.c) - 经过编译器预处理,编译成汇编代码(.asm) - 汇编...
    那只大象阅读 7,965评论 2 9
  • 姓名:吴兆阳 学号:14020199009 转自韦东山 嵌牛导读:对嵌入式初学者,没有足够的视野选择一个合适投入方...
    吴兆阳阅读 2,380评论 0 4
  • 首先来看一下在 C语言程序是如何经过处理变成可执行程序的: C代码(.c) - 经过编译器预处理,编译成汇编代码(...
    梅花小筑阅读 4,460评论 0 5
  • 突然又想写点东西,名字叫我管疯,你管食,重温一下济南风味。算了,快考试了,快去学习吧。。。。。。
    风蚀s阅读 138评论 0 0
  • 1. 最近我越来越痛恨“不好意思”这个词语。 我长这么大,尚未痛恨过什么东西,“不好意思”荣幸地成为其中一员。 百...
    步青城阅读 786评论 10 14