转自: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. Tensorflow object detection API 搭建物体识别模型(四)

    四.模型测试 1)下载文件 在已经阅读并且实践过前3篇文章的情况下,读者会有一些文件夹.因为每个读者的实际操作不同,则文件夹中的内容不同.为了保持本篇文章的独立性,制作了可以独立运行的文件夹目标检测. ...

  2. JSON的简单使用_解析前台传来的JSON数据

    package cn.rocker.json; import org.junit.Test; import net.sf.json.JSONArray; import net.sf.json.JSON ...

  3. Java_去除字符串空格

    String ss = " happy new year "; System.out.println(ss + "------" + ss.length()); ...

  4. Ubuntu 开启SSH服务以及有关设置:安装,指定端口号、免密登录、远程拷贝

    本文所用系统为 Ubuntu 18.04   什么是SSH?     简单说,SSH是一种网络协议,用于计算机之间的加密登录.全名为:安全外壳协议.为Secure Shell的缩写.SSH为建立在应用 ...

  5. redis使用问题一:Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a resource from the pool] with root cause

    本文使用的是spring-data-redis 首先说下redis最简单得使用,除去配置. 需要在你要使用得缓存得地方,例如mybatis在mapper.xml中加入: <cache evict ...

  6. Oracle12c开启scott账户

    在oracle目录app\orcl\product\12.1.0\dbhome_1\NETWORK\ADMIN\下tnsnames.ora文件最后加入以下内容 PDBORCL = (DESCRIPTI ...

  7. MySQL 数据库应用程序编程

    普通用户使用客户端应用程序(Client Application)和服务器程序(Server Application)通信以取得服务, 而服务器程序通常要和数据库服务器通信以取得数据存取服务, 这时就 ...

  8. tensorflow--logistic regression

    import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist=input_data. ...

  9. C++ 类2

    继承: 联系一起的类有层次关系. 基类: 层次关系的根部 派生类: 基类负责定义在层次关系中所以类共同拥有的成员,派生类定义其各种特有的成员. 基类类型相关的函数, 派生类不做改变直接继承的函数 某些 ...

  10. Tensorflow Python 转 Java(一)

    一.背景描述 最近python的tensorflow想办法给弄到线上去.网络用的Tensorflow现成的包.写篇博客,记录下过成.数据用kaggle中的数据为例子. 数据地址: https://ww ...