转自:https://blog.csdn.net/titer1/article/details/45345123

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/titer1/article/details/45345123
MOOC Linux内核之旅小结

刘柳 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000+titer2008@gmail.com+13073161968
1
2
3
工作两年,时事变迁,梦碎了一地,幸好还有内核。

1 过去的8周
1.1 水过
貌似我的主题帖子数仅此于老师啊,有些帖子质量不高,请大家海涵啊。其实一周就应该两三帖

自己遇到的问题

自己实践的结果及分析

这周比较好的参考资料

1.2懒过
1.2.1 时间之伤
第二章的作业竟然忘记了提交,根本原因是周日当天同时跟进2门Mooc,时间错乱了,甚至连链接也没有弄上去。

从这次教训过后,我每周第一件事就是事先填好本周作业的链接,并且把学习时间提前到周六。

一个好的时间管理对于mooc学习是非常重要的,

尤其要同时跟进多门Mooc课程,要分清主次轻重缓急
1
2
3
4
5
1.2.2 内容之伤
博客的内容,有时老师的板书真的太好了,我就直接摘到博客里面啦,真正消化一章老师的内容,这样做是不可推荐的。

为了弥补内容上的不充实,我的临时之计
是加上我的实践操作演示+实践总结。
不过理论没有深入理解的硬伤依然存在,
希望在后续的学习修正之
1
2
3
4
这个小节其实就是我的遗憾之处吧。

1.3 也上进过
先上图(截至到4月28日),论坛里水过不少,竟然收获了27个赞,谢谢大家。

此外,收获到3个置顶,( ̄▽ ̄)”,谢谢老师和“慕课君的萌宠”。

话说的我的博客让不少人的浏览器崩掉了,真的不好意思啊!8M的动态演示图真的是浏览器的大杀器,最近几期的演示都放的是超链接,大家完全不用担心啦。

真的很喜欢这里大家一起讨论内核的气氛

8周内,有效的学习时间大多数是晚上和大半个周末,每周平均6-8小时(学校里的同学应该比我时间多着)。只能说孟老师的课太有魔力了,竟然坚持下来了。

2 现在
先给出博客内容不完全列表:

动静结合学内核之 linux 系统调用浅析

linux 进程调度switch_to宏浅析+系统执行过程总结

linux可执行文件创建过程 浅析

Linux 进程管理浅析

动静结合学内核:linux idle进程和init进程浅析

How program is executed

3 .未来
如果你喜欢linux,我在csdn专栏等你,这里持续更新内核入门学习的心得。

当前这里的专栏把上面所有内容都已经收录

linux内核入门实践

空说无意义,来真的学习计划吧

3.1 linux内核模块学习
以下是我寻找出的方案,完全可在老师搭建好的实验平台上继续拓展。

利用qume调试kernel moudle 教程

如果上述方案成功的话,linux driver 那本书的代码都可以在qume平台逐步跟踪啦

想着可以逐步跟踪ldd3书上的代码,心里还是蛮激动的

ldd3 github

3.2 linux 内存管理机制
入门的话,先看lkd(robert)的书,再看懂wdy这章图吧

3.3 linux 中断系统机制
其实我们学习系统调用的时候,已经中断的脉络走了大半,不过中断可不仅仅是系统调用。

暂且先留个chinaunix内核版主“瀚海书香”的经典4大中断问题,我还在理解中。

1.什么是硬中断,什么是软中断?

2.不同的硬中断是否可以嵌套?相同的硬中断是否可以嵌套,以及是否按优先级嵌套?硬中断最多可能嵌套几级?

3.不同的软中断是否可以嵌套?相同的软中断是否可以嵌套?

4.软中断在什么时间点被调度?

答案

3.4 linux 某一子系统(v4L2)的分析
工作内容相关,希望得到深入,至少在vediobuf的认识上。

v4L2资料分享

4 总结
4.1 最大的收获
实践出真知,从来没有看到内核的代码离自己这么的近

天时地利人和
1
天时:可以在周末及其他空闲时间进行,当然这是指的学习时间。在学习方面,我接触过linux内核分析与设计/linux代码情景分析等等,但是知识只是混沌在脑子里,正等待机会实践。
地利:有网易云课堂的这个平台(网页版/手机版本)提供资源,还有csdn博客平台的markdown平台支持。
人和:
老师讲的好,理论和实践结合
论坛气氛好,遇到难题可以找到同道中人,老师也会及时回复。
除开上面正统的说法,还有以下的感想。

1)每周的作业考核方式有新意,“博客”形式可以调用自己的主观能动性。写博客和写好博客完全不是一回事。
2)内核原来这么丰富,竟然,进程调度和“庄周梦蝶”联系起。

4.2 最大的遗憾
本课程开始阶段的学习时间管理不好,错过一期的博客作业
每章节中,自己消化理解的文字很不够,借鉴了很多老师的文字
5 其他
五一临近,先写了吧,免得后面熬夜加班。希望亲人和朋友们都身体倍棒啊。

