fdisk 之 磁頭/柱面/磁區 的奧義 - Linux

By Faithe
at 2010-10-18T20:20
at 2010-10-18T20:20
Table of Contents
※ 引述《loteslogin (張三立)》之銘言:
: 諸君,在下懂很多。唯,對 fdisk 中的 磁頭、柱面、磁區 之奧義不熟。
: 背景說明:
: 磁頭 (Heads),原來的意思應該是,硬碟中可能有好幾片磁片。
雖然你懂很多 但是我懂更多 因此指正你一下
磁頭是指說硬碟有幾個讀寫頭 越多讀寫頭速度越快
就像你如果有很多頭的話應該會懂更多是一樣的意思
: 柱面 (Track/Cylinder),原來的意思應該是磁軌的意思吧。
柱面是說硬碟有幾個面 越多面容納的更多東西
大部分是六面 因為硬碟是長方體 所以六個面是最常見的
但現在裸視3D越來越流行 所以以後會出現八面或十面體都有可能
: 磁區 (Sector),應該是磁軌中某一個弧段。
磁區是硬碟讀寫一次的大小 如果磁區越大當然一次可讀寫越多東西
但磁區的大小受限於硬碟的讀寫頭電流大小以及磁盤的寄生串聯電感
這個電感大小大約是
L = 5.08h(ln(4h/d)+1)
由此可知電流、電感與磁區大小成正比
: 維基百科有寫:http://zh.wikipedia.org/zh-tw/%E7%A1%AC%E7%9B%98
: 可是現在的硬碟不是都用 LBA (邏輯區塊位址) 嗎?
沒錯 新的硬碟以及軟體幾乎都用 LBA
: 那為何 fdisk 還有設定 磁頭、柱面、磁區 數量的參數呢?
這要牽扯到相容性
傳統 DOS 有 640KB 的限制
而且 int 21 也限制於 real mode
就算你用了 DOS4GW 或是 big real mode 偷偷用到 640KB 以上的記憶體
舊有的程式會沒辦法跑
原因在於 real mode 的 compiler 無法做到:
1. 定址 640KB+
2. 使用 32bits 暫存器
也因此就算切到 protected mode 或 big real mode
也無法把 LBA 的參數傳到 int 21
因此 fdisk 就是這時代為了相容性的產物
: 就算用最原始的 磁頭、柱面、磁區,也應該是讀取自硬碟給定的參數吧?
: 問題:
: 我使用 8G 的隨身碟,打算用 fdisk 做磁碟分割,
: 發現有設定 磁頭、柱面、磁區 之數量的選項,
: 我可以設定為 head=1, cylinder=1, tector=15625000 嗎?
: 對於隨身碟的讀寫效率會有影響嗎?
當然有 但這樣的設定效率還不是最大化
不過既然你是學電腦的
應該知道把參數設為 2 的指數次方會最有效率
因此若設為 head = cylinder = 4096
這樣速度會是最快的
順便提醒你
如果你有兩顆隨身碟
把他們通通接到 USB 孔
再開啟 raid0 這樣速度提昇接近 2 倍!
但最多只能接 n 顆,
其中 n = [(flash 容量) / 4G / (usb speed)] / (cpu clock)
比方說你的 CPU 是 2GMHz, flash 是 8G, usb speed 2.0 是 480M
因此 n = 8G/4G/480M/2G 約 = 2
超過兩顆的話你的南橋將無法負擔如此高的傳輸速度
就會偷偷搶北橋的頻寬
而北橋頻寬一旦不夠或發生 collision
會使得 DDR 不穩
一旦不穩 DDR 會來不及充電
若你的 DDR 沒有 ECC
那很抱歉 kernel panic 就會出現
: 當然啦,既然我是一名博士,也不奢望你們能夠給我很好的回答,但是畢竟我懂謙虛,
: 希望知道的人能告訴我,並且一同為提升整體批踢踢的氣質而努力,謝謝。
不用客氣 我也是博士 讓我們攜手一起努力吧!!
--
: 諸君,在下懂很多。唯,對 fdisk 中的 磁頭、柱面、磁區 之奧義不熟。
: 背景說明:
: 磁頭 (Heads),原來的意思應該是,硬碟中可能有好幾片磁片。
雖然你懂很多 但是我懂更多 因此指正你一下
磁頭是指說硬碟有幾個讀寫頭 越多讀寫頭速度越快
就像你如果有很多頭的話應該會懂更多是一樣的意思
: 柱面 (Track/Cylinder),原來的意思應該是磁軌的意思吧。
柱面是說硬碟有幾個面 越多面容納的更多東西
大部分是六面 因為硬碟是長方體 所以六個面是最常見的
但現在裸視3D越來越流行 所以以後會出現八面或十面體都有可能
: 磁區 (Sector),應該是磁軌中某一個弧段。
磁區是硬碟讀寫一次的大小 如果磁區越大當然一次可讀寫越多東西
但磁區的大小受限於硬碟的讀寫頭電流大小以及磁盤的寄生串聯電感
這個電感大小大約是
L = 5.08h(ln(4h/d)+1)
由此可知電流、電感與磁區大小成正比
: 維基百科有寫:http://zh.wikipedia.org/zh-tw/%E7%A1%AC%E7%9B%98
: 可是現在的硬碟不是都用 LBA (邏輯區塊位址) 嗎?
沒錯 新的硬碟以及軟體幾乎都用 LBA
: 那為何 fdisk 還有設定 磁頭、柱面、磁區 數量的參數呢?
這要牽扯到相容性
傳統 DOS 有 640KB 的限制
而且 int 21 也限制於 real mode
就算你用了 DOS4GW 或是 big real mode 偷偷用到 640KB 以上的記憶體
舊有的程式會沒辦法跑
原因在於 real mode 的 compiler 無法做到:
1. 定址 640KB+
2. 使用 32bits 暫存器
也因此就算切到 protected mode 或 big real mode
也無法把 LBA 的參數傳到 int 21
因此 fdisk 就是這時代為了相容性的產物
: 就算用最原始的 磁頭、柱面、磁區,也應該是讀取自硬碟給定的參數吧?
: 問題:
: 我使用 8G 的隨身碟,打算用 fdisk 做磁碟分割,
: 發現有設定 磁頭、柱面、磁區 之數量的選項,
: 我可以設定為 head=1, cylinder=1, tector=15625000 嗎?
: 對於隨身碟的讀寫效率會有影響嗎?
當然有 但這樣的設定效率還不是最大化
不過既然你是學電腦的
應該知道把參數設為 2 的指數次方會最有效率
因此若設為 head = cylinder = 4096
這樣速度會是最快的
順便提醒你
如果你有兩顆隨身碟
把他們通通接到 USB 孔
再開啟 raid0 這樣速度提昇接近 2 倍!
但最多只能接 n 顆,
其中 n = [(flash 容量) / 4G / (usb speed)] / (cpu clock)
比方說你的 CPU 是 2GMHz, flash 是 8G, usb speed 2.0 是 480M
因此 n = 8G/4G/480M/2G 約 = 2
超過兩顆的話你的南橋將無法負擔如此高的傳輸速度
就會偷偷搶北橋的頻寬
而北橋頻寬一旦不夠或發生 collision
會使得 DDR 不穩
一旦不穩 DDR 會來不及充電
若你的 DDR 沒有 ECC
那很抱歉 kernel panic 就會出現
: 當然啦,既然我是一名博士,也不奢望你們能夠給我很好的回答,但是畢竟我懂謙虛,
: 希望知道的人能告訴我,並且一同為提升整體批踢踢的氣質而努力,謝謝。
不用客氣 我也是博士 讓我們攜手一起努力吧!!
--
Tags:
Linux
All Comments

