磁盤的基礎知識——扇區、柱面、磁道、族

磁盤的物理結構 html

磁盤是由若干塊堅硬金屬材料製成的並塗以磁性介質的盤片壓制而成。每一個盤有兩面,每面各有一個磁頭,均可記錄信息。要了解硬盤的物理結構,須要弄懂磁道、扇區、柱面、簇等幾個概念. spa

磁道:磁盤上劃分了不少個同心圓,這些同心圓就是磁道。但打開硬盤,用戶不能看到這些,實際上磁道是被磁頭磁化的同心圓。磁道之間是有間隔的,由於磁化單元太近會產生干擾. 操作系統

扇區:每條磁道被分紅若干等份的區域,每一個區域就是一片扇區。扇區是硬盤數據存儲的最小單位. .net

柱面:假如一塊磁盤只有3個磁盤片,每塊盤片的磁道數是相等的.從外圈開始,這些磁道被分紅了0磁道、1磁道、2磁道……。具備相同磁道編號的同心圓組成面就稱做柱面。爲了便於理解,柱面能夠看做沒有底的鐵桶。柱面數就是磁盤上的磁道數。柱面是硬盤分區的最小單位. htm

一個硬盤的容量=柱面數(或磁道數)×磁頭數×扇區數×每一個扇區的大小(一般是512字節)

簇:扇區是硬盤數據存儲的最小單位,但操做系統沒法對數目衆多的扇區進行尋址,因此操做系統就將相鄰的扇區組合在一塊兒,造成一個簇,而後再對簇進行管理.每一個簇能夠包括二、四、八、1六、3二、64個扇區。族有時也稱做磁盤塊(block)。它是屬於文件系統層面的概念,是文件系統層中數據存儲的基本單位。 blog

磁盤的分區 內存

要掌握硬盤的分區,須要掌握MBR、擴展分區、邏輯分區的概念. get

硬盤裏分爲兩個區域,一個是放置該硬盤的信息區,稱之爲主引導扇區(master boot recorder,MBR),一個是實際文件數據放置的地方。其中,MBR是整個磁盤最重要的區域。一旦MBR物理實體損壞時,則該磁盤就差很少報廢了.通常來講,MBR有512個字節,且能夠分爲兩個部分. 源碼

  1. 第一部分有446個字節,用於存放引導代碼,即bootloader.
  2. 第二部分有64個字節,用於存放磁盤分區表(Disk Partion Table,DPT)。每一個分區的信息須要用16個字節來記錄,所以,一塊磁盤最多能夠有4個分區。

注:一般所說的"磁盤分區"就是指修改磁盤分區表。它定義了"第n個磁盤塊是從第x個柱面到第y個柱面".所以,當系統要讀取第n個磁盤塊時,就是去讀硬盤上第x個柱面到第y個柱面的信息. io

    分區有兩種,一種是主分區,一種是擴展分區。在一塊磁盤中,擴展分區只能有一個,因此這4個分區能夠是4個主分區或者3個主分區加1個擴展分區,以下所示:

P + P + P + P

P + P + P + E

其中P表示主分區(Primary),E表示擴展分區(Extend)

    重點說明的是,擴展分區不能直接使用,還須要將其劃分爲邏輯分區.這樣就產生了一個問題,既然擴展分區不能直接使用,但爲何還要劃分出必定的空間來給擴展分區呢?這是由於,若是用戶想要將硬盤劃分爲5個分區的話,那該如何? 此時,就須要擴展分區來幫忙了.

因爲MBR僅能保存4個分區的數據信息,若是超過4個,系統容許在額外的硬盤空間存放另外一份磁盤分區信息,這就是擴展分區. 若將硬盤分紅3P+E,則E其實是告訴系統,磁盤分區表在另外的那份分區表,即擴展分區實際上是指向正確的額外分區表.自己擴展分區不能直接使用,還須要額外將擴展分區分紅邏輯分區才能使用,所以,用戶經過擴展分區就可使用5個以上的分區了.

說明:

  1. 不建議用戶將硬盤分爲4個主分區.這是由於,假如一個20GB的硬盤,若4個主分區佔據了15GB的空間,則剩下的5GB空間徹底不能使用,由於已經沒有多餘的分區表能夠記錄這些空間了.
  2. 考慮到磁盤的連續性,通常建議將擴展分區放在最後面的柱面內.
  3. 容許一個硬盤只有1個主分區,其它空間都分配給擴展分區。

Linux磁盤分區

    Windows操做系統是先將物理地址分開,再在分區上創建目錄,所以在Windows操做系統中,全部路徑都是從盤符開始,如C://program file。而Linux正好相反。在Linux操做系統中,先有目錄,再將物理地址映射到目錄中。在Linux操做系統中,全部路徑都是從根目錄開始.Linux默認可分爲3個分區,分別是boot分區、swap分區和根分區.

    不管是Windows操做系統,仍是Linux操做系統,每一個分區都可以有不一樣的文件系統,如FAT3二、NTFS、Yaffs2等.

    下面簡單介紹一下Linux的3個分區,boot分區、swap分區和根分區。

  • boot分區

    該分區對應於/boot目錄,約100MB.該分區存放Linux的Grub(bootloader)和內核源碼.用戶可經過訪問/boot目錄來訪問該分區.換句話說,用戶對/boot目錄的操做就是操做該分區.

  • swap分區

    該分區沒有對應的目錄,故用戶沒法訪問。Linux下的swap分區即爲虛擬內存.虛擬內存用於當系統內存空間不足時,先將臨時數據存放在swap分區,等待一段時間後,而後再將數據調入到內存中執行.因此說,虛擬內存只是暫時存放數據,在該空間內並無執行.

關於虛擬內存

    虛擬內存是指將硬盤上某個區域模擬爲內存.所以虛擬內存的實際物理地址仍然在硬盤上.虛擬內存,或者說swap分區只能由系統訪問,其大小爲物理內存的2倍.

  • 根分區

    在Linux操做系統中,除/boot目錄外的其它全部目錄都對應於該分區.所以,用戶可經過訪問除/boot目錄外的其它全部目錄來訪問該分區.

說明:

  1. 在Linux操做系統中,用戶可根據須要把分區掛載到某個目錄下。好比/home目錄下有三個目錄,假設爲test1,test2,test3,可把不一樣的分區分別掛載到這三個目錄下 。
  2. 根據上面的討論,一塊磁盤上最多有13個分區,即硬盤分爲1個主分區和3個擴展分區,而每一個擴展分區又能夠分爲4個邏輯分區。
  3. 硬盤上至少要有1個主分區.
  4. 邏輯分區不能再進行分區.
  5. Linux分區目錄和"盤符"的關係

    假如硬盤安裝在IDE1的主盤,並用戶想分區成6個可使用的硬盤分區,則能夠採用3個主分區加3個邏輯分區方式,或者是1個主分區加5個邏輯分區。

   

    Linux容許使用fdisk -l命令和df -h命令來查詢其硬盤分區.其中,df沒法顯示出swap分區的大小.

    若硬盤的MBR已壞,則該磁盤就不能再做爲引導盤,只能做爲數據盤.由於MBR位於硬盤的起始處,用戶不能經過軟件進行修復,也不能跳過起始處.而硬盤中間的某個磁道壞了,用戶能夠軟件修復,也能夠跳過該磁道.

參考: http://blog.csdn.net/shuaishuai80/article/details/6202512

              http://learningloong.blog.163.com/blog/static/16230812420107279116921/

http://www.91tech.net/Article/SoftHardTech/SerialCom/200604/3627.html

相關文章
相關標籤/搜索