Linux基础1之磁盘与分区
Linux上面設備皆文件,目前需要知道的,比如U盤和SARA硬盤的在Linux上面的文件名,/dev/sd[a-p]。與IDE接口不同的是,SATA/USB接口的磁盤沒有一定的順序,這里就根據Linux內核檢測到磁盤的順序。
比如PC上面有兩個SATA磁盤和一個USB磁盤,而主板上面有六個SATA的插槽。這兩個插槽安插在主板上的SATA1,SATA5上面,這三個磁盤在Linux中的設備文件名是什么?由于是使用檢測到的順序來決定設備文件名,并非與實際插槽代號有關,因此設備的文件名如下。SATA1插槽上的文件名是/dev/sda ,SATA5插槽上的文件名是/dev/sdb ,USB磁盤(開機完成后才被系統識別)的文件名是/dev/sdc。
雖然磁盤是數據存儲的地方,但是實際對于數據的寫入是在盤片上面。盤片上面又可以細分出扇區(Sector)與柱面(Cylinder)兩種單位,其中扇區每個為512bytes那么大。磁盤的第一個扇區是非常重要的,主要記錄了兩個重要的信息,分別是主引導分區(Master Boot Record,MBR):可以安裝引導加載程序的地方,有446bytes;分區表(partition table):記錄整塊磁盤分區的狀態,有64bytes。MBR是非常重要的,因為當系統在開機的時候會主動去讀取這個區塊的內容,這樣系統才會知道你的程序放在哪里且該如何開啟。如果你要安裝多重引導的系統,MBR更加顯得重要。分區表是什么呢?剛才拿到的整塊磁盤就像一根原木,你必須在這根原木上面切割出你想要的區段,這個區段才能夠再制作成為你想要的家具。如果沒有進行切割,那么原木就不能被有效地利用。同樣的道理,你必須要針對你的硬盤進行分區,這樣硬盤才可以被使用、
IDE接口分主從設備,依次abcd,一個IDE接口只能接兩個設備。
說起磁盤,里面的道道還是比較多得。下面精簡介紹。磁盤,由具有磁性的盤片(由磁頭對盤片加磁性?)還有一些機械裝置組成(磁頭、馬達、固定裝置等)。磁盤,說起盤,很容易想起圓圈。在磁盤的存儲結構中,主要組成是磁道、柱面、扇區、磁頭這幾個關鍵詞被提起,一般磁道和柱面是一個實物的兩種不同觀察方式表現。磁道,顧名思義,就是一圈圈的圓環,兩個圓環之間的區域就是磁道。柱面是什么呢?這個是從空間、立體的結構來看的,一般磁盤并不只是一個盤片,經常有多個盤片和多個磁頭組成,而且是重疊組合而成,跌在一起,于是在一個盤片上面的某個磁道的位置在其他盤片上得也是同樣位置的地方,這樣遍歷整個磁盤的全部盤片,就組成了柱面,可以回憶高等數學上面的柱面的定義,直線繞著曲線旋轉一圈所形成的曲面叫做柱面。扇區,從名字上來看,很容易想到,就是一把扇子嘛,但是這里要注意,并不是真正的普通的扇形,在磁盤上面的扇區,也是大扇形的面積減去小扇形的面積所形成的區域,這才叫扇區。其實一個扇區的數據區域一般是512字節,但是還有其它的控制信息還占據了一些存儲位置。怎么計算磁盤的容量呢?磁盤容量 = 磁頭數*磁道數*扇區數*每扇區字節數 ,磁頭數就相當于有多少個盤片,磁道數相當于每個盤片上面被劃分了多少個環形道道(其實這個道道就是磁頭放在盤片上面,磁盤飛速旋轉一圈就出現了,相鄰磁道間并不是嚴格的相鄰,畢竟磁頭往外移動一點距離,可能這里磁頭不是標準的矩形,或許是個球形等,所以也能避免磁性的影響,不會影響數據,磁盤需要避免磁場強的區域),每個環形道道上面,又被劃分了多個扇區,扇區的弧連接在一起有360度就組成了一個磁道。每個扇區有512B。于是磁盤容量就出來了。
說到這里,有時候經常會有疑惑,一般硬盤經常有一些參數,比如轉速多少多少轉,5400,7200,還有畢竟少見的用于企業服務器上面的15000轉/s。回想高中的物理知識,角速度相等,那么由V = W(角速度)*R(半徑),越是最外圈的磁道,磁頭在這上面經過的速度越快,為了存儲數據方便,一般固定將扇區數目固定為512byte,作為最外圍的磁道,如果每個磁道上面的扇區數目相等,那就是相當于本來512個人在籃球場上面可以正常干活(比較內圍的磁道),轉移到512個人在足球場上面干活,有沒有感覺一種極大的不公平,同時考慮磁頭在每秒鐘經過的扇區數目在外圍磁道和里面磁道也是不一樣的。工業界當然不允許這樣的情況發生,于是出現了一些設計,clv,zclv等刻錄技術,越是外圍的磁道,扇區數目越多,而且扇區編號是從外圍開始往內變大得,所以像MBR、DBR(dos boot record)等都是在磁盤的外圍區域,有名的windows系統,C盤系統盤,那么C盤就是磁盤的最外圍區域,作為操作系統的存儲地方,當然保證較快的存取速度,大膽猜測下,越往里面增加,速度越慢,所以有時候需要經常進行下磁盤清理,把外圍磁盤要充分利用完。
上面還是沒解決問題,為什么計算的時候為那么計算,因為簡單方便。這里的扇區數其實是一個平均的扇區數,就是把外面的大的多的扇區數和里面的小得少得扇區數作了一個平均而給出的一個數目,方便計算。當然每扇區的字節數,還是盡量保證差不多大得面積,既占用空間小一點又能保證數據的完整性。
0號磁頭,0號磁道,1號扇區是給MBR的,這里是由主板來讀取的,在DOS上面讀取不到的。0號磁頭,1號磁道,1號扇區是給DBR是由DOS來讀取的。
轉載于:https://www.cnblogs.com/likeshu/p/5095044.html
總結
以上是生活随笔為你收集整理的Linux基础1之磁盘与分区的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POI不同版本替换Word模板时的问题
- 下一篇: iOS 第五期考核题(字典与数组嵌套,字