`DMAengine (Direct Memory Access Engine)` 是 Linux 内核中的一个重要框架,用于提供统一的 DMA 子系统接口。DMA 技术允许外设直…
Linux 内核中的 `list.h` 提供了一个 双向链表 实现,包含了一系列 宏和函数,用于高效操作链表。以下是常用的 `list_head` 相关函数和宏,并附带详细介绍。 …
## 步骤一 在运行驱动的目标机 ubuntu 系统中,新建目录用于下载内核代码 使用命令 ```shell apt source linux-image-unsigned-$(u…
`OpenGL`、`OpenCL` 和 `Vulkan` 都是由不同组织提供的图形和计算接口(API),它们在用途、性能、复杂性等方面有所不同。下面是它们的主要区别: ## **O…
在 Linux Kernel 的内存管理体系里,Fixmap(固定映射)可是个相当关键的角色。当系统启动,内核初始化前期,内存管理系统还在 “筹备” 阶段,大部分物理内存尚未建立页…
在 Linux 内核中,vmalloc_to_page 及相关的 page 系列函数用于处理内核虚拟地址与物理页的映射关系。这些函数在管理 vmalloc 分配的虚拟地址、访问物理…
在 `Linux` 驱动开发中,`register_shrinker` 是内核中与内存管理相关的函数,通常用于注册内存回收机制。它允许驱动或模块向内核注册一个缩减器(`shrink…
这两个函数都与内存映射`mmap`相关,主要用于将内核中的内存映射到用户空间。它们的功能略有不同,适用的场景也不尽相同。 ## vmf_insert_pfn `vmf_insert…
在 `Linux` 内核中,内存分配是一个核心任务,系统提供了多个 API 函数来分配不同类型的内存。这些函数包括 `kmalloc`、`vmalloc`、`kvmalloc` 和…