磁盤知識詳解

磁盤的物理結構  

    一個磁盤驅動器兩個主要的移動部件;一個是磁盤片組合(disk assembly) ,另一個是磁頭組合(head assembly)。磁盤片組合由一個或多個圓盤(platter)組成,它們圍繞着一根中心主軸旋轉。圓盤的上表面和下表面塗覆了一薄層磁性材料,二進 制位被存儲在這些磁性材料上。其中,0和1在磁材料中表現爲不同的模式。      
    磁盤被組織成磁道(track),磁道是單個盤片上的同心圓。所有盤面上半徑相同的磁道構成了柱面(cylinder),從磁盤的頂視圖可以看到,磁道佔 據大部分盤面,最靠近主軸的區域除外。沿着磁道的數據密度大於沿着半徑的數據密度。在2008年,一個典型的磁盤上每英寸有大約100 000個磁道,但是沿着磁道每英寸能夠存儲100萬個二進制位。 

磁盤結構  
    磁道被組織成扇區(sector)。扇區是被間隙(gap)分割的圓的片段,間隙未被磁化爲0或1    
    雖然圖片中顯示每一個磁道有相同的扇區數,但實際上,每個磁道的扇區數通常是不同的,靠外圈磁道的扇區數比靠內圈磁道的扇區數多。就讀寫磁盤而論,扇區是 不可分割的單位;就磁盤錯誤而論,它也是一個不可分割的單位。倘若一部分磁化層被以某種方式損壞,以至於它不再能存儲信息,那麼那些包含這個部分的整個扇 區也不能再使用。間隙大約佔整個磁道的10%,用於幫助標識扇區的起點。通常,在磁盤與主存之間所傳輸數據的邏輯單元稱爲塊,其由一個或多個扇區所組成。    
    第二個可移動部件是磁頭組合,它承載着磁頭。每一個盤面有一個磁頭,它極其貼近地懸浮在盤面上,但是絕對不與盤面接觸(否則就要發生“頭損毀”,盤片被破 壞)。磁頭讀出經過它下面的盤面的磁方向,也能改變其磁方向,以便在磁盤上寫信息。每個磁頭被固定在一個磁頭臂上,所有盤面的磁頭隨着磁頭臂一同移進移 出,磁頭臂是固定的磁頭組合的一部分。    
    很顯然,計算整個磁盤的容量的算法是:盤面數X磁道數X扇區數X扇區字節數

                                磁盤的邏輯結構

要組織磁盤上存儲的數據,使得可以方便的存儲和訪問,就要實現數據的定位。數據的定位主要有兩種方式:CHS地址LBA線性地址

CHS地址

    早期硬盤存儲空間採用3維地址結構描述:

    C=Cylinder(柱面。若干盤體重疊,相同的磁道(track上)構成的一個立面體)

    H=Head(磁頭。一張盤有兩面(side),每面一個磁頭)

    S=Sector(扇區。盤體上的圓形軌跡爲磁道,把磁道等分爲若干存儲區域)

    磁盤的容量=柱面總數×磁頭總數×每道扇區總數×每扇區容量(512byte)

LBA地址

    LBA是邏輯塊地址的簡稱,它是一種線性地址結構,它其實是由CHS計算的扇區編號順序編址,即0柱0面1扇區爲LBA 0扇區。現在的硬盤廠家爲了保持兼容性,仍然提供了虛擬的CHS參數,可在BIOS設置中看到。對硬盤的數據訪問是靠系統調用INT 13H中斷程序實現的,它將欲訪問的數據地址傳遞給硬盤接口電路(ATA接口)完成讀寫操作。

528MB的限制:早期的硬盤的CHS參數被限制爲:磁頭數最大16,柱面數最大1024,扇區最大63,每扇區字節數爲512字節。因此1024×16×63×512B≈528MB。

8GB容量限制:將柱面數增加到16384,其他不變,共計24bit,則硬盤容量最大爲:16384×16×63×512B≈8.4GB。

