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. 51nod 1174 1174 区间中最大的数

    题目链接:51nod 1174 1174 区间中最大的数 ST(Sparse Table)算法学习参考博客:http://blog.csdn.net/niushuai666/article/detai ...

  2. 实战Nginx与PHP(FastCGI)的安装、配置与优化

    一.什么是 FastCGIFastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTTP server都支持FastCGI,包括Apache.Nginx和l ...

  3. RMAN 命令-删除过期

    手动删除日志文件后的处理,不然rman备份会出错 rman target / crosscheck archivelog all; delete expried archivelog all; 删除所 ...

  4. EF6 CodeFirst+Repository+Ninject+MVC4+EasyUI实践(七)

    前言 上一篇文章我们完成了系统角色管理的基本功能实现,也对系统层次结构进行了了解.这一篇我们将继续对系统的用户管理模块进行代码编写.代码没有做封装,所以大部分的逻辑代码都是相通的,只是在一些前端的细节 ...

  5. 一生伏首拜阳明------<明朝那些事儿>

    一生伏首拜阳明. 王守仁,字伯安,别号阳明. 成化八年(1472),王守仁出生在浙江余姚,大凡成大事者往往出身贫寒,小小年纪就要上山砍柴,下海捞鱼,家里还有几个生病的亲属,每日以泪洗面.这差不多也是惯 ...

  6. css选择符

    E>F:子选择符,选择所有作为E元素的子元素F.<style type="text/css">li>a {color: #ccc;}</style&g ...

  7. Android FragmentTransactionExtended:使Fragment以多种样式动画切换

    有多种fragment之间切换的效果,效果是这样的: Demo的实现是很简单的. 在res/values中,新建一个arrays.xml文件,存放Fragment动画效果的名称,在spinner中使用 ...

  8. JAVA中最常用的十个快捷键

    http://blog.sina.com.cn/s/blog_5fb39f910101dc2b.html 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以 ...

  9. Bootstrap <基础八>图片

    Bootstrap 提供了三个可对图片应用简单样式的 class: .img-rounded:添加 border-radius:6px 来获得图片圆角. .img-circle:添加 border-r ...

  10. vs2012 error c4996: This function or variable may be unsafe

    编译lua源码时,使用vs2012,遇到如下错误. 1>------ 已启动生成: 项目: 20130925, 配置: Debug Win32 ------ 1>  stdafx.cpp ...