深入探索Schar设备驱动及其相关特性
1. Schar的轮询机制
Schar的轮询机制主要通过检查 schar_pool 变量来确定设备的读写状态。以下是相关代码:
/* if the pool contains data, a read will succeed */
if (schar_pool > 0)
mask |= POLLIN | POLLRDNORM;
/* a write always succeeds */
mask |= POLLOUT | POLLWRNORM;
return mask;
这里的 POLLIN 和 POLLRDNORM 表示设备可以无阻塞地提供数据以供读取,而 POLLOUT 和 POLLWRNORM 表示设备可以无阻塞地接受数据写入。 POLLERR 则表示发生了错误。
2. 读写Schar设备的实践
在对Schar设备进行读写操作之前,我们需要完成以下步骤:
1. 创建特殊文件 :使用 mknod 命令创建一个字符特殊文件,主设备号为42,次设备号为0。
# mknod /dev/schar c 42 0
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