32GB容量限制:硬盤採用了虛擬CHS值,使得柱面數爲65535,其他不變,共計26bit,這樣,磁盤的總容量最大爲: 65535×16×63×512B≈32GB。 
137G  容量限制:由於普遍使用了LBA尋址模式和虛擬CHS參數,將扇區數進一步增加爲255,共計28位,將其乘積作爲LBA值。這樣系統使用28位的LBA參數,約計137GB。

                                   磁盤的存儲結構

    剛剛從廠商處購來的新硬盤既無任何數據,也不能寫入任何數據,必須先進行低級格式化,FDISK 分區,FORMAT 高級格式化後方可使用。對硬盤的這一系列初始化工作,稱之爲硬盤準備。過程如下:低級格式化---------------FDISK 分區-------------------FORMAT 高級格式化。    
(1)低級格式化:磁盤爲了達到隨機存取的目的,需要在磁盤上劃 分出磁道,然後又在磁道劃分出扇區,每個扇區以扇區間隙、同步引導字節和扇區編號作爲扇區的起始,然後纔是扇區的內容,後面還有校驗標記。計算機就是憑藉 這些標記信息來識別扇區的。低級格式化就是在磁道上標上這些標記而已。所以低級格式化的操作實際上僅僅是一個簡單的寫過程,寫的不是數據而是標記。同時低 級格式化還會剔出壞磁道。    
(2)FDISK分區:允許整個物理硬盤在邏輯上劃分成最多4個主分區(其中可以有一個擴展分區),以實現多 個操作系統共享硬盤空間。在建立了擴展分區的前提下,可以將擴展分區劃分成一個或多個邏輯分區。在硬盤上建立分區表的同時,FDISK 會把主引導記錄MBR 寫到硬盤的主引導記錄(柱面0,磁頭0,扇區1),並激活一個用戶指定的主分區。下面要特別介紹一下主引導記錄MBR : 
     MBR 稱爲硬盤主引導記錄。它是在分區時由FDISK 建立在硬盤柱面0,磁頭0,扇區1 上的,總共佔用512 個字節,包括一小段執行代碼(主引導代碼)、磁盤特徵和硬盤分區表。主引導記錄(以及後面介紹的引導扇區)結束的兩個字節必須是引導自舉標記 0x55AA。磁盤特徵位於0x01B8, 指定磁盤操作系統。 
     主引導代碼實現下列功能:   a. 掃描分區表查找活動分區;  b. 尋找活動分區的起始扇區; c. 將活動分區的引導扇區讀到內存; d. 執行引導扇區的運行代碼。 如果主引導代碼未完成這些功能, 系統會顯示下列的錯誤信息之一: Invalid partition table, Error loading operating system, Missing operating system. 
     主引導記錄MBR 由4 個部分組成:a.主引導程序(偏移地址0000H~0088H),它負責從活動分區中裝載並運行系統引導程序;b.出錯信息數據區(偏移地址 0089~00E1 爲出錯信息,10E2H~10BD 全爲0 字節); c.分區表(DPT,Disk Partition Table,含4 個分區項,偏移地址01BEH~01FDH,每個分區表項長16 個字節,共64 字節),即主分區和擴展分區的信息;d.結束標誌(偏移地址01EFH~01FFH ),這兩個字節值爲結束標誌55AA,如果該標誌錯誤系統就不能啓動. 
     注意:硬盤的引導記錄是不屬於任何一個操作系統的,它先於所有的操作系統而被調入內存並發揮作用,然後纔將控制權交給主分區內的操作系統,並讓主分區信息表來管理硬盤。

BOOTSECTOR

(3)高級格式化: 
     這一步之前的所有操作,都是與具體的文件系統沒有任何關係的,從現在開始,才涉及到具體的文件系統,換句話說,高級格式化是與我們要建立的文件系統相關的,因此我們調用高級格式化命令時,文件類型是必須提供的參數之一。

     在DOS/WINDOWS系統中,用FORMAT對指定分區進行高級格式化,將分區空間劃分邏輯扇區,生成DOS 引導扇區(即邏輯0 扇區)DBR,文件分配表FAT 和根文件目錄表FDT。       
       在LINUX系統中,需要使用mkfs命令將分區進行格式化,建立想要的文件系統,如EXT2,EXT3,等。

經過以上三步後,磁盤的存儲結構看起來如下圖所示:

磁盤存儲結構


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