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. Swift 04.Functions

    函数的基本构造 基本结构 func 函数名 (形参名:形参类型) ->返回值 {实现代码} 如果没有参数,那么也必须把参数的括号带上 如果有多个形参,那么必须以逗号 , 隔开 如果没有返回值,那 ...

  2. 做App还是微信公众号,你该如何抉择?

    我不够聪明,因为我经常出于好奇被自己提出的问题所困扰,于是乎就有些强迫症似的拼命去寻求答案——我只是想说服自己,让自己从困扰的谜团中清醒.坚定方向,进而能从容不迫的走下去... 最近在考虑一个问题:做 ...

  3. php本地及远程文件包含漏洞

    在php程序中包含有file inclusion的时候,php要开启一下两个功能: allow_url_fopen onallow_url_include on 但是开启这两个功能之后伴随的是url漏 ...

  4. JSP页面中的精确到秒的时间控件

    技术:Struts1+jsp+MSql 需求:ncmgt网络监控系统中显示用户的操作日志,并且根据操作时间查询用户的详细操作记录.时间精确到秒 大致效果如下.上图! 大家可以清晰的看到.红色画线部分就 ...

  5. stm8s103串口

    #include "uart.h" #define UART2#define uart_115200 1 void Init_UART2(void){#ifdef UART2    ...

  6. Sql中时间只取年或者年月

    select Title,datepart(year,DateCreated) from CMS_Content    只取年 只显示年月,不显示日:select datepart(year,getd ...

  7. iosOpenDev-install 失败官方wiki无法解决看这里(尝试有效)

    https://github.com/kokoabim/iOSOpenDev/wiki/Troubleshoot http://blog.csdn.net/bluesky_03/article/det ...

  8. 用PowerMock spy mock private方法

    在实际的工作中,经常碰到只需要mock一个类的一部分方法,这时候可以用spy来实现. 被测类: public class EmployeeService { public boolean exist( ...

  9. LLBLGen Pro v4.2_Patch+Keygen

    将dll文件覆盖安装目录下的文件,之后用算号器算出license文件,将license文件放在安装目录下即可. 算号器是在http://www.dxper.net/thread-408-1-1.htm ...

  10. windows下python Tkinner环境布置(包含PIL环境安装)

    布置步骤:1.安装python 2.7.11 安装步骤:由于网上存在有相关经验,所以在此引用一下 http://jingyan.baidu.com/article/0bc808fc42dfab1bd4 ...