1. 程式人生 > >Linux塊裝置驅動(一)————塊裝置的結構及磁碟的結構

Linux塊裝置驅動(一)————塊裝置的結構及磁碟的結構

塊裝置的結構及磁碟的結構
這裡寫圖片描述

1、扇區
磁碟上的每個磁軌被等分成若干個弧段,這些弧段便是磁碟的扇區。磁碟驅動器在向磁碟讀寫資料時,都是以扇區為單位。一般為512個位元組,但也有1024或者2048個位元組的。注意,即使程式只讀取一個位元組的資料,也應該傳遞一個扇區的資料。Linux系統中,扇區的大小都是512位元組。核心模組中都是以512位元組來定義扇區的。如果裝置的扇區大小為2048位元組,核心將其看成4個連續的扇區。
2、塊
扇區是硬體裝置傳遞資料的基本單位,硬體一次傳送一個扇區到記憶體中。塊是虛擬檔案系統傳遞資料的基本單位。塊的大小必須是扇區大小的整數倍,且不能超過一個頁的大小。
3、段
一個段就是一個記憶體頁或者記憶體頁的一部分。段的大小隻與塊有關,必須是塊的整數倍,且不超過一頁。

這裡寫圖片描述

4 扇區、塊和段的關係
扇區是由物理磁碟的機械特性決定;塊緩衝區由核心程式碼決定;段是由快緩衝區決定,是快緩衝區大小的倍數,但不超過一頁。
說明: clipboard.png
這裡寫圖片描述