OracleSolaris 11.2——类似于 Linux procfs 的机制

OracleSolaris 11.2 -- similar mechanism to Linux procfs

在Linux中,通常使用proc FS 作为与内核模块对话、从内核接收统计信息或设置一些标志的方式。在 Solaris 中这些有什么用?

procfs 最初是为了允许访问进程相关信息而设计的。在 Linux,这个目标出轨了,各种与进程无关的伪文件和目录开始出现在那里。通过在使用 sysfs 而不是 procfs.

/sys 中重新定位(其中一些),这正在慢慢得到纠正

procfs 严格限制处理数据的情况下,Solaris 没有这样的问题。 Solaris 和 Linux procfs 实现之间的一个主要区别是 Linux 通常在 Solaris 公开二进制结构的情况下提供纯文本数据。

对于非进程相关的统计信息,常见的 Solaris 界面是 API、kstat(3kstat) which is used by many commands and can also be queried from the shell with the kstat(1) 命令。

使用内核设置标志和 "communicate" 的方式完全取决于需要做什么,没有单一的接口。它还根据 Solaris 版本进行了改进。

您在 Solaris 中所做的是使用 kstats(3kstat) 提供有关您的驱动程序的信息,如@jilliagre 所述。如果你想让你的驱动程序做一些事情,那么你应该通过 ioctl(2) 提供该功能。