网易公开课《Linux内核分析》学习心得-Linux内核学习总结

杨怡泽 原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

博客作业目录列表

·第一周-通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
·第二周-mykernel实验的实践和分析
·第三周-跟踪分析Linux内核的启动过程
·第四周-使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
·第五周-分析system_call中断处理过程
·第六周-分析Linux内核创建一个新进程的过程
·第七周-Linux内核如何装载和启动一个可执行程序
·第八周-理解进程调度时机跟踪分析进程调度与进程切换的过程

心得

选择这门课是因为平常我在使用Linux的过程中,被Linux所具备的强大功能和极高的性能所吸引。为了满足自己的好奇心,就决定学习一下Linux内核方面的知识从根本上面了解Linux。
Linux作为Unix家族中的一员,能够在众多操作系统中异军突起,甚至能和微软这样的大公司相抗衡,就是因为Linux不是一个商业操作系统,它是一个在GNU公共许可下的开源项目。从技术角度上面来看,出色性能优势和它的高度兼容性成就了今天的Linux系统。
而且,Linux有着最好的技术社区和支持,Linux比其他任何操作系统都更容易获得补丁和更新。当新的硬件产品投放到市场以后,其Linux驱动程序通常在几周内就可得到。与此相反,硬件厂商仅仅给少数商业操作系统发布设备驱动程序。
Linux内核提供了应用程序可以运行的执行环境。因此,内核必须实现一组服务及相应的接口来实现操作系统的完整。Linux内核的主要功能包括以下:

  • 内存寻址
  • 进程和进程调度
  • 进程地址空间
  • 中断和异常
  • 内存管理
  • 程序执行
  • 系统调用
  • 文件系统
  • I/O和驱动程序

总结

获得的收获:在学习这门课之前其实对于操作系统的执行过程一窍不通,在学习这门可之后终于开始了解每天都要接触的操作系统究竟是怎样执行的。在最开始学习的时候有点跟不上 ,自己就自学了操作系统方面的知识,并购买了 Linux内核方面的书籍,比如说《深入理解Linux内核》,虽然这本书讲的是Linux 2.0相关的知识,与《Linux内核分析》这门课有一点不同。但是通过对比再加上自己阅读Linux 2.0 和 Linux 3.0的代码,就能更好的理解Linux内核了。
遗憾:感觉这门课还是太短,I/O和文件系统等知识还没有涉及。如果以后还能再开相关的课程,我一定会认真学习。

你可能感兴趣的:(linux,kernel)