字符设备驱动与主次设备号详解
1. scull 系列设备介绍
- scull0 到 scull3 :这四个设备由全局且持久的内存区域组成。全局意味着若设备被多次打开,其内部的数据会被所有打开它的文件描述符共享;持久则表示设备关闭再重新打开时,数据不会丢失。可以使用如
cp、cat以及 shell I/O 重定向等常规命令对其进行访问和测试。 - scullpipe0 到 scullpipe3 :四个 FIFO(先进先出)设备,其行为类似管道。一个进程写入的数据可由另一个进程读取。若多个进程读取同一设备,它们会竞争数据。该设备的内部机制展示了如何在不使用中断的情况下实现阻塞和非阻塞的读写操作。
- scullsingle、scullpriv、sculluid、scullwuid :这些设备与 scull0 类似,但在打开权限上有一些限制。
scullsingle一次只允许一个进程使用驱动;scullpriv对每个虚拟控制台(或 X 终端会话)是私有的,因为每个控制台/终端上的进程会获得与其他控制台不同的内存区域;sculluid和scullwuid可以被多次打开,但一次仅允许一个用户打开,前者在设备被其他用户锁定时返回“设备忙”错误,后者实现阻塞式打开。
2. 主次设备号
字符设备通过文件系统中的名称进行访
超级会员免费看
订阅专栏 解锁全文
273

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



