linux

简单字符设备驱动程序

由 孙张品 | 3800字 | 阅读大约需要8分钟 | 归档于linux

2020年11月23日

本文主要讨论操作系统究竟如何与设备进行通信,以编写一个字符驱动程序为主线,从用户进程–>系统调用–>文件系统–>驱动程序–>设备控制器–>设备这几个方面,结合程序何内核源码,探索操作系统与驱动程序的奥秘。

继续阅读

linux中对Task_struct结构体的注释

由 陈小龙 | 6600字 | 阅读大约需要14分钟 | 归档于linux

2020年10月5日

本文主要对linux内核中的task_struct结构体进行成员的分析,主要包括调度的数据成员、进程队列指针、进程标识、进程队列的全局变量等13个部分。

继续阅读

linux中编译C/C++指定头文件和链接库的搜索路径

由 陈小龙 | 1900字 | 阅读大约需要4分钟 | 归档于linux

2020年10月4日

本文主要介绍了C/C++头文件#include的搜索路径、linux系统默认头文件存放的路径、在编译时静态链接、动态链接的搜索路径及搜索顺序,也可以自己添加文件的路径使源代码能够生成对应的目标文件。

继续阅读

linux内核空间与用户空间信息交互方法

由 梁金荣整理 | 8000字 | 阅读大约需要16分钟 | 归档于linux

2020年8月2日

在进行设备驱动程序,内核功能模块等系统级开发时,通常需要在内核和用户程序之间交换信息。Linux提供了多种方法可以用来完成这些任务。本文总结了各种常用的信息交换方法,并用简单的例子演示这些方法各自的特点及用法。其中有大家非常熟悉的方法,也有特殊条件下方可使用的手段。通过对比明确这些方法,可以加深我们对Linux内核的认识,更重要的是,可以让我们更熟练驾御linux内核级的应用开发技术。

继续阅读

Applying Patches To The Linux Kernel

由 梁金荣整理 | 3400字 | 阅读大约需要7分钟 | 归档于linux

2020年8月2日

A frequently asked question on the Linux Kernel Mailing List is how to apply a patch to the kernel or, more specifically, what base kernel a patch for one of the many trees/branches should be applied to. Hopefully this document will explain this to you.

继续阅读

How to do Linux kernel development - take 3 (中文版)

由 梁金荣整理 | 8000字 | 阅读大约需要16分钟 | 归档于Linux

2020年7月17日

这篇文章将是这个话题的最权威的文档。它将教你如何成为一个Linux内核开发者以及学会如何和Linux内核社区一起工作。它不包含任何有关内核编程的技术细节,但是会帮你在这方面指明方向。

继续阅读