什麼

2013-07-11 16 views
3

有誰可以給​​我關於struct cdevstruct device之間的差額部分的解釋結構的cdev結構和設備之間的區別?什麼

回答

4

在最低級別,Linux系統中的每個設備都由struct device的實例表示。設備結構包含設備模型核心模擬系統所需的信息。然而,大多數子系統跟蹤關於他們託管的設備的附加信息。因此,設備以裸設備結構來表示是很少見的;相反,該結構像kobject結構一樣,通常嵌入到設備的更高層表示中。 more

struct cdev,但是,是用於由內核表示字符設備內部的結構。 more

+0

謝謝〜多了一個問題,即它是否是更好的''在結構cdev'結構device'embedded? –

+0

'struct device'和'struct cdev'是內核的內部結構,並且相互嵌套意味着您正在修改內核代碼,這會產生嚴重後果。相反,您可以在設備的主要結構中嵌入'struct device'和'struct cdev'。例如[鏈接](http://lxr.free-electrons.com/source/fs/fuse/cuse.c#L56) – microMolvi

+0

另見**器件結構嵌入在** [LDD3](HTTP:// LWN。 net/images/pdf/LDD3/ch14.pdf)第383頁 – microMolvi