深入Linux塊裝置驅動層次之一 整體層次

2021-09-21 00:01:06 字數 478 閱讀 2397

最近在做檔案系統和linux塊裝置相關的工作,需要對檔案系統和底層塊裝置之間的關係和互動有比較深入的了解。筆者參考的書籍有敖青雲所著的《儲存技術原理分析-基於linux2.6核心原**》,同時參考的還有jonathan corbet、alessandro rubini和greg kroah-hartman 一起著作的linux裝置經典書籍《linux裝置驅動edition 3 》、陳學松寫的《深入linux裝置驅動核心機制》.對比了一下,還是敖青雲寫的很儲存結合更緊密一些。整體上《儲存技術原理分析-基於linux2.6核心原**》中對塊裝置的層次劃分很清晰,完整地總結了通用塊層、io排程層和物理塊裝置層之間的關聯。下面是他對塊裝置驅動的層次劃分:

Linux塊裝置驅動

塊裝置提供塊裝置提供裝置的訪問,裝置的訪問,可以隨機的以固定大小的塊傳輸資料,例如我們最為常見的磁碟裝置,當然塊裝置和字元裝置有較大差別,塊裝置有自己的驅動介面。簡單來說,核心決定乙個塊是固定的4096 位元組,當然該值可以隨著依賴檔案系統的變化而改變。塊裝置驅動採用register blkdev向...

linux驅動之塊裝置驅動

塊裝置驅動的系統架構 塊裝置註冊過程 1,註冊裝置塊驅動程式 register blkdev 2,初始化請求佇列 blk init queue 3,指明扇區的大小 blk queue logical block size dev queue,sect size 4,申請乙個gendisk結構,初始化...

LINUX塊裝置驅動 1

編寫塊裝置驅動的關鍵步驟 1 呼叫register blkdev申請或註冊主裝置號及裝置名稱,詳見核心原始碼中該函式的注釋。不過下面這篇文章裡並未用到這一步 2 呼叫blk init queue函式建立並初始化乙個 request queue 結構,該函式需要乙個用來處理請求的do request函...