转自: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. Storm中重要对象的生命周期

    Spout方法调用顺势 declareOutputFields()(调用一次) open() (调用一次) activate() (调用一次) nextTuple() (循环调用 ) deactiva ...

  2. spring集成Hessian的基本使用方法

    一.什么是RPC RPC全称Remote Procedure Call,中文名叫远程过程调用.RPC是一种远程调用技术,用于不同系统之间的远程相互调用.其在分布式系统中应用十分广泛. 二.什么是Hes ...

  3. java io系列24之 BufferedWriter(字符缓冲输出流)

    转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_24.html 更多内容请参考:java io系列01之 "目录" Buffere ...

  4. 微信小程序遇到的知识点

    话不多说,都是干货!!! 页面的生命周期: 当打开一个页面的时候,会触发onLoad和onReady和onShow事件. onLoad和onReady只触发一次.除非卸载了页面就是触发了onUnloa ...

  5. 5.Hystrix-服务降级

    所谓降级,就是当某个服务出现异常之后,服务器将不再被调用,此时服务端可以自己准备一个本地的fallback回调,返回一个缺省值. 这样做,虽然服务水平下降,但好歹可用,比直接挂掉要强,当然这也要看适合 ...

  6. c# 三种传参方式 in,out,ref

    in:默认方式,传值不返回 out:不传值 但是会返回新值给予传参对象 ref:传存储地址,所以传参前必须赋值初始化,传值后的运算结果直接作用在传参上 Out和ref的效果差不多

  7. Java入门系列 Java 中的四种引用

    Why java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象. java对象的引用包括强引用,软引用,弱引用,虚引用 Java中提供这四种引用类型 ...

  8. exec存储过程示例

    假如存储过程为test,两个参数为aa,bb那么有以下两种写法,不要带括号EXEC [dbo].[test] @aa = 111, @bb = 222 exec test 111,222

  9. C# 异步方法(AM)

    Ø  前言 C# Asynchronous Programming(异步编程)有几种实现方式,其中 Asynchronous Method(异步方法)就是其中的一种.异步方法是 C#5.0 才有的新特 ...

  10. 判断质数(Java)

    package day01; //输出1-100中质数,并且每十个换行 public class PrimeNum { public static void main(String[] args) { ...