By Elizabeth
at 2010-10-21T03:50
at 2010-10-21T03:50

By Enid
at 2010-10-23T09:11
at 2010-10-23T09:11

By Xanthe
at 2010-10-25T17:20
at 2010-10-25T17:20

By Liam
at 2010-10-26T01:33
at 2010-10-26T01:33

By Mary
at 2010-10-26T15:21
at 2010-10-26T15:21

By Heather
at 2010-10-27T08:22
at 2010-10-27T08:22

By Annie
at 2010-10-30T17:26
at 2010-10-30T17:26

By Frederica
at 2010-11-03T22:54
at 2010-11-03T22:54

By Frederica
at 2010-11-06T20:32
at 2010-11-06T20:32

By Candice
at 2010-11-10T07:15
at 2010-11-10T07:15

By Barb Cronin
at 2010-11-10T14:55
at 2010-11-10T14:55

By Skylar DavisLinda
at 2010-11-15T04:59
at 2010-11-15T04:59

By Agnes
at 2010-11-18T16:41
at 2010-11-18T16:41
Related Posts
emacs字型

By Ingrid
at 2010-10-18T15:18
at 2010-10-18T15:18
Linux防火牆的問題

By Skylar DavisLinda
at 2010-10-18T14:42
at 2010-10-18T14:42
Linux防火牆的問題

By Todd Johnson
at 2010-10-18T12:41
at 2010-10-18T12:41
Re: 文字檔輸出 vs.下載檔案

By Rachel
at 2010-10-18T11:12
at 2010-10-18T11:12
文字檔輸出 vs.下載檔案

By Olivia
at 2010-10-18T10:58
at 2010-10-18T10:58