首先想请问一下,为什么内核中的ioctl函数需要用到inode数据结构?而file_operations中除了open和release之外的其他函数都不需要inode结构呢?
再一个问题。 在内核执行ioctl函数的时候系统会使用Big Kernel Lock是么?是出于哪些考虑呢?read,write等函数需要么?为什么呢?
最后一个问题。 在2.6.11之后,好像推荐采用unlocked_ioctl替代传统的ioctl函数? unlocked_ioctl函数中没有了inode指针,为什么能够去掉了?如果不用内核锁了,这个函数是怎么实现互斥的呢?
万分感谢!