自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

捋一捋磁盤及分區(qū)

存儲(chǔ) 存儲(chǔ)設(shè)備
今天我們所使用的機(jī)械硬盤實(shí)質(zhì)上都是溫徹斯特硬盤,最早是在 1973 年由 IBM 研制的一種新型硬盤 IBM 3340。它使用了一種了不起的技術(shù):磁頭不與盤片接觸,只有不予接觸才可能有著更高的轉(zhuǎn)速而且磁盤才不易損壞。

[[409997]]

本文轉(zhuǎn)載自微信公眾號(hào)「Rand」,作者Rand。轉(zhuǎn)載本文請(qǐng)聯(lián)系Rand公眾號(hào)。

磁盤及分區(qū)

溫徹斯特硬盤

今天我們所使用的機(jī)械硬盤實(shí)質(zhì)上都是溫徹斯特硬盤,最早是在 1973 年由 IBM 研制的一種新型硬盤 IBM 3340。它使用了一種了不起的技術(shù):磁頭不與盤片接觸,只有不予接觸才可能有著更高的轉(zhuǎn)速而且磁盤才不易損壞。至于這個(gè)名字的來(lái)歷,是因?yàn)?IBM3340 擁有兩個(gè) 30MB 的存儲(chǔ)單元,而當(dāng)時(shí)一種很有名的 “溫徹斯特來(lái)福槍” 的口徑和裝藥也恰好包含了兩個(gè)數(shù)字 “30”;于是這種硬盤的內(nèi)部代號(hào)就被定為 “溫徹斯特”。

我們來(lái)看看這種硬盤的結(jié)構(gòu)圖:

來(lái)自js王的博客

盤片盤面磁頭

上圖中光盤狀的東西就是盤面,有兩個(gè)面叫做盤面,上面分布著磁性介質(zhì)。每個(gè)盤面都有個(gè)磁頭,用來(lái)讀寫盤面上的數(shù)據(jù)。

磁道扇區(qū)

來(lái)自js王的博客

上圖中灰色的圓環(huán)就是磁道,磁道上的綠色的一段弧為扇區(qū),扇區(qū)是磁盤讀寫的基本單位,通常為512字節(jié)。

柱面

來(lái)自js王的博客

每個(gè)磁道由外向里從 0 編號(hào),不同盤面上編號(hào)相同的磁道組成的圓柱稱為磁盤的柱面。

相關(guān)計(jì)算

硬盤容量

訪問(wèn)時(shí)間

I 尋道時(shí)間

將磁頭移動(dòng)到相應(yīng)的磁道上所需要的時(shí)間。

II 旋轉(zhuǎn)時(shí)間

將目標(biāo)扇區(qū)的第一位移動(dòng)到磁頭下面所需要的時(shí)間,計(jì)算時(shí)一般平均旋轉(zhuǎn)時(shí)間即旋轉(zhuǎn)半圈需要的時(shí)間。

III 傳送時(shí)間

也就是磁盤旋轉(zhuǎn)讀取數(shù)據(jù)的時(shí)間,一般也取決于旋轉(zhuǎn)速度。

看幾個(gè)經(jīng)典例題:

尋址

CHS

CHS 即 Cylinder(柱面)、Heads(磁頭)、Sector(扇區(qū)),使用這三個(gè)參數(shù)來(lái)定位一個(gè)扇區(qū),柱面參數(shù)使磁頭臂移動(dòng)到某個(gè)半徑,磁頭參數(shù)確定是哪個(gè)盤面上的磁道,扇區(qū)參數(shù)則確定該磁道上某個(gè)扇區(qū)的具體位置。

柱面,磁頭一般都是從 0 開始編號(hào),扇區(qū)從 1 開始編號(hào)。

早期 CHS 這個(gè)三元組用 24 位來(lái)表示,前 10位 表示柱面,中間 8 位表示磁頭,后面 6 位表示扇區(qū),最大尋址空間為

LBA

