每日禅语
人闲桂花落,夜静春山空。月出惊山鸟,时鸣春涧中。人人皆以为王维只是在写自然界景物的美丽,其实这首诗不只体现了自然界的美丽,更是诗人内心的写照,体现了诗人心中禅心与禅境的完美结合。这首诗的境界之所以如此静谧、寂远,原因在于诗人心无挂碍,眼中只有山间花落、月出、鸟鸣融为一体的美丽,不见人生的烦恼。很多禅修之人,修行了几十年,仍无法达到自悟的程度,这是因为他们受到俗世的羁绊,心生浮躁之气,缺少清净、纯洁的安详。
文章背景
内核工作原理:通过阅读源码,你可以更深入地了解 Linux 内核的工作方式。例如,调度器、内存管理、文件系统、网络栈等的实现细节,帮助你理解系统如何在不同硬件和软件环境下高效运行。
多任务处理:Linux 内核是一个多任务的操作系统,理解调度算法、进程管理、线程管理等,有助于编写高效、稳定的应用程序。
Linux内核是我们程序员的内功,虽然它不能教会我们最新的开发语言,不教会你时髦的框架,也不会带你走进火热的人工智能,但是我相信它是我们成为“大牛”的必经之路。
文章约定
本文所有的搭建都是基于Linux3.10版本操作和下载,后续的阅读和源码解析都是基于此版本操作的
Linux源码下载
Linux官网
下载指定版本的Linux版本
linux指定版本下载链接
我这里下载的是linux-3.10.10.tar.gz
源码阅读工具
linux下载以后,使用一个好的工具来阅读源码可以得到事半功倍的效果。Source Insight 是 Source Dynamics 公司出品的源代码编辑器。Source Insight 提供语法突出显示,代码导航和可自定义的键盘快捷键。它不仅仅是一个编辑器,而是一个理解大型源代码库的工具,因此被称为“程序编辑器和分析器”。它灵活轻便,提供有用的功能,如关系,上下文和符号窗口。它在建源码工程时,构建了符号信息的内部数据库,所以还可以显示引用树,类继承图和调用树。它的最大好处是加快了对不熟悉项目的代码理解。
Source Insight工具安装
参考网址:
- 官网主页 https://www.sourceinsight.com/
- 软件下载页面https://www.sourceinsight.com/trial/
- 用户使用教程https://www.sourceinsight.com/doc/v4/userguide/index.html
安装与破解
1、下载Source Insight 4.0安装包 https://www.sourceinsight.com/download/
2、下载程序破解补丁包 https://pan.baidu.com/s/1irvH-Kfwjf4zCCtWJByqJQ
其中包含文件si4.pediy.lic 和 sourceinsight4.exe。
3、安装下载的Source Insight 4.0安装包。
4、通过自动生成的桌面快捷方式右键打开文件位置,找到sourceinsight4.exe
5、将其替换为破解补丁包中的sourceinsight4.exe,然后双击运行。
6、首次运行,会弹出一个对话框,选择导入license文件,并将破解补丁包中si4.pediy.lic文件导入即可,至此安装破解完成。
Source Insight阅读Linux源码
1.新建项目
2.导入linux3.10源码,点击OK
3.为项目创建索引
创建索引的目的:Source Insight 去解析源码,生成数据库,这样有助于以后阅读源码。比如点击某个函数时就可以飞快地跳到它定义的地方。
4.工具常见使用方法
4.1在linux-kernel-3.10项目中打开某个文件
点击图中的“P”按钮,就可以看到右边的列表信息,可以双击文件打开文件,也可以输入文件名查找文件。
4.2打开文件后,按住 ctrl 键的同时,用鼠标点击函数、变量,就会跳到定义它的位置,如下图所示
4.3查找函数或变量的引用 双击函数,右键点击弹出对话框选择“Lookup Reference”;或者双击函数后,使用快捷键"ctrl+/"来查找引用,如下图:
点击搜索以后,会出现以下结果,可以看见第2条记录就是我们上面截图中的函数方法(unknown_bootoption),点击左侧的箭头可以跳转到具体的函数调用位置
如果需要返回刚刚的搜索结果可以点击截图中的箭头,即可返回搜索内容。
5.Source Insight常用快捷键
快捷键 | 功能 |
---|---|
Ctrl+= | 跳转到定义 |
Alt+/ | 查找引用 |
F3 | 向后搜寻 |
F4 | 向前搜寻 |
F5 | 到指定栏 |
F7 | 查找符号 |
F8 | 查找本地符号 |
F9 | 向左 |
F10 | 向右 |
Alt+, | 向后跳转 |
Alt+. | 向前跳转 |
Shift+F3 | 在光标所在词的后边搜索 |
Shift+F4 | 在光标所在词的前边搜索 |
F12 | 增量搜索 |
Shift+Ctrl+F | 在工程中搜索 |
Shift+F8 | 单词高亮 |
窗口操作快捷键:
快捷键 | 功能 |
---|---|
Ctrl+O | 打开 Project Window |
Alt+F8 | 打开和关闭 Symbol Window |
自定义键 | 打开和关闭 Contex Window |