Scull是一个操作内存区域的字符设备驱动程序,这片区域被当作一个设备。
scull0-scull3
分别由一个全局持久的内存区域组成。“全局”:如果设备被多次打开,则打开它的所有文件描述符可共享该设备所包含的数据。 “持久”:如果设备关闭后再打开,则其中的数据不会丢失。可以使用命令:cp、cat、shell的I/O重定向等来访问和测试这个设备。
scullpipe0-scullpipe3
与管道类似。一个进程读取另一个进程写入的数据。Scullpipe的内部实现将说明如何实现阻塞型和非阻塞型读写,而无需借助于中断
Scullsingle(一次只允许一个进程使用该驱动)
Scullpriv(每个虚拟控制台是私有的,每个控制台获取一块与其它控制台不同的内存区)
Sculluid & Scullwuid(每次由一个用户打开,可多次打开。如果一个用户所定了,则sculluid返回”Device Busy”的错误,而scullwuid则实现了阻塞型的open)
这些设备与scull0相似,但允许open操作方面有一些限制,他们增加了“策略”而不是“机制”