码迷,mamicode.com
首页 > 系统相关 > 详细

Linux内核学习总结

时间:2016-05-01 17:32:49      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

一.对Linux系统的理解及学习Linux内核的心得

     在近两个月的学习过程中,跟着孟宁老师的学习,渐渐地对linux产生了一个大致的了解,(不仅是内核知识点本身,而且包括学习的方法,学习的方向,都有了一些初步的想法)。

     内容上:自己学到的东西如下(自己将知识点串在一起的思路)

(1)为什么需要内核 --> 内核的主要工作 --> 搭建linux系统,在系统上进行内核的下载、配置编译等相关操作 --> Linux中GCC ,GDB,Bash Shell,Vim等的使用 -->

(2)进程的概念 --> 进程描述符(进程运行时内核需要了解的相关信息) --> 进程的创建(手工创建和通过系统调用) --> 什么是系统调用,系统调用的三层皮 -->

(3)与系统调用类似的中断和中断处理 --> 进程运行状态(五种状态,状态切换的方法) --> 进程之间的切换(包括进程调度相关知识点,如schedule()函数等) -->

(4)可执行程序的转载和启动(关键的exec() 系统调用) -->通过在控制台上输入ls命令的例子再将相关知识串在一起理解。

二.博客作业列表

1.linux内核分析第一周-通过分析汇编代码理解计算机是如何工作的http://www.cnblogs.com/baka/p/5224797.html

2.linux内核分析第二周-完成一个简单的时间片轮转多道程序内核代码http://www.cnblogs.com/baka/p/5247344.html

3.linux内核分析第三周-跟踪linux内核的启动过程http://www.cnblogs.com/baka/p/5268075.html

4.linux内核分析第四周-使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用http://www.cnblogs.com/baka/p/5294327.html

5.linux内核分析第五周-分析system_call中断处理过程http://www.cnblogs.com/baka/p/5322850.html

6.linux内核分析第六周-分析linux内核创建一个新进程的过程http://www.cnblogs.com/baka/p/5341518.html

7.linux内核分析第七周-linux内核如何装载和启动一个可执行程序http://www.cnblogs.com/baka/p/5372272.html

8.linux内核分析第八周-理解进程调度时机跟跟踪分析进程调度与进程切换的过程http://www.cnblogs.com/baka/p/5386941.html

三.收获与遗憾

  老师在上课的时候说过,linux的具体实现代码很多,细节也很多,如果直接看代码,很容易陷入细节中而忽略主干,应该在看代码之前,思考并找出代码想要实现的功能的基本框架,心里带着框架再来研究代码,在具体代码的研究中修正自己的认识偏差和误差。这样也容易抓住主干。

  学习的同时要动手,老师每次都布置了作业,在这个完成作业的过程中,又有许多任务必须要在linux平台完成,比如GDB调试,下载内核并编译内核等等,将所学用上去,自己也能对上课的知识有更深的理解。

   自己学完之后,对进程地址空间、内存管理等知识没有较好的理解(应该是这方面的知识吧),所以在理解程序的加载、进程上下文切换,中断上下文切换等涉及地址,内存知识点的东西,理解起来很费劲,要是老师能在这些方面有所点拨就好了。或许是因为自己本身不是计算机专业的,没有学操作系统和计算机组成原理相关知识,不过接下来还是会认真学习一下相关的知识。

Linux内核学习总结

标签:

原文地址:http://www.cnblogs.com/baka/p/5450796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!