内核技术点合集
Linux 内核源代码包括三个主要部分:
1. 内核核心代码,包括第 3 章所描述的各个子系统和子模块,以及其它的支撑子系统,例
如电源管理、Linux 初始化等
2. 其它非核心代码,例如库文件(因为 Linux 内核是一个自包含的内核,即内核不依赖其它
的任何软件,自己就可以编译通过)、固件集合、KVM(虚拟机技术)等
2025年06月18日
1. 内核核心代码,包括第 3 章所描述的各个子系统和子模块,以及其它的支撑子系统,例
如电源管理、Linux 初始化等
2. 其它非核心代码,例如库文件(因为 Linux 内核是一个自包含的内核,即内核不依赖其它
的任何软件,自己就可以编译通过)、固件集合、KVM(虚拟机技术)等
2025年06月18日
Surftrace 是由系统运维 SIG 推出的一个 ftrace 封装器和开发编译平台,让用户既能基于 libbpf 快速构建工程进行开发,也能作为 ftrace 的封装器进行 trace 命令编写。
项目包含 Surftrace 工具集和 pylcc、glcc(python or generic C language for libbpf Compiler Collection),提供远程和本地 eBPF 的编译能力。通过对 krobe 和 ftrace 相关功能最大化抽象,同时对各种场景下的追踪能力增强(比如网络协议抓包),使得用户非常快速的上手,对定位问题效率提升 10 倍以上。
2025年06月18日
后记:今天是个小短片漫画,其实主要想说明一个道理:一个干净代码库的关键并不是什么类型的语言,而是维护这个代码库的人和团队,无论是设计得多么良好的代码库,用了多么先进的编程语言,如果守不住当初的原则,最终的结果就是代码腐化。
第一,C语言虽然是面向过程的语言,但是却可以实现面向对象的各个特性。C不是一个面向对象的语言,但是Linux内核却是一个面向对象的程序,到处都能看到虚函数表,内核甚至有元编程。
2025年06月18日
随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。
面对日益庞大的Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选 项,并最终被编译进 Linux 内核。这就需要了解 Linux 的内核配置系统。
众所周知,Linux 内核是由分布在全球的 Linux 爱好者共同开发的,Linux 内核每天都面临着许多新的变化。但是,Linux 内核的组织并没有 出现混乱的现象,反而显得非常的简洁,而且具有很好的扩展性,开发人员可以很方便的向 Linux内核中增加新的内容。原因之一就是 Linux 采用了模块化的内核配置系统,从而保证了内核的扩展性。
2025年06月18日
每天十五分钟,熟读一个技术点,水滴石穿,一切只为渴望更优秀的你!
————零声学院
存储器是一种必须仔细管理的重要资源。在理想的情况下,每个程序员都喜欢无穷大、
快速并且内容不易变(即掉电后内容不会丢失)的存储器,同时又希望它是廉价的。但不幸
的是,当前技术没有能够提供这样的存储器,因此大部分的计算机都有一个存储器层次结构,
2025年06月18日
在Linux内核中,宏定义是一种强大的工具,用于实现代码的模块化和重用。以下是八个具体案例代码,展示了一些高级的宏定义在Linux内核中的应用。
#define container_of(ptr, type, member) \
((type *)((char *)(ptr) - offsetof(type, member)))
Powered By Z-BlogPHP 1.7.4
蜀ICP备2024111239号-43