乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      磁盤相關(guān)知識(shí)

       愛吃魚的俊懶貓 2019-07-17

      磁盤基本構(gòu)造

      這里寫圖片描述

      linux下使用fdisk指令可以查看硬盤的信息
      fdisk -l

      Disk /dev/hda: 160.0 GB, 160041885696 bytes
      255 heads, 63 sectors/track, 19457 cylinders
      Units = cylinders of 16065 * 512 = 8225280 bytes (7M多每個(gè)柱面)

      Device Boot Start End Blocks Id System
      /dev/hda1 * 1 1217 9775521 c W95 FAT32 (LBA)
      /dev/hda2 1218 16555 123202485 5 Extended
      /dev/hda5 1218 3042 14659281 b W95 FAT32
      /dev/hda6 3043 4867 14659281 b W95 FAT32
      /dev/hda7 4868 6692 14659281 83 Linux
      /dev/hda8 6693 8517 14659281 83 Linux
      /dev/hda9 8518 10342 14659281 83 Linux
      /dev/hda10 10343 11559 9775521 b W95 FAT32
      /dev/hda11 11560 12776 9775521 83 Linux
      /dev/hda12 12777 16424 29302528+ 83 Linux
      /dev/hda13 16425 16551 1020096 82 Linux swap
      /dev/hda14 16552 16553 16033+ 83 Linux
      /dev/hda15 16554 16555 16033+ 83 Linux
      以前從來都沒有注意也沒有去理解上面一部分的描述信息,仔細(xì)一看,發(fā)現(xiàn)heads的值是255,heads表示可是磁頭數(shù)啊,而普通硬盤的磁頭數(shù)最多也就是4個(gè),怎么想也想不明白,于是到網(wǎng)上搜索了一大圈,但收獲不大,然后一個(gè)同事告訴我,要我去查查CHS(物理尋址)和LBA(邏輯塊尋址)它們之間的區(qū)別,經(jīng)過一番搜索,終于明白heads原來是邏輯的數(shù)值,fdisk -l看到的sectors和cylinders也是邏輯的值,在LBA模式下,設(shè)置的柱面、磁頭、扇區(qū)等參數(shù)并不是實(shí)際硬盤的物理參數(shù)。只是在訪問硬盤時(shí),由IDE控制器把由柱面、磁頭、扇區(qū)等參數(shù)確定的邏輯地址轉(zhuǎn)換為實(shí)際硬盤的物理地址。

      關(guān)于硬盤的一些參數(shù)解釋如下:

      硬盤劃分為磁頭(Heads)、柱面(Cylinder)、扇區(qū)(Sector)。
      △磁頭(Heads):每張磁片的正反兩面各有一個(gè)磁頭,一個(gè)磁頭對(duì)應(yīng)一張磁片的一個(gè)面。因此,用第幾磁頭
      就可以表示數(shù)據(jù)在哪個(gè)磁面。
      △柱面(Cylinder):所有磁片中半徑相同的同心磁道構(gòu)成“柱面”,意思是這一系列的磁道垂直疊在一起,就形成一個(gè)柱面的形狀。簡(jiǎn)單地理解,柱面就是磁道。
      △扇區(qū)(Sector):將磁道劃分為若干個(gè)小的區(qū)段,就是扇區(qū)。雖然很小,但實(shí)際是一個(gè)扇子的形狀,故稱為扇區(qū)。每個(gè)扇區(qū)的容量為512字節(jié)。

      硬盤容量=磁頭數(shù)×柱面數(shù)×扇區(qū)數(shù)×512字節(jié)
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      以前見到的很多磁道的示意圖都是這樣的:注意標(biāo)線的位置,“指向一條線”,我當(dāng)時(shí)的理解好像是這條線就是磁道。還有的解釋是說磁道就是一個(gè)“同心圓”的集合
      這里寫圖片描述

      那么,我的疑問就是,既然那條線是同心圓,那么兩條線之間的那快空白是什么呀? 什么也不是? 空著的? 就是為了分開磁道?暈倒。那這浪費(fèi)的部分也太多了吧。畢竟兩條線中間部分的寬度看起來比磁道可實(shí)在是寬太多了。

      后來,查了下別的圖片,才發(fā)現(xiàn)磁道原來應(yīng)該是這樣子的:不是“同心圓”,應(yīng)該是“同心圓環(huán)”
      這里寫圖片描述
      這里寫圖片描述

      到此,我關(guān)于磁道的疑問才終于有了答案。
      后來又聯(lián)想到了其他的問題:

      每個(gè)磁道上的扇區(qū)數(shù)目是一樣的么?
      早期的磁盤每個(gè)磁道上的扇區(qū)數(shù)目是一樣,限制了磁盤的容量;后來為了增大磁盤容量采用了新技術(shù),也就是說越往外每磁道扇區(qū)數(shù)目越多
      早期的硬盤是每個(gè)磁道有相同的扇區(qū),但是現(xiàn)在的硬盤采用線性尋址,所以每個(gè)磁道上扇區(qū)數(shù)不一樣,外面的多,里面的少.光盤跟硬盤差不多.但是用螺線的.不像硬盤采用同心圓
      不過,還是可以用CHS(柱面,磁道,扇區(qū))的方式來定位, 因?yàn)镮DE磁盤做了內(nèi)部轉(zhuǎn)換,讓你看起來好像每條磁道上面的簇?cái)?shù)量都是一樣的
      0磁道是在磁盤的外圈還是內(nèi)圈
      由于歷史原因 , 磁盤的0磁道在最外圈(過去的老式硬盤,每條磁道上的簇的數(shù)量都是一樣多的。也就是說最里面和最外面的磁道的簇的數(shù)目是一樣的。顯然,磁密度越低,數(shù)據(jù)的安全越有保障。而MBR放在0柱面的,第0個(gè)磁道的,第1個(gè)簇上面,為了這個(gè)關(guān)鍵數(shù)據(jù)的安全,所以磁道要從最外開始安排。)
      但是,光盤的0磁道和磁盤,軟盤剛好向盤,光盤的0磁道是在最內(nèi)圈的
      盡管扇區(qū)是能獨(dú)立尋址的最小單位,但資源分配的最小單位是簇
      所以文件的大小和文件所占用的磁盤空間是不同的。所占用的磁盤空間往往多余文件的大小
      硬盤簇的大小設(shè)為多少才合適
      默認(rèn)的情況下,在格式化的時(shí)侯如果沒有指定簇的大小,那么系統(tǒng)會(huì)根據(jù)分區(qū)的大小選擇默認(rèn)的簇值
      其實(shí)在NTFS文件系統(tǒng)中格式化的時(shí)候,可以在“Format”命令后面添加“/a:UnitSize”參數(shù)來指定簇的大小,UnitSize表示簇大小的值,NTFS支持512/1024/2048/4096/8192/16K/32K/64KB
      在NTFS文件系統(tǒng)中,簇的大小會(huì)影響到磁盤文件的排列,設(shè)置適當(dāng)?shù)拇卮笮】梢詼p少磁盤空間丟失和分區(qū)上碎片的數(shù)量。如果簇設(shè)置過大,會(huì)影響到磁盤存儲(chǔ)效率;反之如果設(shè)置過小,雖然會(huì)提高利用效率,但是會(huì)產(chǎn)生大量磁盤碎片.

      這里寫圖片描述

      這里寫圖片描述
      磁盤分區(qū)的最小單位是磁柱(Cylinder)

      磁盤存儲(chǔ)的最小單位是扇區(qū)(Sector)

      文件系統(tǒng)的最小單位是區(qū)塊(Block)
      ~~~~~~~~~~~~~~~~~~~~~
      1. 硬盤物理結(jié)構(gòu)現(xiàn)代硬盤(非固態(tài)硬盤SSD)通常由一個(gè)或多個(gè)圓形盤片組成,每個(gè)盤片都是兩面存儲(chǔ)的(還記得以前的軟盤有雙面雙密之說),通過機(jī)械臂上的磁頭進(jìn)行數(shù)據(jù)讀寫操作。一個(gè)硬盤的參數(shù)通常稱之為 3D 參數(shù) (Disk Geometry),即柱面數(shù)(Cylinder)、磁頭數(shù)(Head)和扇區(qū)數(shù)(Sector)。

      磁頭: 磁頭固定在可移動(dòng)的機(jī)械臂上,用于讀寫數(shù)據(jù)。現(xiàn)代硬盤都是雙面可讀寫,因此磁頭數(shù)量等于盤片數(shù)的 2 倍。磁頭數(shù)最大值為 255 (8 個(gè)二進(jìn)制位)。

      磁道: 每個(gè)盤面都有 n 個(gè)同心圓組成,每個(gè)同心圓稱之為一個(gè)磁道。由外向內(nèi)分為 0 磁道到 n 磁道。

      柱面: n 個(gè)盤面的相同磁道 (位置相同) 共同組成一個(gè)柱面。柱面數(shù)最大為 1023 (10 個(gè)二進(jìn)制位)。

      扇區(qū): 從磁盤中心向外畫直線,可以將磁道劃分為若干個(gè)弧段。每個(gè)磁道上一個(gè)弧段被稱之為一個(gè)扇區(qū)。扇區(qū)是硬盤的最小組成單元,通常是 512 字節(jié)。磁道上的扇區(qū)數(shù)最大為 63 (6 個(gè)二進(jìn)制位)。

      在老式硬盤中,盡管磁道周長(zhǎng)不同,但每個(gè)磁道上的扇區(qū)數(shù)是相等的,越往圓心扇區(qū)弧段越短,但其存儲(chǔ)密度越高。不過這種方式顯然比較浪費(fèi)空間,因此現(xiàn)代硬盤則改為等密度結(jié)構(gòu),這意味著外圍磁道上的扇區(qū)數(shù)量要大于內(nèi)圈的磁道,尋址方式也改為以扇區(qū)為單位的線性尋址。為了兼容老式的 3D 尋址方式,現(xiàn)代硬盤控制器中都有一個(gè)地址翻譯器將 3D 尋址參數(shù)翻譯為線性參數(shù)。

      硬盤的存儲(chǔ)容量公式:

      存儲(chǔ)容量 = 磁頭數(shù) × 磁道(柱面)數(shù) × 每道扇區(qū)數(shù) × 每扇區(qū)字節(jié)數(shù)

      3D 尋址參數(shù):

      ×× 磁道(柱面),×× 磁頭,×× 扇區(qū)

      我們注意到Linux的分區(qū)是按柱面來劃分的。

      yuhen@yuhen-desktop:~$ sudo fdisk -l /dev/sda
      [sudo] password for yuhen:
      Disk /dev/sda: 8589 MB, 8589934592 bytes
      255 heads, 63 sectors/track, 1044 cylinders
      Units = cylinders of 16065 * 512 = 8225280 bytes
      Disk identifier: 0x000f31e8
      Device Boot Start End Blocks Id System
      /dev/sda1 * 1 993 7976241 83 Linux
      /dev/sda2 994 1044 409657+ 5 Extended
      /dev/sda5 994 1044 409626 82 Linux swap / Solaris

      1. 引導(dǎo)區(qū)信息

      硬盤的第一個(gè)扇區(qū)被稱之為 Boot Sector。由 MBR (MasterBoot Record)、DPT (Disk Partition Table) 和 Boot Record ID 三部分組成。

      MBR 又稱作主引導(dǎo)記錄,占用 Boot Sector 的前 446 個(gè)字節(jié)(0 ~ 0x1BD)。存放系統(tǒng)主引導(dǎo)程序,負(fù)責(zé)從活動(dòng)分區(qū)中裝載并運(yùn)行系統(tǒng)引導(dǎo)程序。

      DPT 即主分區(qū)表,占用 64 個(gè)字節(jié) (0x1BE ~ 0x1FD),記錄了磁盤的基本分區(qū)信息。主分區(qū)表分為四個(gè)分區(qū)項(xiàng),每項(xiàng) 16 字節(jié),分別記錄了每個(gè)主分區(qū)的信息 (因此最多可以有 4 個(gè)主分區(qū))。

      Boot Record ID 即引導(dǎo)區(qū)標(biāo)記,占用兩個(gè)字節(jié) (0x1FE ~ 0x1FF)。對(duì)于合法引導(dǎo)區(qū),它等于 0xAA55,這是判別引導(dǎo)區(qū)是否合法的標(biāo)志。

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      fdisk能劃分磁盤成為若干個(gè)區(qū),同時(shí)也能為每個(gè)分區(qū)指定分區(qū)的文件系統(tǒng),比如linux 、fat32、 linux 、linux swap 、fat16 以及其實(shí)類Unix類操作系統(tǒng)的文件系統(tǒng)等;然后對(duì)分區(qū)進(jìn)行格式化所需要的文件系統(tǒng);這樣一個(gè)分區(qū)才能使用;
      通過fdsik -l 查看硬盤分區(qū)詳情:


      Disk /dev/hda: 8589 MB, 8589934592 bytes
      255 heads, 63 sectors/track, 1044 cylinders
      Units = cylinders of 16065 * 512 = 8225280 bytes

      Device Boot Start End Blocks Id System
      /dev/hda1 * 1 13 104391 83 Linux
      /dev/hda2 14 140 1020127+ 83 Linux
      /dev/hda3 141 267 1020127+ 83 Linux
      /dev/hda4 268 1044 6241252+ 5 Extended
      /dev/hda5 268 332 522081 82 Linux swap / Solaris
      /dev/hda6 333 1044 5719108+ 83 Linux

      Disk /dev/sda: 8589 MB, 8589934592 bytes
      255 heads, 63 sectors/track, 1044 cylinders
      Units = cylinders of 16065 * 512 = 8225280 bytes

      Disk /dev/sda doesn’t contain a valid partition table

      ======================================================================================

      heads 磁盤面
      sectors 扇區(qū)
      cylinders 柱面

      每個(gè)扇區(qū)大小是512byte(0.5K)
      硬盤體積=heads*sectors*512*cylinders

      硬盤分區(qū)的步驟:
      主分區(qū)(包括擴(kuò)展分區(qū)) 最大4個(gè)
      邏輯分區(qū) 最大16個(gè)
      主分區(qū)(包含擴(kuò)展分區(qū))的個(gè)數(shù)由硬盤的主引導(dǎo)記錄MBR(Master Boot Recorder)決定,MBR存放啟動(dòng)管理程序和分區(qū)表記錄
      擴(kuò)展分區(qū)也算一個(gè)主分區(qū),用以包含更多的邏輯分區(qū),接著從4開始
      邏輯分區(qū)是從5開始

      主分區(qū)有3個(gè),從hda1-hda3,擴(kuò)展分區(qū)由hda5-hda6
      邏輯分區(qū)是hda5-hda6

      分區(qū)前,先列出硬盤信息

      ~~~~~~~~~~~~~~~~~~~~

      硬盤尋址方式

      硬盤有兩種尋址模式,一種就是C/H/S(Cylinder/Head/Sector)尋址模式,也可以稱為三維地址模式,這是硬盤最早采用的尋址模式,當(dāng)時(shí)硬盤的容量還非常小,人們采用與軟盤類似的結(jié)構(gòu)生產(chǎn)硬盤,也就是硬盤盤片的每一條磁道都具有相同的扇區(qū)數(shù),由此產(chǎn)生了所謂的3D參數(shù)(Disk Geometry),既磁頭數(shù)(Heads)、柱面數(shù)(Cylinders)、 扇區(qū)數(shù)(Sectors),以及相應(yīng)的尋址方式。

      在老式硬盤中,由于每個(gè)磁道的扇區(qū)數(shù)相等(與軟盤一樣),所以外磁道的記錄密度要遠(yuǎn)低于內(nèi)磁道,因此會(huì)浪費(fèi)很多磁盤空間。為了解決這一問題,進(jìn)一步提高硬盤容量(C/H/S尋址的容量是有限制的,后面會(huì)提到),人們改用等密度結(jié)構(gòu)生產(chǎn)硬盤,也就是說,外圈磁道的扇區(qū)比內(nèi)圈磁道多。采用這種結(jié)構(gòu)后,硬盤不再具有實(shí)際的3D參數(shù),尋址方式也改為線性尋址,即以扇區(qū)為單位進(jìn)行尋址,這種尋址模式叫做LBA,全稱為L(zhǎng)ogic Block Address(即扇區(qū)的邏輯塊地址)。

      扇區(qū)的三維物理地址與硬盤上的物理扇區(qū)一一對(duì)應(yīng),即三維物理地址可完全確定硬盤上的物理扇區(qū)。
      

      而在LBA方式下,系統(tǒng)把所有的物理扇區(qū)都按照某種方式或規(guī)則看做是一個(gè)線性編號(hào)的扇區(qū),即從0到某個(gè)最大值方式排列,并連成一條線,把LBA作為一個(gè)整體來對(duì)待,而不再是具體的實(shí)際的C/H/S值,這樣只用一個(gè)序數(shù)就確定了一個(gè)惟一的物理扇區(qū),顯然線性地址是物理扇區(qū)的邏輯地址。

      為了與使用C/H/S尋址的老軟件兼容(如使用BIOS Int13H接口的軟件)在硬盤控制器內(nèi)部安裝了一個(gè)地址翻譯器,由它負(fù)責(zé)將C/H/S參數(shù)翻譯成LBA地址。

      那么LBA地址到底如何與實(shí)際的C/H/S值相對(duì)應(yīng)呢?如何把C/H/S地址轉(zhuǎn)換為L(zhǎng)BA地址,把LBA地址轉(zhuǎn)換成C/H/S值呢?

      首先,我們來了解一下從C/H/S到LBA線性地址的轉(zhuǎn)換規(guī)則。由于系統(tǒng)在寫入數(shù)據(jù)時(shí)是按照從柱面到柱面的方式,在上一個(gè)柱面寫滿數(shù)據(jù)后才移動(dòng)磁頭到下一個(gè)柱面,并從柱面的第一個(gè)磁頭的第一個(gè)扇區(qū)開始寫入,從而使磁盤性能最優(yōu),所以,在對(duì)物理扇區(qū)進(jìn)行線性編址時(shí),也按照這種方式進(jìn)行。即把第一柱面(0柱)第一磁頭(0面)的第一扇區(qū)(1扇區(qū))編為邏輯“0”扇區(qū),把第一柱面(0柱)第一磁頭(0面)的第二扇區(qū)(2扇區(qū))編為邏輯“1”扇區(qū),直至第一柱面(0柱)第一磁頭(0面)的第63扇區(qū)(63扇區(qū))編為邏輯“62”扇區(qū),然后轉(zhuǎn)到第一柱面(0柱)第二磁頭(1面)的第一扇區(qū)(1扇區(qū)),接著上面編為邏輯“63”扇區(qū),0柱面所有扇區(qū)編號(hào)完畢后轉(zhuǎn)到1柱面的0磁頭1扇區(qū),依次往下進(jìn)行,直至把所有的扇區(qū)都編上號(hào)。
      
      另外還要注意C/H/S中的扇區(qū)編號(hào)從“1”至“63”,而LBA方式下扇區(qū)從“0”開始編號(hào),所有扇區(qū)順序進(jìn)行編號(hào)。
      

      掌握了這個(gè)關(guān)系,我們就可以列出公式來對(duì)兩種尋址模式進(jìn)行相互轉(zhuǎn)換。

      從C/H/S到LBA的轉(zhuǎn)換公式:

      這里規(guī)定用

      C表示當(dāng)前柱面號(hào),

      H表示當(dāng)前磁頭號(hào),

      S表示當(dāng)前扇區(qū)號(hào),

      CS表示起始柱面號(hào),HS表示起始磁頭號(hào),SS表示起始扇區(qū)號(hào),PS表示每磁道扇區(qū)數(shù),PH表示每柱面磁道數(shù),所以公式為:

      LBA=(C–CS)﹡PH﹡PS+(H–HS)﹡PS+(S–SS)

      一般情況下,CS=0,HS=0,SS=1,PS=63,PH=255。

      下面帶入幾個(gè)值驗(yàn)證一下:

      當(dāng)C/H/S=0/0/1時(shí),代入公式得LBA=0

      當(dāng)C/H/S=0/0/63時(shí),代入公式得LBA=62

      當(dāng)C/H/S=0/1/1時(shí),代入公式得LBA=63

      這里不再過多驗(yàn)證,請(qǐng)讀者自己進(jìn)行跟多值的驗(yàn)證,下面來看從LBA到C/H/S的轉(zhuǎn)換關(guān)系。

      首先介紹兩種運(yùn)算DIV和MOD(這里指對(duì)正整數(shù)的操作)。DIV稱做整除運(yùn)算,即被除數(shù)除以除數(shù)所得商的整數(shù)部分。比如,3 DIV 2=1,10 DIV 3=3;MOD運(yùn)算則是取商的余數(shù)。比如,5 MOD 2=1,10 MOD 3=1。DIV和MOD是一對(duì)搭檔,一個(gè)取整數(shù)部分,一個(gè)取余數(shù)部分。

      各參數(shù)仍然按上述假設(shè)進(jìn)行,則從LBA到C/H/S的轉(zhuǎn)換公式為:

      C=LBA DIV (PH﹡PS)+CS

      H=(LBA DIV PS)MOD PH+HS

      S=LBA MOD PS+SS

      同樣可以帶入幾個(gè)值進(jìn)行驗(yàn)證:

      當(dāng)LBA=0時(shí),代入公式得C/H/S=0/0/1

      當(dāng)LBA=62時(shí),代入公式得C/H/S=0/0/63

      當(dāng)LBA=63時(shí),代入公式得C/H/S=0/1/1

      本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/icesnows/archive/2010/09/13/5880074.aspx

      硬盤的結(jié)構(gòu): < XMLNAMESPACE PREFIX =”O(jiān)” />
      硬盤的結(jié)構(gòu)和軟盤差不多,是由磁道 (Tracks)、扇區(qū)(Sectors)、柱面 (Cylinders)和磁頭(Heads)組成的。

        拿一個(gè)盤片來講,它和軟盤類似,上面被分成若干個(gè)同心圓磁道track,每個(gè)磁道track被分成若干個(gè)扇區(qū)sector,每扇區(qū)sector通常是512字節(jié)?!             ?
        硬盤的磁道數(shù)track一般介于300-3000之間,每磁道的扇區(qū)數(shù)通常是63,而早期的硬盤只有17個(gè)。

      磁道 、扇區(qū)、柱面cylinder
        和軟盤不同的是,硬盤由很多個(gè)磁片疊在一起,柱面指的就是多個(gè)磁片上具有相同編號(hào)的磁道track,它的數(shù)目和磁道是相同的。
        硬盤的容量如下計(jì)算: 硬盤容量=柱面數(shù)×扇區(qū)數(shù)×每扇區(qū)字節(jié)數(shù)×磁頭數(shù) 標(biāo)準(zhǔn)IDE接口最多支持1024個(gè)柱面,63個(gè)扇區(qū),16個(gè)磁頭,這個(gè)最大容量為1024×63×16×512= 528,482,304字節(jié),即< XMLNAMESPACE PREFIX =”ST1” />528M;

      fdisk -l的輸出
      Disk /dev/hda: 82.3 GB, 82347195904 bytes
      總共的硬盤大小
      255 heads, 63 sectors/track, 10011 cylinders
      255個(gè)磁頭, 每個(gè)磁道63個(gè)扇區(qū),10011個(gè)柱面。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多