引言:扇面是磁碟中最小的物理儲存單位,而塊是作業系統最小的邏輯儲存單位。
物理層面,乙個磁碟按層次分為:磁碟組合 -> 單個磁碟 -> 某一盤面 -> 某一磁軌 -> 某一扇區。回顧之前內容,每個磁碟有多條同心圓似的磁軌,磁軌被分割成多個部分。每部分的弧長加上到圓心的兩個半徑,恰好形成乙個扇形,所以叫做扇區。扇區是磁碟中最小的物理儲存單位。
由於扇區數目眾多在定址時比較困難,所以作業系統就將相鄰的扇區組合在一起,形成乙個塊,再對塊進行整體的操作,即塊是作業系統中最小的邏輯儲存單元。這樣可以使作業系統忽略底層物理儲存結構的設計。磁碟塊是作業系統自己「杜撰」的,是乙個虛擬的概念。其大小由作業系統決定,通常乙個塊 = 單個扇區大小 * 2的n次方,其中n是可修改的。
作業系統在對磁碟進行管理時,通常以磁碟塊作為最小單位。而定位乙個磁碟塊則通過磁碟塊位址進行。磁碟塊位址類似於訪問記憶體時需要提供的記憶體位址,作業系統訪問磁碟塊的時候需要提供磁碟塊位址。不過磁碟塊位址比記憶體位址更加複雜,其包含多個部分,具體細節因作業系統的差異而不同。
典型的作業系統都會標明磁軌(磁柱)、盤面(磁頭)、扇面三個引數,以這種方式給出的位址稱為邏輯塊位址(logical block address, lba),這裡之所以用「邏輯」是因為lba不一定與磁碟上面的塊儲存區域的真實實體地址對應;磁碟控制器將負責進行從lba到實體地址的對映。下圖給出就是一種lba位址。
裝置號4
磁頭號4
磁柱號16
扇面號8
扇面計數8
lba用於將磁碟讀寫請求傳送給磁碟控制器。在磁碟讀取請求資料裡,所要讀取資訊的起始位址由磁軌號(磁柱)、扇面號和盤面號(柱頭)組成,而扇面計數則給出了該次磁碟訪問將要讀取的扇面數量。磁碟控制器將這些引數轉換為一系列的底層磁碟操作。再對磁碟進行讀取時,作業系統負責將該數值寫入到磁碟驅動器介面裡制定的i/o埠。另外5個額外的、寬度為乙個位元組的暫存器則用來驅動讀寫命令和狀態資訊。
1、作業系統將要讀取的lba傳送給磁碟驅動器並啟動讀取命令。
2、磁碟驅動器將磁頭移動到正確的位置,並啟動處於制定盤面上的磁頭來搜尋指定的磁軌。在磁頭的移動過程中,讀取磁頭不斷檢查下面的扇面號直到所要求的扇面找到為止。
3、磁碟控制器將扇面資料和ecc(error checking and correcting,錯誤檢查和糾正)資訊傳送到乙個處於磁碟介面的緩衝區。這裡ecc資訊是資料流動動態過程中,進行計算得到的。
4、磁碟驅動器向作業系統發出「資料就緒」訊號。
5、作業系統從磁碟介面的緩衝區讀取資料,既可以按照乙個位元組乙個位元組的方式讀取,也可以啟動dma命令讀取。
4.1、塊、作業系統最小單元
磁碟的原理、物理實現,磁碟控制器是按照扇區這個單位完成資料讀取操作的,故磁碟讀寫基本單位是扇區。扇區數目眾多在定址時比較困難,所以作業系統就將相鄰的扇區組合在一起,形成乙個塊,再對塊進行整體的操作,即塊是作業系統中最小的邏輯儲存單元。檔案系統就是作業系統的一部分,所以檔案系統的最小單位也是塊。
4.2、為什麼磁碟塊大小必須是扇區大小的整數倍呢?
磁碟讀取資料的基本單位就是單個扇區,通常乙個塊 = 單個扇區大小 * 2的n次方。n是整數,磁碟的io速度更快,會更合理的利用資源。否則會對扇區進行分割。
4.3、4k對齊的概念
隨著時代發展,硬碟容量不斷擴充套件,使得之前定義的每個扇區512位元組不再是那麼的合理,於是改為每個扇區4096 個位元組,也就是現在常說的「4k扇區」。隨著ntfs成為了標準的硬碟檔案系統,其檔案系統的預設分配單元大小(塊)也是4096位元組,為了使塊與扇區相對應,即使物理硬碟分割槽與計算機使用的邏輯分割槽對齊,保證硬碟讀寫效率,所以就有了「4k對齊」的概念。
新標準的」4k扇區」的硬碟廠商為了保證與作業系統相容,也將扇區模擬成512b,會預設定義為4096位元組大小為乙個塊,但因為其引導區占用了乙個磁軌共63個扇區,真正的檔案系統在63號扇區之後。
——————————————————————————————————————
參考資料:
1、《作業系統之哲學原理》 鄒恒明著
2、電腦中常用的「扇區」、「簇」、「塊」、「頁」等概念
3、扇區和磁碟塊的區別是什麼
檔案系統中的磁碟塊
引言 扇面是磁碟中最小的物理儲存單位,而塊是作業系統最小的邏輯儲存單位。物理層面,乙個磁碟按層次分為 磁碟組合 單個磁碟 某一盤面 某一磁軌 某一扇區 回顧之前內容,每個磁碟有多條同心圓似的磁軌,磁軌被分割成多個部分。每部分的弧長加上到圓心的兩個半徑,恰好形成乙個扇形,所以叫做扇區。扇區是磁碟中最小...
檔案系統 磁碟管理 三 磁碟管理
df 顯示整個磁碟分割槽磁碟塊的使用情況 a 列出所有的檔案系統,包括系統特有的 proc等檔案系統 k 以kb的容量顯示各檔案系統 m 以mb的容量顯示各檔案系統 h 將容量結果以易讀的容量格式顯示出來 t 連同該分割槽的檔案系統名稱顯示出來 i 顯示inodes的使用情況 p 同一行顯示內容,不...
三 磁碟與檔案系統篇(1) 初識檔案系統
1.檔案系統詳解 linux檔案系統主要是ext2 ext3 ext4等等,它主要是管理系統的資料,資料是儲存在磁碟裡面的,當磁碟被分割槽 格式化後就可以正常的訪問資料了,其實格式化就是向分割槽的部分寫入檔案系統,在檔案系統的概念中,資料是怎麼儲存的,還有那些檔案的屬性 許可權等又是儲存在什麼地方的...