您的位置:首页 > 运维架构 > Linux

Linux内核学习总结

2016-04-27 21:58 253 查看
2016年研一下学期学习了Linux内核,之后有一些体会,写了记录下来,算是对这一段时间的总结。

接触linux内核之前,觉得linux内核是神秘的,不可触摸的。然而通过一步一步的学习,逐步的揭开了linux内核的神秘面纱。

下面就是在8周的每一次实验的作业:

https://www.shiyanlou.com/courses/reports/950244

这是第一周的实验,说的是通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的。这次实验就是通过汇编一个简单的C程序,来打开神秘的Linux内核的大门,通过分析程序中堆栈的变化,来理解程序的底层的汇编的实现。这一周理解了计算机是如何工作的。

https://www.shiyanlou.com/courses/reports/973071

这是第二周的实验报告,运行并分析一个精简的操作系统内核,理解操作系统是如何工作的。通过老师给的一个精简的内核,让我们对linux内核有一个初步的认识。这一周理解了操作系统是如何工作的。

https://www.shiyanlou.com/courses/reports/991980

这是第三周的实验报告,跟踪分析linux内核的启动过程,通过第二周老师给的精简的Linux内核,来跟踪分析linux内核的启动过程,通过这一周的学习,知道了Kernel是如何启动的,如何跟踪并分析linux程序,知道了一些简单的分析程序的做法。

https://www.shiyanlou.com/courses/reports/1012786

这是第第四周的实验报告,使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用,这一次实验让我理解了系统调用只是表面的一种形式,只是一种对外接口,实际的实现方式是底层的汇编代码和机器码的实现。

https://www.shiyanlou.com/courses/reports/1034039

这是第五周的实验报告,分析系统调用的中断处理过程,因为真正的系统调用的实现过程都是在内核态,所以在用户态时要调用这些系统调用的话,就必须从用户态陷入到内核态,既然是状态的改变,就涉及到中断的一些相关的知识。

https://www.shiyanlou.com/courses/reports/1052449

这是第六周的实验报告,进程的描述和创建,进程对应着程序的一次执行状态,那么进程是如何创建的呢,进程又有哪些描述方式的呢,进程的内部结构又是怎么样的呢,这一次实验都可以解答,通过这一次实验报告知道了进程的内部的数据结构的具体定义方式,进程的创建方式,还有fork的使用形式和fork的一些有意思的返回值等等。
https://www.shiyanlou.com/courses/reports/1071379
这是第七周的实验报告,讲的是linux是如何启动和装载一个程序,这次实验让我理解了程序的链接,加载还有执行的方式,还有文件格式等等。

https://www.shiyanlou.com/courses/reports/1090933

这是第八周的实验报告,讲的是linux中进程切换的过程和进程调度的时机,linux进程调度是如何实现的,又是在什么时候会进程调度,这个实验都会解答。

通过深入理解linux内核的学习,让我了解了linux内核学习的一些思想,还有一些读取linux内核的源码的方法,了解了linux操作系统的其中的设计思想,让我获益匪浅,如果以后能从一个更高的高度去看linux内核,这将有助于我的linux的学习 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: