linux核心之裝置I O塊

2021-08-09 04:28:50 字數 418 閱讀 5357

為了優化定址操作,核心既不會簡單的按請求接收次序,也不會立即將請求提交給磁碟。相反,核心在提交前,先執行名為合併與排序的預操作,這種預操作可以極大的提高系統的整體效能。在核心中負責提交i/o請求的子系統統稱為i/o排程程式。

i/o排程程式將磁碟i/o資源分配給系統中掛起的塊i/o請求。具體的說,這種資源分配是通過將請求佇列中掛起的請求合併和排序來完成。這裡區分i/o排程程式和程序排程程式。程序排程程式的作用是將處理器資源分配給系統中的執行程序。這兩種子系統看起來相似,但並不相同。程序排程程式和i/o排程程式都是將乙個資源虛擬給多個物件,對程序排程程式來說,處理器被虛擬並被系統中的執行程序共享。這種虛擬提供給使用者是多工和分時作業系統,像unix系統。相反,i/o排程程式虛擬裝置給多個磁碟請求,以便降低磁碟定址時間,確保磁碟效能的最優化。

i/o排程程式是負責對排程請求的排序和合併。

linux核心設計與實現 塊I O層

小結 1.塊i o層的資料結構 bio 表示活動的i o操作 buffer head 表示塊到頁的對映 request 具體的i o請求 2.i o請求的簡單宣告歷程 請求佇列的產生 處理 排程 3.i o排程程式 linus deadline cfq noop 14.4 請求佇列 14.5 i o...

核心摘要 塊裝置驅動

第十四章 塊裝置驅動 本章講述的是塊裝置的i o驅動。塊裝置的關鍵點是在cpu和匯流排讀寫資料所使用的時間和硬碟速度上的不同。塊裝置平均訪問時間很高。每個操作需要幾毫秒才能完成,主要因為磁碟控制器必須把磁碟頭從磁碟表面移到記錄資料的確切位置。然而,一旦磁碟頭準確到位了,資料傳輸可以維持在較快的速度。...

linux驅動之塊裝置驅動

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