1用自己的话简要总结您对Linux系统的理解及学习Linux内核的心得;
1.1Linux系统的理解:
linux系统和其他的操作系统本质上是一样的,是介于应用程序和硬件之间的桥梁。Linux操作系统包含了shell交互程序,系统调用库,编译中断;系统调用内核的接口;操作系统内核具体的实现(信号处理,cpu调度,交换I/O块,内存的页交换,虚拟内存技术,文件系统,硬件驱动)。shell交互程序,系统调用库,编译中断实现了应用程序与操作系统的交互。系统调用内核的接口实现了上层的中断和系统调用对与内核操作的接口,可以与操作系统内核交互。其中文件系统实现了对于磁盘的物理文件的管理,虚拟内存技术和页交换技术实现了内存的管理,信号处理实现了操作系统内部的相互通信,cpu调度实现了任务的调度和中断的处理。硬件驱动实现了操作系统与硬件的交互。
其中每一块都是很多的知识需要掌握。从不同的角度来看LInux系统的运行,得到不一样的视角。有从内存的占用情况看系统的运行;还有从cpu指令执行的分析,看操作系统的运行。
下面是一个简单的例子:
1.2学习Linux内核的心得:
学习linux内核了解其内部是如何运作的,单单从简单的讲解,是无法领会其内在运作的美。必须着手自己去查看其如何实现的,才能了解其设计的精巧。但是里面的设计太过于复杂,我也只是初窥其一,雾里看花,有待真正的理解并且运用在实际的编程中,这需要时间的磨合和自己对与linux内核进一步的了解。
学习linux内核需要先看书本,知道其中内核运作的机制和原理,再去查看源码,这样才有效果,否则容易陷入大量的源码而迷失方向。起初只用大致了解其中的原理并看看源码,画出其中的流程图和实现的方法大致分析。原理全部分析一遍后,选择自己感兴趣的一块,要做详细的分析,不可像以前那样得过且过的心态,要做到真正的掌握了解。
2.将您之前的所有博客作业做成目录列表
3.总结部分:您在学习《Linux内核分析》课程中最大的收获?学习完《Linux内核分析》课程后您最大的遗憾是什么?
3.1课程中最大的收获:
了解了其中内核分析中汇编一块的相关知识,在内核启动过程中的详细步骤,以及在加载可执行文件的详细的源码分析,使我能够初窥其中的源码的分析。学习了如何进行源码的调试,给我打开了一扇通往内核分析的门,至于里面的具体内核详细分析还得靠自己的坚持不懈的努力。
3.2课程后您最大的遗憾:
没能够教会如何修改源码以及自己写一个文件系统。这需要我自己去摸索,读源码以及分析其实现,在去修改设计。