LBA(Logical Block Addressing),邏輯塊地址實(shí)際上就是物理地址的轉(zhuǎn)化,將三元組轉(zhuǎn)換為一維的線性地址。即 0柱面0磁頭1扇區(qū)編址為邏輯0扇區(qū),0柱面0磁頭2扇區(qū)編址為邏輯1扇區(qū)......

也就是說(shuō)轉(zhuǎn)換方式如下:

最后加上 S - 1 是因?yàn)?LBA 從 0 開始編號(hào)

FAQ

每個(gè)磁道的扇區(qū)數(shù)一樣多嗎?

早期的硬盤每個(gè)磁道的扇區(qū)數(shù)是一樣的,外磁道和內(nèi)磁道的記錄密度是不等的,外磁道稀疏內(nèi)磁道密集,這也造成了很多浪費(fèi)。因此后來(lái)出現(xiàn)了 ZBR(Zone Block Record),采用等密度結(jié)構(gòu),即外磁道的扇區(qū)數(shù)多于內(nèi)磁道的扇區(qū)數(shù),如下圖所示:

顯然,因?yàn)榇诺赖纳葏^(qū)數(shù)可能不一樣,邏輯地址和物理地址之間的轉(zhuǎn)換將更加復(fù)雜精細(xì),這一部分都是由磁盤控制器來(lái)做的,根據(jù)各個(gè)磁盤的特性設(shè)置芯片來(lái)具體工作,不需要我們認(rèn)為操心了解即可。

另外硬盤的旋轉(zhuǎn)速度一般是保持恒定的,而外磁道的扇區(qū)數(shù)又要多于內(nèi)磁道,所以單位時(shí)間內(nèi)掃過(guò)的扇區(qū)數(shù)明顯外磁道是要多于內(nèi)磁道的,因此外磁道的數(shù)據(jù)傳輸速度是要快于內(nèi)磁道的。

扇區(qū)

扇區(qū)一般由兩部分組成,一部分是頭區(qū)域,另一部分是數(shù)據(jù)區(qū)域。數(shù)據(jù)區(qū)域不用多說(shuō),就是存儲(chǔ)數(shù)據(jù)的部分,而頭區(qū)域則包括包含驅(qū)動(dòng)器和控制器使用的信息,具體來(lái)說(shuō)就是一些地址標(biāo)識(shí),缺陷標(biāo)識(shí)以及錯(cuò)誤檢測(cè)和糾正信息。

尋找相應(yīng)的扇區(qū)就是依靠扇區(qū)記錄的頭信息來(lái)尋找的,期間磁盤控制器需要檢驗(yàn)這些頭部信息和傳輸數(shù)據(jù),需要花費(fèi)一定時(shí)間才能訪問(wèn)下一個(gè)扇區(qū),所以扇區(qū)號(hào)的物理排列不應(yīng)是連續(xù)的,如果連續(xù)的話有可能剛處理完當(dāng)前扇區(qū),磁頭已經(jīng)轉(zhuǎn)到之后的好幾個(gè)扇區(qū)了,再想處理下一個(gè)扇區(qū)的話得等待許久。所以磁盤出廠時(shí)一般都會(huì)做低級(jí)格式化,跳躍著將扇區(qū)編號(hào),給檢驗(yàn)傳輸?shù)攘舫鲎銐虻臅r(shí)間。

扇區(qū)、塊/簇、頁(yè)

扇區(qū):硬盤最小的讀寫單元

塊/簇:多個(gè)扇區(qū)組合在一起為一個(gè)塊,一般是 個(gè)扇區(qū),是操作系統(tǒng)對(duì)硬盤讀寫最小單元

頁(yè):操作系統(tǒng)與內(nèi)存之間操作的最小單元,一般

MBR分區(qū)

關(guān)于分區(qū)前面說(shuō)過(guò)一些,這里再仔細(xì)講講。這兒主要講的是傳統(tǒng)的MBR分區(qū)。

MBR(Main Boot Record)主引導(dǎo)記錄,它位于整個(gè)硬盤的第一個(gè)扇區(qū)即 0 柱面,0 磁頭,1 扇區(qū)(前面說(shuō)過(guò) CHS 方式以 1 開始編號(hào))。分為三部分:

  1. 引導(dǎo)程序和一些參數(shù),446 字節(jié)
  2. 分區(qū)表 DPT,64 字節(jié)
  3. 結(jié)尾標(biāo)記 0x55 和 0xAA,2字節(jié)

