文件系統中的邏輯塊、物理塊和扇區之間的關係

原文鏈接:文件系統中的邏輯塊、物理塊和扇區之間的關係


扇區(sector):硬件(磁盤)上的最小的操作單位,是操作系統和塊設備(硬件、磁盤)之間傳送數據的單位。


          block由一個或多個sector組成,文件系統中最小的操作單位;OS的虛擬文件系統從硬件設備上讀取一個block,實際爲從硬件設備讀取一個或多個sector。對於文件管理來說,每個文件對應的多個block可能是不連續的;block最終要映射到sector上,所以block的大小一般是sector的整數倍。不同的文件系統block可使用不同的大小,操作系統會在內存中開闢內存,存放block到所謂的block buffer中。在Ext2中,物理塊的大小是可變化的,這取決於在創建文件系統時的選擇,之所以不限制大小,也正體現了Ext2的靈活性和可擴充性。通常,Ext2的物理塊佔一個或幾個連續的扇區,顯然,物理塊的數目是由磁盤容量等硬件因素決定的。


        具體文件系統所操作的基本單位是邏輯塊,只在需要進行I/O操作時才進行邏輯塊到物理塊的映射,這顯然避免了大量的I/O操作,因而文件系統能夠變得高效。邏輯塊作爲一個抽象的概念,它必然要映射到具體的物理塊上去,因此,邏輯塊的大小必須是物理塊大小的整數倍,一般說來,兩者是一樣大的。


        通常,一個文件佔用的多個物理塊在磁盤上是不連續存儲的,因爲如果連續存儲,則經過頻繁的刪除、建立、移動文件等操作,最後磁盤上將形成大量的空洞,很快磁盤上將無空間可供使用。因此,必須提供一種方法將一個文件佔用的多個邏輯塊映射到對應的非連續存儲的物理塊上去,Ext2等類文件系統是用索引節點解決這個問題的。


        一組請求的字節到物理塊的映射過程示意圖。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章