写在内核分析之前

版权声明:版权归作者所有,转载请注明出处。Copyright is owned by the author, please indicate the source。 https://blog.csdn.net/m0_37631324/article/details/89424544

      一、内核分析相关说明

        分析内核的缘起。一是个人对linux内核运行机制的好奇和对开源软件自由精神的向往;二是工作和发展方向的需要。linux从发行至今已经走过28个年头,最新的linux内核已经到了5.0版本。虽然我们生活中看不到linux系统,但是大到集群计算中心,小到嵌入式设备,都运行着基于linux内核的操作系统。

        linux内核是整个生态中的核心。基于linux内核加上各种定制的GUI或文件系统,形成了各种定制的发行版本以及大名鼎鼎的Android;对linux内核本身的定制使内核可以在各种架构的cpu,各种完全不同形态和使用场景的设备上使用;基于或者借鉴linux内核有许多不同的类Unix内核和操作系统;基于linux+各种lib/application可以增加更丰富的应用场景,比如搭载google TPU的嵌入式设备,就可以在linux上运行tensorflow Lite在edge端实现模式识别和决策,从而为嵌入式设备在边缘端赋能。在物联网、大数据、云计算及人工智能的浪潮中,linux kernel必定会大放异彩。

         linux内核分析版本选择。选择1.0版本一是因为这是第一个正式发布版,比0.11等预发行版更加完整和稳定;二是该版本代码量是正式版本中最少的,对于初入内核分析的人难度最小。对于1.0版本之后可以进一步查看2.6版本的重大变化和最新版(比如5.0)的最新特性,这样能以较低的难度跟上kernel的主流更新版本和特性演进。

         内核分析方法。内核分析从零起步,但是至少需要以下基础

  1. C语言(至少熟悉语法)
  2. 硬件知识(至少理解基础的计算机体系结构) 

内核分析会结合内核的启动流程、各子系统、内核目录这三个线路来进行分析。在分析的过程中,遇到不懂的知识会系统的在linux相关知识分类中进行系统学习,从而清晰而完整的分析整个linux内核源码。

        学习态度。linux内核是道法术中的道,系统,整体,清晰的理解非常重要。所以一步一步打好基础,理解好框架和具体细节都很重要。不要抱着7天速成,拿来就用的想法,这是对待术的态度,而不是对待道的态度。

二、代码分析准备

          代码下载。可以在linux官网下载1.0内核源码。下面附链接地址,下载后使用winrar或者tar解压即可。

          https://mirrors.edge.kernel.org/pub/linux/kernel/v1.0/linux-1.0.tar.gz

          分析工程建立。推荐使用Source insight,该软件安装和新建工程的方法请自行百度。

猜你喜欢

转载自blog.csdn.net/m0_37631324/article/details/89424544