怎么这么文艺,“慕课君的萌宠”你好不?貌似还有3周你就要在本论坛里退休啦

6 附件
用自己的话简要总结您对Linux系统的理解及学习Linux内核的心得;

将您之前的所有博客作业做成目录列表,可以修改原博客理解有误或不准确的地方,可以在目录中给每篇博客加个简要引言,总之,您的这篇学习总结博客能为其他学习者提供一个参考索引;

博客内容的具体要求如下:

题目自拟,内容围绕您对Linux系统的理解及学习Linux内核的心得进行;

将您之前的所有博客作业做成目录列表放在博客中;

http://blog.csdn.net/column/details/kernel-from-scratch.html

总结部分:您在学习《Linux内核分析》课程中最大的收获?

学习完《Linux内核分析》课程后您最大的遗憾是什么?
---------------------
作者:titer1
来源:CSDN
原文:https://blog.csdn.net/titer1/article/details/45345123
版权声明:本文为博主原创文章,转载请附上博文链接!

MOOC Linux内核之旅小结【转】的更多相关文章

  1. Linux内核之旅

    http://www.kerneltravel.net/ Linux内核之旅 Linux Kernel Travel

  2. 陈莉君教授: 回望踏入Linux内核之旅

    本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 陈莉君 来源: 微信公众号linux阅码场(id: linuxdev) 初次踏入Linux 几多耕耘,几多收获 ...

  3. Linux内核之旅 链表实现

    #include "stdio.h" #include "stdlib.h" struct list_head{ struct list_head *prev; ...

  4. Linux内核之旅 List_entry()

    #include "iostream" #define List_entry(type,member)\ (type *)(()->data)) ) using namesp ...

  5. linux 内核之旅

    http://www.kerneltravel.net/?p=534 http://mp.weixin.qq.com/mp/homepage?__biz=MzI3NzA5MzUxNA==&hi ...

  6. Linux内核学习笔记

    1.vanbreaker的专栏 2.LinuxKernel Exploration 3.DroidPhone的专栏 4.Linux内核研究以及学习文档和ARM学习以及研究的开放文档   [力荐] 5. ...

  7. Nginx之旅系列 - Nginx日志功能 PK Linux内核printk

    题记:Nginx之旅系列是用来记录Nginx从使用到源码学习的点点滴滴,分享学习Nginx的快乐 Nginx 首页: http://nginx.org/ Nginx日志功能 PK Linux内核pri ...

  8. 《Linux内核分析》第六周学习小结

    进程的描述和进程的创建 一.进程的描述 进程描述符task_struct数据结构: (1)操作系统的三大功能: 进程管理.内存管理.文件系统 (2)进程的作用: 将信号.进程间通信.内存管理和文件系统 ...

  9. 【MOOC EXP】Linux内核分析实验八报告

    程涵  原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 进程的切换和系统的一般执行过程 知识点 ...

随机推荐

  1. MySQL mysqldump与source导入慢的解决方法

    Jquery中文网 >  数据库  >  mysql  >  正文 MySQL mysqldump与source导入慢的解决方法 MySQL mysqldump与source导入慢的 ...

  2. 【leetcode-73】 矩阵置零

    给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: [   [1,1,1],   [1,0,1],   [1,1,1] ] 输 ...

  3. JavaScript 实现一个简单的MVVM前端框架(ES6语法)

    前言 随着前端各大框架的崛起,为我们平时的开发带来了相当的便利,我们不能一直停留在应用层面,今天就自己动手实现一个乞丐版的MVVM小框架 完整代码github地址 效果 html代码 <div ...

  4. 面向对象(Object Orientation Programming)

    Three characteristic of object orientation: Encapsulation: capturing data and keeping it safely and ...

  5. 微信小程序ext_json示例

    { "template_id": 0, "ext_json": "{\"extEnable\": true, \"ext ...

  6. NSScanner类的基本用法

    NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串.可以在创建NSScaner时指定它的string属性,然后scanner会按照你的要求从头到尾地扫描 ...

  7. GCC编译器原理(三)------编译原理三:编译过程(2-2)---编译之语法分析

    2.2 语法分析 语法分析器(Grammar Parser)将对由扫描器产生的记号进行语法分析,从而产生语法树(Syntax Tree).整个分析过程采用了上下文无关语法(Context-free G ...

  8. 【解题报告】SRM-08

    A Description 给一个 01 串设为其 S,询问是否存在只出现两次的 01 串 T. 这里的出现定义为存在一串下标 ,满足  且 . Input 一行,一个 01 串 Output 一行, ...

  9. mssql 创建存储过程简单实例

    CREATE procedure [dbo].[cp_User_Increment] @channelId int, @currentPage int, @pageSize int, @userId ...

  10. web渗透测试基本步骤

       基本常见步骤: 一 .信息收集 要检测一个站首先应先收集信息如whois信息.网站真实IP.旁注.C段网站.服务器系统版本.容器版本.程序版本.数据库类型.二级域名.防火墙.维护者信息有哪些等等 ...