LINUX內核相關模塊分析的說明與規劃

不覺間已經在頭條更新了幾個LINUX內核模塊的分析文檔,為了讓自己持續進行分析,有必要對分析文檔進行規劃。說明已進行的分析模塊以及將要進行分析的模塊。

本次分析文章的輸出主要從幾個方面推進:

一、LINUX VFS模塊分析(已完結)

主要分析LINUX VFS模型,包括VFS與進程模塊的關聯,系統調用實現(open、read、write等)、文件系統的註冊等等,目前已完成的分析內容如下:


《 》

《 》

《 》

《 》

《 》

《 》

《 》

《 》

《 》

《 》

《 》

二、設備文件系統分析(已完結)

在理解LINUX VFS的基礎上,針對具體的文件系統進行分析,此處主要分析設備文件系統devtmpfs,在目前的內核中雖然還存在設備文件系統模塊,但大多數的系統均不會選擇該內核模塊,而是藉助sysfs的uevent、udev、mdev,通過在用戶層調用mknod接口實現inode的創建,而設備文件所依附的文件系統只要支持對設備文件的處理即可(比如ramfs等即可)。但為了理解原理此處還是分析了設備文件系統。目前完成的分析文檔如下:

《 》

三、sockfs分析(已完結)

在分析完devtmpfs之後,針對文件系統中比較特殊的模塊socket,分析sockfs的實現,而針對sockfs模塊,主要分析sockfs的註冊及掛載、sockfs相關協議簇以及具體協議的抽象與架構等。分析完這個文件系統,我們應該知道vfs與sockfs模塊的關聯等,同時也解決了我的一個疑問:sockfs既然也是文件系統,為什麼我們在文件系統中看不到socket對應的文件呢?(因為其目錄dentry只要不提供lookup等接口,我們就獲取不到相應的文件了)。目前已完成的內容如下:

《 》

《 》

《 》

《 》

四、sysfs文件系統分析(已完結)

在分析完sockfs後,接著就開始分析sysfs,因sysfs與linux設備驅動模型有很大關聯,因此若要理解設備驅動模型,則最好對sysfs文件系統有了解,針對sysfs文件系統主要包括文件系統註冊、文件創建及目錄創建以及文件相應的讀寫系統調用接口等。目前已完成的內容如下:

《 》

《 》

《 》

《 》

《 》

五、設備驅動模型分析(已完結)

在熟悉了sysfs的基礎上,我開始了設備驅動模型的分析,目前該模塊也已經完成,主要的分析如下:

《 》

《 》

《 》

《 》

《 》

《 》

六、PLATFORM模塊分析(已完成)

在完成了設備驅動模型分析後,我們就針對內核中如何使用設備驅動模型的部分進行實例分析,首先就分析PLATFORM模塊,包括總線註冊、設備註冊、驅動註冊等

《 》

七、I2C模塊分析(已完成)

此模塊可能會劃分幾個部分分析,目前規劃如下:

《 》

《 》

《 》

《 》

《 》

八、SPI模塊分析(待更新)

此模塊可能也會劃分幾個部分分析,規劃如下:

《SPI總體框架分析》

《SPI Master分析》

《SPI device and driver分析》

《SPI通用接口分析(供內核啟動模塊調用的讀寫接口等)》

九、混雜設備模塊分析(待更新)

十、看門狗模塊分析(待更新)

十一、LINUX MTD模塊分析(待更新)

此處也可能會劃分多個模塊

十二、終端設備驅動分析(待更新)

十三、字符設備模塊分析(待更新)

十四、PCI設備驅動模塊分析(待更新)

目前暫且規劃如此,後續會不斷更新該文中的鏈接


分享到:


相關文章: