linux内核学习总结

Linux内核学习总结

20125101 宋雨萌

 

     通过这段时间对Linux的学习,我对Linux已经有了一个比较浅显的认识,并且收获良多。从一开始还不能将汇编知识和数据结构知识很好地结合起来,到现在能够熟练地使用实验楼虚拟机进行实验并分析实验结果。在这段时间里,无论是将C代码反汇编,gdb跟踪核心代码,还是在Linux内核内创建新进程,执行可执行程序,我都积累了很多新的知识,有助于我更好的理解Linux系统。下面,我对我所学到的Linux系统的知识做一个简要总结,和大家交流一下。

    刚开始学内核的时候,不要执着于一个方面,不要专注于一个子系统就一头扎到实际的代码行中去,因为这样的话,牵涉的面会很广,会碰到很多困难,容易产生挫败感,一个函数体中(假设刚开始的时候正在学习某个方面的某个具体的功能函数)很可能掺杂着其他各个子系统方面设计理念(多是大量相关的数据结构或者全局变量,用于支撑该子系统的管理工作)下相应的代码实现,这个时候看到这些东西,纷繁芜杂,是没有头绪而且很不理解的,会产生很多很多的疑问,(这个时候如果对这些疑问纠缠不清,刨根问底,那么事实上就是在学习当前子系统的过程中频繁的去涉足其他子系统,这时候注意力就分散了),而事实上等了解了各个子系统后再回头看这些东西的话,就简单多了,而且思路也会比较清晰。

对Linux系统的理解:

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。linux内核与传统的unix系统之间存在一些显著的差异。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。linux用途广泛,包含的东西也名目繁多。linux系统的基础是内核,c库,工具集和系统的基本工具。

学习Linux内核的心得:

在网易云课堂对本课程的学习中,老师从冯诺依曼体系结构开始,对Linux内核的基础知识进行了整合复习,并且从分析汇编代码的单步执行开始切入对Linux内核源代码的学习。学习过程中,我们了解了Linux操作系统的特点,系统调用的过程,给Menu增加指令,使用gdb跟踪系统调用内核函数,一些相关进程的数据结构,进程的创建,可执行程序的装载和执行等。通过一开始的学习,开始认识Linux系统;通过复习和琢磨,开始理解Linux系统;再由作业和实验,开始掌握Linux系统。但是,纸上得来终觉浅,绝知此事要躬行。只有在学习之后,实际动手操作,自己敲出代码,才算是真正掌握了这门学问,当然,我还在朝着这方面努力。

博客目录列表:

  • Linux及安全 内核分析计算机是如何工作的
  • Linux内核分析 操作系统是如何工作的
  • 跟踪分析Linux内核的启动过程
  • 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
  • 分析system_call中断处理过程
  • 分析Linux内核创建一个新进程的过程
  • Linux内核如何装载和启动一个可执行程序
  • 理解进程调度时机跟踪分析进程调度与进程切换的过程

 

学习总结:

     经过这一段时间的学习,我认为linux入门并不容易,他之所以难学,因为有庞大的规模和复杂的层面。自然不容易找到着手之处。所以我学到的只是些皮毛。但是我还是学到了不少东西。包括调试技术,编程风格,注意事项。遗憾之处在于有很多代码还是看不太懂,更不用提手写代码了。兴趣的力量是无穷的。兴趣能带来激情,如果工作可以和兴趣结合到一起,工作起来才会有热情,那么工作就不只是工作了,更是一种享受。

     总之我从一个茫然无措的菜鸟,已经到了初窥门径了,其中甘苦,犹然存心。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。