分區(qū)表

分區(qū)表有 4 個(gè)表項(xiàng),每個(gè)表項(xiàng) 16 字節(jié),結(jié)構(gòu)如下:

擴(kuò)展分區(qū)

分區(qū)表只有 4 個(gè)表項(xiàng),也就是說(shuō)只能原生支持 4 個(gè)分區(qū),現(xiàn)在來(lái)說(shuō) 4 個(gè)分區(qū)遠(yuǎn)遠(yuǎn)不夠,于是有了擴(kuò)展分區(qū)。

擴(kuò)展分區(qū)是可選項(xiàng)可有可無(wú),有最多只有一個(gè),為了區(qū)分將剩下的三個(gè)分區(qū)稱為主分區(qū)。

擴(kuò)展分區(qū)可以分為多個(gè)子擴(kuò)展分區(qū),子擴(kuò)展分區(qū)就像是一個(gè)單獨(dú)的硬盤,最開始的扇區(qū)為擴(kuò)展引導(dǎo)扇區(qū) EBR,結(jié)構(gòu)同 MBR,只是分區(qū)表只用了兩項(xiàng),第一項(xiàng)表示該子擴(kuò)展分區(qū)的邏輯分區(qū),第二項(xiàng)表示下一個(gè)子擴(kuò)展分區(qū),其他兩項(xiàng)為 0 。因此擴(kuò)展分區(qū)就像是構(gòu)建了一個(gè)單鏈表,將各個(gè)子擴(kuò)展分區(qū)連起來(lái)。

關(guān)于 MBR,EBR 的分區(qū)表項(xiàng)中起始偏移扇區(qū)注意以下幾點(diǎn):

MBR 的分區(qū)表項(xiàng)中,起始偏移扇區(qū)的基準(zhǔn)為 0。

EBR 描述邏輯分區(qū)的起始偏移扇區(qū)基準(zhǔn)為該子擴(kuò)展分區(qū)的地址,也就是上一個(gè)子擴(kuò)展分區(qū)中 EBR 記錄的下一個(gè)子擴(kuò)展分區(qū)的偏移扇區(qū)。

EBR 描述下一個(gè)子擴(kuò)展分區(qū)的起始偏移扇區(qū)基準(zhǔn)為總擴(kuò)展分區(qū)地址,也就是 MBR 中記錄的擴(kuò)展分區(qū)的偏移扇區(qū)

來(lái)看一看一個(gè)硬盤的分區(qū)布局圖:

OBR(OS Boot Record),位于主分區(qū)/邏輯分區(qū)的第一個(gè)扇區(qū),稱為操作系統(tǒng)引導(dǎo)扇區(qū),還記得分區(qū)表項(xiàng)中第 0 個(gè)字節(jié)嗎,如果為 0x80 則說(shuō)明該分區(qū)有 OBR 存在操作系統(tǒng),能夠引導(dǎo)是為活動(dòng)分區(qū)。

MBR,EBR,OBR 這三個(gè)不要弄混淆了,MBR 位于整個(gè)磁盤的第一個(gè)扇區(qū),里面的分區(qū)表描述的是主分區(qū)和總擴(kuò)展分區(qū)。而 EBR 位于子擴(kuò)展分區(qū)的第一個(gè)扇區(qū),分區(qū)表描述的是是邏輯分區(qū)和下一個(gè)子擴(kuò)展分區(qū)。OBR 位于實(shí)際分區(qū)的第一個(gè)扇區(qū),它是操作系統(tǒng)的引導(dǎo)程序,用來(lái)加載操作系統(tǒng)。

FAQ

每個(gè)分區(qū)最大容量是多少?

分區(qū)表項(xiàng)中最后 4 字節(jié)表示容量,因?yàn)橹挥昧?4 字節(jié)來(lái)表示總的扇區(qū)數(shù),如果每個(gè)扇區(qū)的容量為 512 字節(jié)的話,則每個(gè)分區(qū)最大容量為:

