日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

磁盘寻址方式--CHS和LBA寻址方式

發布時間:2024/1/18 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 磁盘寻址方式--CHS和LBA寻址方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是CHS尋址

很久以前, 硬盤的容量還非常小的時候,人們采用與軟盤類似的結構生產硬盤。也就是硬盤盤片的每一條磁道都具有相同的扇區數。由此產生了所謂的CSH 3D參數 (Disk Geometry)。即磁頭數(Heads),柱面數(Cylinders),扇區數(Sectors),以及相應CHS尋址方式。

CHS尋址模式將硬盤劃分為磁頭(Heads)、柱面(Cylinder)、扇區(Sector)。

磁頭(Heads):每張磁片的正反兩面各有一個磁頭,一個磁頭對應一張磁片的一個面。因此,用第幾磁 頭就可以表示數據在哪個磁面。

柱面(Cylinder):所有磁片中半徑相同的同心磁道構成“柱面",意思是這一系列的磁道垂直疊在一起,就形成一個柱面的形狀。簡單地理解,柱面數=磁道數。

扇區(Sector):將磁道劃分為若干個小的區段,就是扇區。雖然很小,但實際是一個扇子的形狀,故稱為扇區。每個扇區的容量為512字節。

下面的圖可能能更好的幫助理解:

CHS尋址的最大容量

CHS尋址方式的容量由CHS三個參數決定:

磁頭數最大為255 (用 8 個二進制位存儲)。從0開始編號。

柱面數最大為1023(用 10 個二進制位存儲)。從0開始編號。

扇區數最大數 63(用 6個二進制位存儲)。從1始編號。

所以CHS尋址方式的最大尋址范圍為:

255 * 1023 * 63 * 512 / 1048576 = 7.837 GB ( 1M =1048576 Bytes )

或硬盤廠商常用的單位:

255 * 1023 * 63 * 512 / 1000000 = 8.414 GB ( 1M =1000000 Bytes )

CHS尋址的缺點

顯然,由于要求每個磁道的扇區數相等,而外道的周長要大于內道,所以外道的記錄密度要遠低于內道,不僅造成了硬盤空間的浪費,也限制了硬盤的容量。為了解決這一問題,進一步提高硬盤容量,人們改用等密度結構生產硬盤。也就是說,外圈磁道的扇區比內圈磁道多,采用這種結構后,硬盤不再具有實際的CHS參數,尋址方式也改為線性尋址,即以扇區為單位進行尋址。

但一些古老的軟件仍然使用CHS尋址方式(如使用BIOSInt13H接口的軟件),為了兼容這樣的程序,在硬盤控制器內部安裝了一個地址翻譯器,可以通過它將老式CHS參數翻譯成新的線性參數。

?

LBA(Logical Block Addressing)邏輯塊尋址模式。在 LBA 模式下,我們知道硬盤上的一個數據區域由它所在的磁頭、柱面(也就是磁道)和扇區所唯一確定。早期系統就是直接使用磁頭柱面和扇區來對硬盤進行尋址(這稱 為CHS尋址),這需要分別存儲每個區域的三個參數(這稱為3D參數),使用時再分別讀取三個參數,然后在送到磁盤控制器去執行。由于系統用8b來存儲磁 頭地址,用10b來存儲柱面地址,用6b來存儲扇區地址,而一個扇區共有512B,這樣使用CHS尋址一塊硬盤最大容量為256 * 1024 * 63 * 512B = 8064 MB(1MB = 1048576B)(若按1MB=1000000B來算就是8.4GB)。隨著硬盤技術的進步,硬盤容量越來越大,CHS模式無法管理超過8064 MB的硬盤,因此工程師們發明了更加簡便的LBA尋址方式。在LBA地址中,地址不再表示實際硬盤的實際物理地址(柱面、磁頭和扇區)。LBA編址方式將 CHS這種三維尋址方式轉變為一維的線性尋址,它把硬盤所有的物理扇區的C/H/S編號通過一定的規則轉變為一線性的編號,系統效率得到大大提高,避免了 煩瑣的磁頭/柱面/扇區的尋址方式。在訪問硬盤時,由硬盤控制器再這種邏輯地址轉換為實際硬盤的物理地址。

  LARGE 大硬盤模式,在硬盤的柱面超過 1024 而又不為 LBA 支持時采用。LARGE 模式采用的方法是把柱面數除以 2,把磁頭數乘以 2,其結果總容量不變。

  在這三種硬盤模式中,現在 LBA 模式使用最多。

  LBA與C/H/S 之間的轉換:

  設NS為每磁道扇區數,NH為磁頭數,C、H、S分別表示磁盤的柱面、磁頭和扇區編號,LBA表示邏輯扇區號,div為整除計算,mod為求余計算,則:

  LBA=NH×NS×C+NS×H+S-1;

  C=(LBA div NS)div NH;

  H=(LBA div NS)mod NH;

  S=(LBA mod NS)+1

  例如 LBA = 0 則 CHS = 0/0/1

  從C/H/S到LBA的計算公式:

  LBA=(C-CS)*PH*PS+(H-HS)*PS+(S-SS)

總結

以上是生活随笔為你收集整理的磁盘寻址方式--CHS和LBA寻址方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。