對分割槽表的詳解分析

2021-09-21 10:55:18 字數 1688 閱讀 9892

對分割槽表的分析

硬碟是由多個盤體組成的,盤體又是有無數碟片組成,(當然有人會問:不是存在單碟硬碟嗎?沒錯,單碟硬碟是雙面可讀的硬碟,當然也相當於兩個碟片。)每個碟片又分為許多磁軌,每個磁軌有63個扇區,扇區是硬碟儲存的基本單位,這是乙個理想化的模型,之所以將硬碟用乙個理想化的模型是為了對硬碟的研究更方便和具體化,客觀上符合了工程實施的可行性。

那麼硬碟在讀取資料時是如何定位乙個具體位置呢?這是必須要解決的問題,其實在硬碟的內部有乙個我們看不到的位址翻譯器,於是解決了扇區的定位問題。

對扇區的定位有兩種方法:其一是c/h/s;其二是lba,即扇區的編號。作業系統一般用lba來計算,更適合計算機的使用。

c/h/s 

相對比較直觀,但是計算複雜或者說有的時候用c/h/s表示不出來,這時必須採用lba,它的特點是計算簡單,但是相對不直觀,下面對這兩種對分割槽的定位進行分析一下。

首先,乙個轉化關係必須清晰: 1

柱面=255個碟片=255個磁頭

乙個柱面包含了若干磁軌,如何來準確表示柱面中的具體磁軌呢?這時就可以使用磁頭引數了。每個磁頭負責讀取柱面中的處於不同高度的磁軌,我們只要給出具體的磁頭數值,就知道對應柱面中的哪個磁軌了。這樣我們根據柱面和磁頭兩個引數就可以準確地定位到盤體中的某個磁軌,乙個磁軌上有63個扇區,我們只要再知道扇區的編號,就可以完成在三維空間中定位扇區的任務了,c/h/s三個引數就是這樣定位扇區的。

1扇區=512位元組 1

磁軌=63個扇區

利用c/h/s計算,磁頭從0到254磁頭,扇區從1到63扇區;但是利用lba計算的話,扇區從0開始計算,這是需要注意的地方。

硬碟的讀取機制:

0/0/1

,0/0/2,…………0/0/63,

0/1/1

,0/1/1,…………0/1/63

0/2/1

,0/2/2,…………0/2/63

…… 0/254/1

……0/254/63

到此,整個硬碟的所有資料讀取完畢。

分割槽時柱面是分割槽的粒度,即精確到柱面。

255*63*512 1

柱面=---------------=7.8m

2的20次方

當然,7.8m是不準確的,硬碟會為柱面預留出空間作為動態磁碟使用。分割槽的確定就是起始扇區和結束扇區確定後,乙個分割槽的大小即可確定。

硬碟的第乙個扇區是主引導扇區,又叫mbr,總共512位元組,mbr扇區又叫0號扇區,是乙個硬碟的起始位置。硬碟的結構由引導扇區(446位元組),分割槽表(64位元組),55aa(2個位元組)的結束標誌組成。用磁碟編輯器分析磁碟,如果是55aa結尾,說明扇區的分割槽表有效。分割槽表最多能有4個主分割槽,每個分割槽有16個位元組。

首先,以乙個分割槽的位元組為單位分析一下分割槽表的計算原理。

***************x

(1--------------4)(5------------8)

***************x

(9---------------12) (13------------16) 1

—4:引導標誌,起始磁軌,起始扇區,起始柱面 5

—8:分割槽型別,結束磁軌,結束扇區,結束柱面 9

—12:分割槽起始前的扇區,即分割槽起始扇區,

13-16

:分割槽的大小

本文源出:shenleigang.blog.51cto.com

請尊重版權,謝謝!!!!

對分割槽表的一些總結

分割槽表分為 範圍分割槽 partition by range 列表分割槽 partition by list hash分割槽 partition by hash 有多少個分割槽就有多少個segment 其實hash分割槽最大的好處在於,將資料根據一定的hash演算法,均勻分布到不同的分割槽中去,避...

MBR分割槽表詳解

mbr main boot record 主引導記錄區 位於整個硬碟的0磁軌0柱面1扇區。在512位元組的主引導扇區中,mbr只占用了其中的446個位元組,另外的64個位元組交給了 dpt disk partition table硬碟分割槽表 最後兩個位元組 55,aa 是分割槽的結束標誌。這個整體...

對分割槽表匯入匯出的水平,垂直切分

在工作中有時候碰到一些分割槽表,業務資料量很大,可能幾百g,上t的規模,而且做資料的匯入匯出的時候,會感覺到exp expdp的時候生成的dump檔案太大了,做匯入的時候也是很重的負擔。比如500g的dump,你在使用imp做匯入的時候,別無選擇,只能看著日誌裡partition裡的資料乙個乙個被匯...