空閑扇區(qū)

分區(qū)時(shí)不能跨柱面,也就不能跨磁道,而 MBR,EBR 需要占用一個(gè)扇區(qū),分區(qū)不會(huì)與它們處于同一個(gè)磁道,因此分區(qū)通常會(huì)偏移一個(gè)磁道的大小,期間這沒(méi)用的扇區(qū)就是空閑扇區(qū)。

GPT分區(qū)

傳統(tǒng)的 MBR 分區(qū)有許多限制,比如只能支持 4 個(gè)主分區(qū),而且每個(gè)分區(qū)大小不能超過(guò) 2TB 等等,所以后來(lái)提出了一種新的方案 GPT,它有著以下優(yōu)點(diǎn):

  1. 每個(gè)硬盤的分區(qū)數(shù)分區(qū)大小幾乎沒(méi)有限制
  2. 分區(qū)表有備份,磁盤首位分別保存了一份相同的分區(qū)表
  3. 關(guān)鍵數(shù)據(jù)結(jié)構(gòu)有循環(huán)冗余檢測(cè)
  4. 使用全局標(biāo)識(shí)符(GUID)來(lái)標(biāo)識(shí)分區(qū)類型
  5. 每個(gè)分區(qū)有名稱

使用 GPT 分區(qū)的磁盤叫做 GPT 磁盤,其結(jié)構(gòu)布局如下所示:

保護(hù)性MBR

位于 LBA0,第 0 個(gè)扇區(qū),為了兼容性考慮還是存儲(chǔ)的傳統(tǒng)的 MBR,叫做保護(hù)性 MBR,只有一個(gè)類型為 0xEE 的分區(qū)表項(xiàng)表示該磁盤使用 GPT 分區(qū),保護(hù)性 MBR 的主要作用是保護(hù)不能識(shí)別 GPT 分區(qū)的磁盤工具對(duì)其進(jìn)行操作。

分區(qū)表頭

位于 LBA1,第 1 個(gè)扇區(qū),主要結(jié)構(gòu)如下:

分區(qū)表項(xiàng)

位于 LBA2—LBA33 ,結(jié)構(gòu)如下:

各個(gè)字節(jié)表示什么應(yīng)該很清楚了,就不具體解釋了,LBA33 之后就是各個(gè)具體的分區(qū),然后磁盤最后 33 個(gè)扇區(qū)是倒著存放的分區(qū)表頭和分區(qū)表。這就是整個(gè) GPT 磁盤的布局,再回頭去看看整個(gè)分區(qū)布局圖,應(yīng)該會(huì)很清晰了。

 

責(zé)任編輯:武曉燕 來(lái)源: Rand
相關(guān)推薦

2021-11-04 18:15:55

下載上傳瀏覽器

2024-05-06 12:23:00

GenAI人工智能

2021-05-17 10:50:15

系統(tǒng)調(diào)用內(nèi)核

2020-12-18 06:09:07

Java淺拷貝深拷貝

2020-05-18 14:12:41

PostgreSQLDB架構(gòu)數(shù)據(jù)庫(kù)

2023-03-15 10:38:55

2021-03-10 10:00:31

Go語(yǔ)言strconv包類型轉(zhuǎn)換工具

2023-11-28 12:42:56

數(shù)據(jù)分析管理

2018-09-03 13:39:43

手機(jī)蘋果iPhone

2021-04-01 06:23:24

CSS33D3D Web 動(dòng)畫

2021-03-11 07:14:01

Epoll原理線程

2024-08-28 17:28:26

2021-07-27 05:32:22

CSS 技巧方位與順序

2021-03-04 08:06:13

Java代理機(jī)制

2022-08-17 11:36:18

Vue3插件

2023-07-13 08:12:26

ControllerSpring管理

2021-02-03 12:47:09

Spring Boot應(yīng)用監(jiān)控

2021-04-23 10:38:52

Spring BootSpringMVC源碼

2021-07-12 23:21:52

MyISAM引擎InnoDB

2021-11-26 07:45:37

編碼GBK字符
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)