Linux设备驱动程序(二) 0.01

    Scull是一个操作内存区域的字符设备驱动程序,这片区域被当作一个设备。

scull0-scull3

    分别由一个全局持久的内存区域组成。“全局”:如果设备被多次打开,则打开它的所有文件描述符可共享该设备所包含的数据。 “持久”:如果设备关闭后再打开,则其中的数据不会丢失。可以使用命令:cpcatshellI/O重定向等来访问和测试这个设备。

scullpipe0-scullpipe3

    与管道类似。一个进程读取另一个进程写入的数据。Scullpipe的内部实现将说明如何实现阻塞型和非阻塞型读写,而无需借助于中断

 

Scullsingle(一次只允许一个进程使用该驱动)

Scullpriv(每个虚拟控制台是私有的,每个控制台获取一块与其它控制台不同的内存区)

Sculluid & Scullwuid(每次由一个用户打开,可多次打开。如果一个用户所定了,则sculluid返回”Device Busy”的错误,而scullwuid则实现了阻塞型的open

    这些设备与scull0相似,但允许open操作方面有一些限制,他们增加了“策略”而不是“机制”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值