1.《简单C程序生成的汇编代码分析》
2.《时间片轮转多道程序代码分析》(未完成)
3.《Linux内核启动过程start_kernel分析》
4.《库函数API和C语言汇编语言混合式编程》
5.《system_call中断处理过程分析》
6.《fork函数创建新进程过程分析》
7.《可执行程序的装载过程》(完成大部分)
8.《进程调度时机的跟踪分析》(未完成)
看到这门课即将推出还是在新年,当时就打定主意一定要报这门课,首先是因为这门课讲的内容我很感兴趣。我觉得作为一个软件开发者,应该在熟悉API、业务逻辑和开发工具的前提下,了解开发环境中操作系统的内核运行的机理。其次,在这门课之前我刚好也看过些汇编语言的基础知识,这门课的内容,涉及到汇编语言的部分,刚好可以作为一个比较复杂的实例,加深我对汇编语言的理解。
在这门课的学习过程中,我觉得最大的收获是学到了分析操作系统系统内核的方法,具体有两点:
内核分析必须要结合具体的程序进行分析,由于自己不是科班出身,之前对Linux内核的了解更多是基于书籍,比如《现代操作系统》,看书的时候只能记得概念,对于其具体实现则是一头雾水,看后感觉自己好像了解到操作系统的特点,模块的工作原理,落到实处则一处也无。跟着学这门课,我学会从分析最基本的程序功能与执行流程入手,反证之前学到的理论知识。我觉得这是非常有效的学习方法。手头还买过一本《Linux内核设计与实现》,之前总是翻不下去,不得要领,现在用着调试工具,特别是实验楼提供的linux源码,追踪起来非常方便,也有乐趣。
另外一方面,可能是由于性格使然,对于未知的内容,总是在心底有种紧张感,总是妄图掌握所有的细节。之前并没觉得有多么不妥,但是在学习内核分析的过程中,逐渐发现这种思维的局限所在。首先,精力是有限的,特别是在工作以后,不再有大块的时间可以挥霍,做任何事不得不功利的考虑产出比。过分的抠细节,理解函数的每一行代码,只是让自己感觉踏实,却忽视了函数间的调用关系,执行流程。并且,耗费了大量的时间去理解内核具体实现中一些折衷的办法,炫技般的代码,难以应用,容易过时。这门课对我的最大提示,就是把分析的精力花在20%的关键代码上。目前,我适应地很艰难,但我仍然要去适应。
学习这门课最大的遗憾,就是未能跟上进度。虽然我有记笔记,但是博客不等于笔记。到目前为止,仍有博客没写完,另有几篇是评价的时候还未完成。这里我承认我钻了空子。这是不对的。我这么做,只是希望自己能参与到互评的环节,读到其他人的好文章,学习学习。在这里,再次向受到影响的同学道歉。

By:昆仑雪狐

原创作品转载请注明出处

《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

Linux内核学习总结的更多相关文章

  1. Linux 内核学习的经典书籍及途径

    from:http://www.zhihu.com/question/19606660 知乎 Linux 内核学习的经典书籍及途径?修改 修改 写补充说明 举报   添加评论 分享 • 邀请回答   ...

  2. 关于Linux内核学习的误区以及相关书籍介绍

    http://www.hzlitai.com.cn/article/ARM9-article/system/1605.html 写给Linux内核新手-关于Linux内核学习的误区 先说句正经的:其实 ...

  3. linux内核学习之二:编译内核

    在linux内核学习系列的第一课中讲述了搭建学习环境的过程(http://www.cnblogs.com/xiongyuanxiong/p/3523306.html),环境搭好后,马上就进入到下一环节 ...

  4. linux内核学习之一:环境搭建--安装Debian7.3

    本系列文章假设读者已对linux有一定的了解,其实学习linux内核不需要有很深的关于linux的知识,只需要了解以下内容:linux基础知识及基本shell命令:现代操作系统的基本概念:C语言和gc ...

  5. Linux内核学习笔记-2.进程管理

    原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  6. Linux内核学习笔记-1.简介和入门

    原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  7. Linux内核学习趣谈

    本文原创是freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/9304991 从大二开始学习Linux内核,到现在已经 ...

  8. Linux 内核学习经验总结

    Linux 内核学习经验总结 学习内核,每个人都有自己的学习方法,仁者见仁智者见智.以下是我在学习过程中总结出来的东西,对自身来说,我认为比较有效率,拿出来跟大家交流一下. 内核学习,一偏之见:疏漏难 ...

  9. Linux内核分析——Linux内核学习总结

    马悦+原创作品转载请注明出处+<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux内核学习总结 一 ...

  10. Linux内核学习笔记二——进程

    Linux内核学习笔记二——进程   一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源. 线程是进程中活动的对象,每个线程都拥有独立的程序计数器.进程栈和一组进程寄存器 ...

随机推荐

  1. 一个靠谱的国外maven镜像地址

    <mirror> <id>ui</id> <mirrorOf>central</mirrorOf> <name>Human Re ...

  2. 学习记录之APPCan

    2015年5月28的笔记,整理笔记搬了过来,好坏是自己当时的小成果,以后有想法继续补充 APPCan移动开发服务平台,有内置模板,列表样式,主页样式等供选择,适合开发简单布局或与内置模板布局相同的项目 ...

  3. MVC中获取来自控制器名称与动作的方法

    #region 获取控制器名称与动作 protected void GetNameSpace() { var nameSpace = this.RouteData.Values["contr ...

  4. 雅美尓(yaml)实战

    献给跟我一样对yaml(雅美尓)有婶婶挫败感的同学! 开始第一个pylon工程,我们就跟yaml配置文件开始了不解之缘.yaml是什么?它有哪些规则? 大IBM的文章如是说:YAML 是一种比 XML ...

  5. java selenium (十一) 操作弹出对话框

    Web 开发人员通常需要利用JavaScript弹出对话框来给用户一些信息提示, 包括以下几种类型 阅读目录 对话框类型 1.  警告框: 用于提示用户相关信息的验证结果, 错误或警告等 2. 提示框 ...

  6. 四核RP4412开发板使用Xshell连接的com口应与电脑端口一致

    使用Xshell工具连接的com口要与电脑接的com口端号一样. 问:我的RP4412开发板现在按照<烧写视频>操作,在XSHELL软件里找不到板子的串口号.我用的XP系统装了USB转串口 ...

  7. HTML引入外部文件,解决统一管理导航栏问题。

    1.IFrame引入,看看下面的代码     <IFRAME NAME="content_frame" width=100% height=30 marginwidth=0 ...

  8. iOS_TCP和UDP的详解

    TCP和UDP面试经常被问到,一些初学者也经常问我这种问题,由于TCP协议和UDP协议是基于三次“对话”,解释起来很费劲,所以在这里详细的描述一下自己对TCP协议和UDP协议的理解,如有不妥之处,望指 ...

  9. web开发学习之Http协议

    web入门 请求: request 浏览器向服务器发信息 响应:response 服务器回复浏览器 一个请求发出,一定有且仅有一个响应   http协议:对浏览器客户端余服务器的数据传输规范   ht ...

  10. 进程和线程及Linux下的编程

    一.概述 进程和线程网络上有一堆解释,我不喜欢抄袭,也不喜欢套用太教科书的说法.就以我自己的理解来说说进程和线程吧,当然自己的理解肯定不是很严谨,但是理解起来应该会比教科书快一点.进程和线程都可以认为 ...