數據在硬盤上的存儲
硬盤是現在計算機上最常用的存儲器。我們都知道,計算機之所以神奇,是因為它具有高速分析處理數據的能力。而這些數據都被以文件的形式存儲在硬盤里。不過,計算機可不像人那麼聰明。在讀取相應的文件時,你必須要給出它相應的規則。這就是分區概念的形成。 分區從實質上說就是對硬盤的一種格式化。當我們創建分區時,就已經設置好了硬盤的各項物理參數,指定了硬盤主引導記錄(即MasterBootRecord,一般簡稱為MBR)和引導記錄備份的存放位置。而對于文件系統以及其他操作系統管理硬盤所需要的信息則是通過之後的高級格式化,即Format命令來實現。
硬件分區後,將會被劃分為面、磁道和扇區。需要注意的是,這些只是個虛擬的概念,並不是真正在硬盤上劃道子^_^。先從面說起,硬盤一般是由一片或幾片圓形薄膜疊加而成。我們所說,每個圓形薄膜都有兩個"面"(Side),這兩個面都是用來存儲數據的。按照面的多少,依次稱為0面、1面、2面……由于每個面都專有一個讀寫磁頭,也常用0頭(head)、1頭……稱之。按照硬盤容量和規格的不同,硬盤面數(或頭數)也不一定相同,少的只有2面,多的可達數十面。各面上磁道號相同的磁道合起來,稱為一個柱面(cylinder)(見圖1)。
上面我們提到了磁道的概念。那麼究竟何為磁道呢?大家都知道,讀寫硬盤時,磁頭依靠磁盤的高速旋轉引起的空氣動力效應懸浮在盤面上,與盤面的距離不到1微米(約為頭發直徑的百分之一)。由于磁盤是旋轉的,則連續寫入的數據是排列在一個圓周上的。我們稱這樣的圓周為一個磁道(Track)。(見圖2)如果讀寫磁頭沿著圓形薄膜的半徑方向移動一段距離,以後寫入的數據又排列在另外一個磁道上。
根據硬盤規格的不同,磁道數可以從幾百到數千不等;一個磁道上可以容納數KB的數據,而主機讀寫時往往並不需要一次讀寫那麼多,于是,磁道又被劃分成若干段,每段稱為一個扇區(Sector)。一個扇區一般存放512字節的數據。扇區也需要編號,同一磁道中的扇區,分別稱為1扇區,2扇區。。。。這里需要注意的是,硬盤在劃分扇區時,和一般的軟盤有一定的區別。軟盤的一個磁道中,扇區號依次編排,即2號與1號相鄰,3號與2號相鄰,以此類推。而在硬盤的一個磁道中,扇區號是按照某個間隔跳躍著編排的。我們舉一個例子來說明︰在某個硬盤上,以實際存儲位置而論,2號扇區並不是1號扇區後的第一個,而是第5個,3號扇區又是2號扇區後的第5個,以此類推。這個"5″就是我們說的交叉因子。(見圖3)當然,這個交叉因子的設定並不是絕對的,每個種類的硬盤為根據自身的情況加以變化。選擇適當的交叉因子,可使硬盤驅動器讀寫扇區的速度與硬盤的旋轉速度相匹配,提高存儲數據的速度。
計算機對硬盤的讀寫,處于效率的考慮,是以扇區為基本單位的。即使計算機只需要硬盤上存儲的某個字節,也必須一次把這個字節所在的扇區中的512字節全部讀入內存,再使用所需的那個字節。不過,在上文中我們也提到,硬盤上面、磁道、扇區的劃分表面上是看不到任何痕跡的,雖然磁頭可以根據某個磁道的應有半徑來對準這個磁道,但怎樣才能在首尾相連的一圈扇區中找出所需要的某一扇區呢?原來,每個扇區並不僅僅是由512個字節組成的,在這些由計算機存取的數據的前、後兩端,都另有一些特定的數據,這些數據構成了扇區的界限標志,標志中含有扇區的編號和其他信息。計算機就憑借著這些標志來識別扇區(見圖4)。