首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Linux内核开发
Linux内核拾遗
创建于2023-01-19
订阅专栏
Linux内核开发相关知识总结和分享
暂无订阅
共19篇文章
创建于2023-01-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Linux设备驱动系列(17) —— 内核线程
本文将重点介绍内核线程,涵盖Linux中进程和线程的概念以及它们的区别和各自的优势,同时还将深入探讨内核线程编程技术。
Linux设备驱动系列(16) —— 链表Linked List
链表是一种数据结构,由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针。链表可以动态增长或缩小,适合频繁插入和删除操作。常见的类型有单向链表、双向链表和循环链表。虽然访问速度较慢,但灵活性和
Linux设备驱动系列(15) —— 创建自定义工作队列
前面介绍了Linux Workqueue的其中一种实现方式——使用全局工作队列,本文介绍另一种Linux Workqueue的实现方式,即创建自定义的工作队列。
Linux设备驱动系列(14) —— 使用全局工作队列
中断下半部作为处理中断的一种机制,用于延迟执行较复杂或耗时的任务,以提高系统的中断处理效率。本文将对工作队列的工作原理和基本用法作详细的介绍。
Linux设备驱动系列(13) —— 系统中断编程
和普通的内核编程不同,中断代码的编写有如下的特点(或者需要注意的地方): 1. **避免睡眠:**中断处理程序不能调用会导致睡眠的函数。 2. **使用自旋锁:**进入临界区时,用自旋锁代替互斥锁,
Linux设备驱动系列(12) —— 系统中断概述
中断是操作系统的核心机制,操作系统是通过中断来响应和处理各种事件和请求,包括硬件设备和软件请求,以响应系统事件、管理系统资源、实现多任务处理和处理异常情况等,并确保系统的稳定性和可靠性。
Linux设备驱动系列(11) —— sysfs文件系统
Sysfs(System Filesystem)是Linux内核提供的一种虚拟文件系统,用于向用户空间公开有关设备和驱动程序的信息。它类似于/proc文件系统,但是专注于设备驱动程序而非进程信息。
Linux设备驱动系列(十)——等待队列Waitqueue
Waitqueue作为一种重要的同步机制,用于实现多个进程之间的协作。等待队列允许一个或多个进程等待某个条件成立,然后在条件满足时被唤醒。这种机制通常用于进程间的同步和通信。
Linux设备驱动系列(九)——procfs文件系统
procfs是一种特殊的文件系统,用于提供关于正在运行的进程和系统内核的信息。Linux procfs被挂载在/proc目录下。通过查看/proc目录下的文件和子目录,可以获取系统进程的各种信息。
Linux设备驱动系列(八)——ioctl系统调用
IOCTL全称”输入和输出控制“,它通常用来与设备驱动程序通信。系统调用作为通用的接口,无法满足所有设备操作需求,这时候可以通过实现设备驱动的ioctl系统调用,处理一些系统调用没有实现的设备特定操作
Linux设备驱动系列(七)——真实的设备驱动程序
本文将结合前面介绍过的设备驱动知识,来实现一个真实且完整的设备驱动,包含用户空间程序和内核驱动程序。
Linux设备驱动系列(六)——文件操作
当需要对设备执行打开/关闭和读写操作时,我们需要在设备驱动程序中注册一些结构,主要是struct cdev和文件操作struct file_operations。
Linux设备驱动系列(五)——字符驱动设备文件
设备文件不是普通的文件,它提供了一种便利的方式来访问系统资源,而不需要应用开发者了解底层设备的工作原理。与大多数Unix系统一样,设备驱动程序本身就是Linux内核的一部分。
Linux设备驱动系列(四)——设备号
要创建特殊文件,我们需要了解设备驱动程序中的主设备号和次设备号(Major && Minor Number)。 Linux内核按照"<major>:<minor>"方式来表示一个字符设备或者块设备。
Linux设备驱动系列(三)——参数传递
在C语言应用程序中,可以通过在main函数定义中添加argc和argv参数来获取用户的输入。类似的,Linux设备驱动程序同样可以传递参数。本文将介绍Linux设备驱动程序中参数定义以及使用方法。
Linux设备驱动系列(二)——第一个设备驱动程序
学习编写第一个简单的设备驱动程序。和普通的应用程序一样,内核模块也有相应的“main 函数”,它作为内核模块代码执行的起始点。此外,内核模块还有对应结束点,用于在内核模块退出的时候执行代码。
Linux 设备驱动系列(一)——设备驱动介绍
设备驱动是一类特殊的系统软件,它用于使能与硬件设备的交互,如若缺少特定的设备驱动,相应的硬件设备也无法工作。
Linux XArray详解
Linux XArray是一种高效的键值对数据结构,旨在解决大规模数据集上的高并发访问问题。它被广泛应用于Linux内核的各个子系统,如文件系统、网络子系统和内存管理等。
Linux Radix Tree 详解
Linux内核提供了许多不同的库和函数来实现不同的数据结构和算法,其中基数树(Radix Tree)作为一种常见的数据结构,由于其查找速度快、节省存储空间等特性,它在Linux内核中有着广泛的应用。