转自: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. 简洁架构的思想,基于go实现

    https://manuel.kiessling.net/2012/09/28/applying-the-clean-architecture-to-go-applications/ 从 Clean- ...

  2. powershell 定时删除脚本

    powershell  定时删除脚本 $today=Get-Date #"今天是:$today" #昨天 #"昨天是:$($today.AddDays(-1))" ...

  3. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cardSalDao' defined in file [E:\GItUp\pointerCard+redis\target\gameCard-1.0-SNAPSHOT\WEB-INF\classes\cn\jbit\dao

    错误信息: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cardSa ...

  4. 利用spring的MultipartFile实现文件上传【原】

    利用spring的MultipartFile实现文件上传 主要依赖jar包 spring-web-3.0.6.RELEASE.jar 用到 (org.springframework.web.multi ...

  5. springboot单元测试 注入失败 空指针

    今天写代码,在test的类中@Autowired注入要测试的@Component类,但发现一运行就会报空指针异常java.lang.NullPointException,但发现使用new的方法的时候可 ...

  6. Java8中String.join方法

    List names=new ArrayList<String>(); names.add("1"); names.add("2"); names. ...

  7. VS Code +node npm 调试 js

    打开vsCode的调试控制台里面的终端 然后输入下面代码 npm install express-generator -g 1 创建一个命名为 myapp 的应用. express myapp 你就可 ...

  8. SignalR 2.x入门(二):SignalR在MVC5中的使用

    开发(代码下载) 新建一个ASP.NET Web项目,项目类型为MVC,将认证模式改为无身份认证.在程序包管理控制台输入如下语句,安装SignalR <span style="font ...

  9. 启用SQL Server 2014 中的OLE 自动化功能

    企业中很多架构都在快走向Service概念,尽量采用平台服务方式提供给各个Application使用.因此,个系统都会去呼叫像是Web Service,WCF或ODATA…等等各种类型的服务.一般来说 ...

  10. Vertica系列: Vertica DB连接负载均衡

    背景 谈到负载均衡, 对于数据库集群需要区分几个概念: 运算的负载均衡, Vertica 本身是 MPP 数据库, SQL 操作自动会利用多台机器来加快处理速度. 数据库连接的负载均衡, Vertic ...