首页
›
Linux内核与驱动
›
024-内核工程
›
《字符设备驱动开发:内核工程ioctl与poll接口实现》
VIP10
本课程属于:024-内核工程
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
字符设备驱动开发:内核工程ioctl与poll接口实现
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
字符设备驱动概述
Linux设备驱动分类 · 字符设备特点 · 驱动与应用程序交互模型
字符设备驱动概述
Linux
02
内核模块基础
模块加载与卸载 · module_init/module… · LICENSE与作者信息
内核模块基础
模块加载
03
设备号管理
主设备号与次设备号 · 静态分配与动态分配 · register_chrdev_re…
设备号管理
主设备号
04
cdev结构体
cdev初始化 · cdev_add与cdev_del · 设备操作集file_operatio…
cdev
结构体
05
file_operations接口
open · release · read
file
operations
06
用户空间与内核空间数据交换
copy_from_user与cop… · 访问合法性检查
用户空间
内核空间数据交换
07
ioctl系统调用概述
ioctl作用 · cmd命令码格式 · 方向与大小编码规则
ioctl
系统调用概述
08
ioctl命令码定义
_IO/_IOR/_IOW/_IOW… · 自定义命令码示例
ioctl
命令码定义
09
ioctl实现步骤
file_operations中un… · switch-case处理
ioctl
实现步骤
10
ioctl参数传递
用户指针处理 · 数据拷贝 · 错误码返回
ioctl
参数传递
11
ioctl典型应用场景
设备配置 · 状态查询 · 寄存器读写
ioctl
典型应用场景
12
ioctl安全性考虑
权限检查 · 缓冲区溢出防护 · 命令码校验
ioctl
安全性考虑
13
poll机制原理
select/poll/epoll用… · 内核poll回调函数
poll
机制原理
14
poll_wait函数
等待队列初始化 · poll_wait调用 · 事件掩码返回
poll
wait
15
等待队列基础
wait_queue_head_t · DECLARE_WAIT_QUEUE… · wake_up系列函数
等待队列基础
wait
16
阻塞与非阻塞I/O
O_NONBLOCK标志 · read/write中的阻塞实现
I/O
阻塞
17
poll与等待队列结合
驱动中poll实现模板 · 事件触发与唤醒
poll
等待队列结合
18
多设备poll支持
同时监控多个文件描述符 · 驱动侧协作
poll
多设备
19
ioctl与poll协同设计
控制命令改变设备状态 · poll响应状态变化
ioctl
poll
20
驱动调试技术
printk使用 · 动态调试 · ioctl测试工具编写
驱动调试技术
printk
21
用户态测试程序
open/close/ioctl/p… · 错误处理
用户态测试程序
open/close/i…
22
内核内存管理基础
kmalloc/kfree · GFP标志 · 内存泄漏防范
内核内存管理基础
kmalloc/kfre…
23
并发与竞态控制
自旋锁 · 互斥锁 · 原子操作在驱动中的应用
并发
竞态控制
24
设备树与平台设备
设备树简介 · platform_driver与pl…
设备树
平台设备
25
中断与poll结合
硬件中断触发 · 中断处理函数唤醒等待队列
poll
结合
26
驱动模块参数
module_param · 参数传递与sysfs接口
驱动模块参数
module
27
procfs与debugfs
创建/proc或/sys/debug…
procfs
debugfs
28
驱动热插拔支持
udev规则 · 自动创建设备节点
驱动热插拔支持
udev
29
性能优化与注意事项
减少上下文切换 · 批量数据传输 · 锁粒度优化
性能优化
注意事项
30
综合实战
完整字符设备驱动(ioctl+ po…
综合实战
ioctl+
所属VIP或分类
同VIP:Linux内核RCU并发故障排查与死锁分析
同VIP:Linux内核崩溃转储与故障分析:kdump与crash
同VIP:Linux启动故障排查与initramfs根文件系统适配