一慷暂、磁盤的電磁原理:
1.1 電磁效應(yīng):
電流通過導(dǎo)體時(shí)荧飞,會(huì)在導(dǎo)體的周圍會(huì)產(chǎn)生感應(yīng)磁場烙无。感應(yīng)磁場的磁極隨電流方向的改變而改變毫捣。
1.2 電磁感應(yīng):
當(dāng)閉合電路內(nèi)的磁場發(fā)生變化(磁通量變化)時(shí)详拙,閉合電路內(nèi)會(huì)產(chǎn)生感應(yīng)電動(dòng)勢帝际。即閉合電路內(nèi)磁場的變化會(huì)使電路內(nèi)產(chǎn)生感應(yīng)電流。 電流的方向與磁極方向有關(guān)饶辙。
1.3 磁頭的結(jié)構(gòu):
磁頭是一個(gè)外面被線圈纏繞著的U型磁芯蹲诀,可以看出當(dāng)磁頭通電時(shí)便會(huì)產(chǎn)生磁場,磁場的方向隨電流方向的變化而變化弃揽。
1.4 磁盤的結(jié)構(gòu):
磁盤的表面涂有一層磁性物質(zhì)脯爪,在未沒有外部磁場影響的情況下,磁盤表面的磁性粒子的磁極方向是不會(huì)改變的蹋宦。一般從未受到外部干擾的磁性粒子磁極方向是隨機(jī)的披粟,于是出現(xiàn)互相抵消的情況,這時(shí)磁盤的表現(xiàn)出無磁極顯現(xiàn)冷冗。
1.5 磁盤的寫過程:
寫數(shù)據(jù)時(shí)磁頭移到到磁盤要寫入的位置守屉,輸入電流產(chǎn)生感應(yīng)磁場。受磁場的影響蒿辙,磁頭下磁性粒子的磁極方向變?yōu)榕c磁場同向拇泛。如此通過給磁頭不同的電流方向,使得磁盤局部產(chǎn)生不同的磁極思灌,產(chǎn)生的磁極在未受到外部磁場干擾下是不會(huì)改變的俺叭。如此便將電信號持久化到磁盤上(當(dāng)然并不是一個(gè)磁極方向代表1另一個(gè)代表0).
1.6 磁盤的讀取:
讀取磁盤信息時(shí)泰偿,不通電的磁頭在寫入數(shù)據(jù)的位置上移動(dòng)熄守,上面可知數(shù)據(jù)在磁盤上就是一些磁極方向不同的微小局部區(qū)域,由于各個(gè)域的磁極方向不完全同耗跛,所以磁頭在通過這些不同方向的區(qū)域時(shí)會(huì)產(chǎn)生不同方向的感應(yīng)電流裕照,這些微弱正負(fù)脈沖經(jīng)過驅(qū)動(dòng)的去噪擴(kuò)大成為內(nèi)存中的二進(jìn)制數(shù)據(jù)。
在硬盤讀寫時(shí)调塌,讀操作是遠(yuǎn)快于寫操作的晋南,而且讀/寫操作具有完全不同的特性,所以目前的硬盤一般都分離出讀和寫兩個(gè)磁頭羔砾,但原理還是不變的负间。
絕命毒師第五季第一季中,記錄著老白制毒過程的筆記本電腦被警方獲得并放到了物證室里姜凄。老白利用電磁效應(yīng)政溃,在物證室外弄了一個(gè)大‘磁鐵’破壞了筆記本里面的數(shù)據(jù),就是上面的原理檀葛。
二玩祟、磁盤結(jié)構(gòu)
硬盤主要由碟片、磁頭屿聋、電機(jī)馬達(dá)空扎、接口和控制電路控制芯片組成藏鹊。
2.1 碟片與磁頭:
碟片的表面涂有磁性材料,厚度一般在0.5mm左右转锈。碟片安裝在主軸馬達(dá)的轉(zhuǎn)軸上盘寡,工作時(shí)所有碟片在主軸馬達(dá)的帶動(dòng)下高速旋轉(zhuǎn)。
每個(gè)碟片都有正反兩面撮慨,稱為盤面竿痰。第1個(gè)碟片的正面稱為0面,反面稱為1面砌溺,第2個(gè)碟片的正面稱為2面影涉,反面稱為3面...依次類推。每個(gè)盤面都有一個(gè)對應(yīng)磁頭負(fù)責(zé)讀寫該該盤面上的數(shù)據(jù)规伐。盤面數(shù)和磁頭數(shù)是相等的蟹倾。
關(guān)機(jī)時(shí),磁頭停留在硬盤的停泊區(qū)猖闪。當(dāng)磁盤工作時(shí)鲜棠,磁頭移動(dòng)到盤面上分,依靠磁盤的高速旋轉(zhuǎn)引起的空氣動(dòng)力效應(yīng)懸浮在盤面上培慌,與盤面的距離不到1微米豁陆。磁頭在副軸馬達(dá)的帶動(dòng)下可以在極短的時(shí)間內(nèi)精確的切換到數(shù)據(jù)所在的磁道。
可以看出磁盤工作是一個(gè)極其細(xì)致活吵护,哪怕一個(gè)灰塵都會(huì)造成磁盤的損壞盒音,所以磁盤都是密封的,我們最好不要自行拆裝硬盤馅而。也盡量不要再磁盤工作時(shí)劇烈的晃動(dòng)磁盤里逆。
2.2 磁道:
在碟片高速旋轉(zhuǎn)時(shí)磁頭保持不變,那么就會(huì)形成一個(gè)圓形的軌跡用爪,這些同心的圓行軌跡就是磁道(Track)。數(shù)據(jù)保存在磁道上面胁镐。每個(gè)盤面上有多個(gè)磁道偎血,但磁道之間并不是緊挨著的,因?yàn)榇呕膯卧さ奶鼤?huì)互相影響盯漂。
在每個(gè)盤面的最外圈的磁道是“0”磁道颇玷,向盤心方向依次增長為1磁道,2磁...就缆。數(shù)據(jù)從最外面的磁道開始存放帖渠。
2.3 扇區(qū):
盤面上可以劃分出很多的磁道,每條磁道容量從100多到300多kb不等竭宰,但我們讀寫并不需要每次都讀寫這么多數(shù)據(jù)空郊,所以又將磁道劃分為若干更小的弧段份招,每段稱為一個(gè)扇區(qū)(Sector)。扇區(qū)是磁盤進(jìn)行讀寫操作的最小單位狞甚。
一般磁盤的一個(gè)扇區(qū)大小為512字節(jié)锁摔,這也就意味著哪怕我們只存放1字節(jié)的數(shù)據(jù)也會(huì)占用磁盤的一個(gè)扇區(qū)512個(gè)字節(jié),讀取時(shí)也會(huì)讀取整個(gè)扇區(qū)的512個(gè)字節(jié)然后選擇需要的哪個(gè)字節(jié)哼审。
2010年為了提升磁盤的效率和使用率又推出了4k大小的的扇區(qū)標(biāo)準(zhǔn)谐腰,這樣又出現(xiàn)了一個(gè)4k對齊問題,后面再講涩盾。
查看磁盤扇區(qū)大惺:
cat /sys/block/sda/queue/physical_block_size
512
扇區(qū)是硬盤的最小操作單位,但扇區(qū)對于操作系統(tǒng)來說還是太小了春霍,一般操作系統(tǒng)有自己的硬盤操作最小單位砸西,在linux下一般為4k
查看操作系統(tǒng)IO大小:
tune2fs -l /dev/sda1|grep "Block size"
Block size: 4096
交叉因子
扇區(qū)是從1開始編號的而不是0终畅,且扇區(qū)號是按照某個(gè)間隔交叉著編排籍胯,1扇區(qū)的后面并不是2號扇區(qū)。若1號扇區(qū)后面第八個(gè)扇區(qū)為2號扇區(qū)离福,這個(gè)“八”就稱為交叉因子杖狼。
數(shù)據(jù)是存放在連續(xù)的扇區(qū)里(編號連續(xù)),系統(tǒng)對磁盤的io操作往往也是落在在連續(xù)的扇區(qū)妖爷。磁盤的旋轉(zhuǎn)速度非车快,如果扇區(qū)按物理順序進(jìn)行編號絮识,那么當(dāng)磁頭讀取完一個(gè)扇區(qū)后完全來不及定位到下一個(gè)連續(xù)的下扇區(qū)绿聘,盤面就已經(jīng)旋轉(zhuǎn)過了,這時(shí)只能等盤片旋轉(zhuǎn)完一圈次舌,這極大浪費(fèi)了時(shí)間熄攘,所以用交叉編排來解決這個(gè)問題。
交叉因子為1的扇區(qū)劃分:
2.4 柱面:
柱面是抽象出來的一個(gè)邏輯概念彼念,盤面被劃分為1磁道挪圾,2磁道,3磁道....逐沙,不同盤面上相同編號的磁道組成了一個(gè)圓柱面哲思,即柱面(Cylinder)。
磁盤讀寫數(shù)據(jù)是按柱面進(jìn)行吩案,即在讀寫時(shí)磁頭先尋找到數(shù)據(jù)所在的柱面(尋找磁道)棚赔,然后再判斷數(shù)據(jù)所在的盤面。這樣大大提升了磁盤的讀寫效率,因?yàn)楸P面的確定是電子操作速度非晨恳妫快丧肴,但磁道的尋找需要電動(dòng)馬達(dá)帶動(dòng)磁頭移到到指定磁道上,是機(jī)械操作捆毫。
2.5 磁盤讀寫耗時(shí):
磁盤讀寫時(shí)耗 = 尋道時(shí)間 + 旋轉(zhuǎn)延遲時(shí)間 + 操作時(shí)耗
尋道時(shí)間:讀寫數(shù)據(jù)時(shí)磁頭首先要移到到指定磁道(柱面)闪湾,這段時(shí)間稱為尋道時(shí)間
旋轉(zhuǎn)延遲時(shí)間:當(dāng)磁頭移動(dòng)到指定磁道后,需要等待要操作的扇區(qū)旋轉(zhuǎn)到磁頭的下方绩卤,這段時(shí)間稱為轉(zhuǎn)延遲時(shí)間
操作時(shí)耗:磁頭進(jìn)行讀寫操作花費(fèi)的時(shí)間