Izzo Asked: 2022-04-11 06:30:24 +0800 CST2022-04-11 06:30:24 +0800 CST 2022-04-11 06:30:24 +0800 CST 在设备驱动程序编程的上下文中,结构“cdev”和“inode”有什么区别? 772 我目前正在学习操作系统课程中的设备驱动程序,并且对“inode”结构和“cdev”结构之间的区别感到困惑。有人可以澄清这两种结构之间的区别以及它们要实现的目标吗? devices inode 1 个回答 Voted Best Answer Stephen Kitt 2022-04-11T08:28:04+08:002022-04-11T08:28:04+08:00 你的问题没有提到任何具体的背景;这个答案描述了struct cdev和struct inode。 两者本质上是不同的。 struct cdev代表一个字符设备,可以访问驱动程序;它指向字符设备支持的各种操作的实现。 struct inode表示一个 inode,以及内核使用它和跟踪它所需的所有信息。inode 提供对文件的访问,并包含文件的元数据:它的所有权、权限、ACL、时间戳、大小等。内核需要知道它与哪个文件系统相关联,它支持的操作的实现在哪里,它是什么状态是等 如果 inode 本身对应于字符设备,则a的实例struct inode可以包含指向 a 的指针(例如,对应于 的 inode ,一旦在内核中实例化,由指向相关字符设备的 a 表示)。struct cdev/dev/nullstruct inodei_cdev
你的问题没有提到任何具体的背景;这个答案描述了
struct cdev
和struct inode
。两者本质上是不同的。
struct cdev
代表一个字符设备,可以访问驱动程序;它指向字符设备支持的各种操作的实现。struct inode
表示一个 inode,以及内核使用它和跟踪它所需的所有信息。inode 提供对文件的访问,并包含文件的元数据:它的所有权、权限、ACL、时间戳、大小等。内核需要知道它与哪个文件系统相关联,它支持的操作的实现在哪里,它是什么状态是等如果 inode 本身对应于字符设备,则a的实例
struct inode
可以包含指向 a 的指针(例如,对应于 的 inode ,一旦在内核中实例化,由指向相关字符设备的 a 表示)。struct cdev
/dev/null
struct inode
i_cdev