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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux物理硬盘和sd的对应关系_计算机硬盘

發(fā)布時(shí)間:2023/12/15 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux物理硬盘和sd的对应关系_计算机硬盘 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、概述

磁盤接口

Linux磁盤接口一般分為兩種:

  • 并行:IDE(133MB/s)、SCSI(640MB/s); 設(shè)備名稱hd*
  • 串口:SATA(6Gbp/s) 、SAS(6Gp/s) 、USB(480MB/s); 設(shè)備名稱sd*

串口的傳輸速度比并口的更塊,為什么?

單個(gè)磁盤來說,由一個(gè)個(gè)的同心圓組成,一個(gè)同心圓就是一個(gè)磁道,每個(gè)磁道由多個(gè)扇區(qū)組成,每個(gè)扇區(qū)之間由沒有磁性的間隙分隔。扇區(qū)有磁性物質(zhì),支持讀和寫操作。

盤面

硬盤一般會有一個(gè)或多個(gè)盤片,每個(gè)盤片可以有兩個(gè)面(Side),即第1個(gè)盤片的正面稱為0面,反面稱為1面;第2個(gè)盤片的正面稱為2面,反面稱為3面…依次類推。每個(gè)盤面對應(yīng)一個(gè)磁頭(head)用于讀寫數(shù)據(jù)。第一個(gè)盤面的正面的磁頭稱為0磁頭,背面稱為1磁頭;第二個(gè)盤片正面的磁頭稱為2磁頭,背面稱為3磁頭,以此類推。盤面數(shù)和磁頭數(shù)是相等的。

磁道

每個(gè)盤片的每個(gè)盤面被劃分成多個(gè)狹窄的同心圓環(huán),數(shù)據(jù)就是存儲在這樣的同心圓環(huán)上,我們將這樣的圓環(huán)稱為磁道(Track),每個(gè)盤面可以劃分多個(gè)磁道。關(guān)機(jī)時(shí)磁頭停留在硬盤的著陸區(qū)(Landing Zone),這個(gè)著陸區(qū)以前是位于離盤心最近的區(qū)域,不存放任何數(shù)據(jù)。

在每個(gè)盤面的最外圈,離盤心最遠(yuǎn)的地方是“0”磁道,向盤心方向依次增長為1磁道,2磁道,等等。硬盤數(shù)據(jù)的存放就是從最外圈開始。

扇區(qū)

根據(jù)硬盤規(guī)格的不同,磁道數(shù)可以從幾百到成千上萬不等。每個(gè)磁道上可以存儲數(shù)KB的數(shù)據(jù),但計(jì)算機(jī)并不需要一次讀寫這么多數(shù)據(jù)。在這一這基礎(chǔ)上,又把每個(gè)磁道劃分成若干弧段,每段稱為一個(gè)扇區(qū)(Sector)。

每個(gè)磁道的扇區(qū)數(shù)量是一個(gè)常量,每個(gè)扇區(qū)的大小一般是4KB。扇區(qū)是磁盤基本的物理單元。

扇區(qū)是硬盤上存儲的物理單位,每個(gè)扇區(qū)可存儲128×2N次方(N=0,1,2,3)字節(jié)的數(shù)據(jù)。從DOS時(shí)代起,每扇區(qū)是128×22=512字節(jié),現(xiàn)在已經(jīng)成了業(yè)界不成文的規(guī)定。

也就是說即使計(jì)算機(jī)只需要硬盤上存儲的某個(gè)字節(jié),也須一次把這個(gè)字節(jié)所在的扇區(qū)中的全部512字節(jié)讀入內(nèi)存,再選擇所需的那個(gè)字節(jié)。扇區(qū)的編號是從1開始,而不是0。 在硬盤磁道中,扇區(qū)號是按照某個(gè)間隔跳躍著編排。比如,2號扇區(qū)并不是1號扇區(qū)后的按順序的第一個(gè)而是第八個(gè),3號扇區(qū)又是2號扇區(qū)后的按順序的第八個(gè),依此類推,這個(gè)“八”稱為交叉因子。( 數(shù)據(jù)讀取經(jīng)常需要按順序讀取一系列相鄰的扇區(qū)(邏輯數(shù)據(jù)相鄰)。如對磁道扇區(qū)按物理順序進(jìn)行編號,很有可能出現(xiàn)當(dāng)磁頭讀取完第一個(gè)扇區(qū)后,由于盤片轉(zhuǎn)速過快來不及讀取下一個(gè)扇區(qū),(要知道物理相鄰扇區(qū)位置距離是極小的),必須等待轉(zhuǎn)完一圈,這極大浪費(fèi)了時(shí)間。所以就用交叉來解決這個(gè)問題。)

柱面

柱面其實(shí)是我們抽象出來的一個(gè)邏輯概念,前面說過,離盤心最遠(yuǎn)的磁道為0磁道,依此往里為1磁道,2磁道,3磁道....,不同面上相同磁道編號則組成了一個(gè)圓柱面,即所稱的柱面(Cylinder)。

硬盤數(shù)據(jù)的讀寫是按柱面進(jìn)行,即磁頭讀寫數(shù)據(jù)時(shí)首先在同一柱面內(nèi)從0磁頭開始進(jìn)行操作,依次向下在同一柱面的不同盤面(即磁頭上)進(jìn)行操作,只有在同一柱面所有的磁頭全部讀寫完畢后磁頭才轉(zhuǎn)移到下一柱面,因?yàn)檫x取磁頭只需通過電子切換即可,而選取柱面則必須通過機(jī)械切換。電子切換比從在機(jī)械上磁頭向鄰近磁道移動(dòng)快得多。因此,數(shù)據(jù)的讀寫按柱面進(jìn)行,而不按盤面進(jìn)行。

將物理相鄰的若干個(gè)扇區(qū)稱為了一個(gè)塊。操作系統(tǒng)讀寫磁盤的基本單位是扇區(qū),而文件系統(tǒng)的基本單位是塊(Cluster),存儲系統(tǒng)都采用邏輯單元塊來表示基本的數(shù)據(jù)單位,這樣可以提高存儲的效率。 塊越大存儲性能越好,但空間浪費(fèi)嚴(yán)重。塊越小性能相對越低,但空間利用率高。NTFS格式的文件系統(tǒng)簇的大小為4K。

二、磁盤性能因素

而磁盤的讀寫有3個(gè)步驟,即尋道時(shí)間 + 旋轉(zhuǎn)延遲 + 傳輸時(shí)間

尋道時(shí)間Tseek

尋道時(shí)間,其實(shí)就是磁臂移動(dòng)到指定磁道所需要的時(shí)間,目前磁盤的平均尋道時(shí)間一般在3-15ms

尋道時(shí)間=啟動(dòng)磁臂的時(shí)間+常數(shù)*所需移動(dòng)的磁道數(shù)

旋轉(zhuǎn)延遲Trotation

旋轉(zhuǎn)延遲指的是把扇區(qū)移動(dòng)到磁頭下面的時(shí)間(取決于磁盤轉(zhuǎn)速)

計(jì)算方式:7200 rpm的磁盤平均旋轉(zhuǎn)延遲大約為60*1000/7200/2 = 4.17ms

傳輸時(shí)間Ttransfer

傳輸時(shí)間指的是從磁盤讀出或?qū)?shù)據(jù)寫入磁盤的時(shí)間

三、磁盤性能指標(biāo)

IOPS

IOPS表示存儲每秒傳輸IO的數(shù)量 IOPS通常對于小I/O,且傳輸I/O的數(shù)量比較大的情況下,是一個(gè)最主要的衡量指標(biāo),關(guān)注隨機(jī)讀寫性能

而理論上磁盤的最大IOPS,即IOPS = 1000 ms/ (Tseek + Troatation)

例如7200轉(zhuǎn)/分鐘的 IOPS = 1000 / (3 + 60000/7200/2) = 140

吞吐量

Throughput吞吐量則表示每秒數(shù)據(jù)的傳輸總量 Throughput吞吐量衡量對于大I/O,特別是傳輸一定數(shù)據(jù)的時(shí)候最小化耗時(shí)非常有用,關(guān)注連續(xù)讀寫性能

每秒 I/O 吞吐量= IOPS* 平均 I/O SIZE

隨機(jī)讀寫頻繁的應(yīng)用,如小文件存儲(圖片)、OLTP數(shù)據(jù)庫、郵件服務(wù)器 順序讀寫頻繁的應(yīng)用,傳輸大量連續(xù)數(shù)據(jù),如電視臺的視頻編輯,視頻點(diǎn)播VOD

四、磁盤性能優(yōu)化

上面硬盤讀寫數(shù)據(jù)所分的三部分時(shí)間不難看出,大部分參數(shù)是和硬件相關(guān)的,操作系統(tǒng)無力優(yōu)化。只有所需移動(dòng)的磁道數(shù)是可以通過操作系統(tǒng)來進(jìn)行控制的,所以減少所需移動(dòng)的磁道數(shù)是減少整個(gè)硬盤的讀寫時(shí)間的唯一辦法,可以通過調(diào)度算法和其他一些手動(dòng)來優(yōu)化。

調(diào)度算法

優(yōu)化尋址操作,內(nèi)核不會一旦接收到I/O請求后,就按照請求的次序發(fā)起塊I/O請求。為此Linux實(shí)現(xiàn)了幾種I/O調(diào)度算法,算法基本思想就是通過合并和排序I/O請求隊(duì)列中的請求,以此大大降低所需的磁盤尋道時(shí)間.

常見的I/O調(diào)度算法包括Noop調(diào)度算法(No Operation)、CFQ(完全公正排隊(duì)I/O調(diào)度算法)、DeadLine(截止時(shí)間調(diào)度算法)、AS預(yù)測調(diào)度算法等.

其他手段

局部原理

所謂的局部性原理分為時(shí)間和空間上的。由于程序是順序執(zhí)行的,因此當(dāng)前數(shù)據(jù)段附近的數(shù)據(jù)有可能在接下來的時(shí)間被訪問到。這就是所謂的空間局部性。而程序中還存在著循環(huán),因此當(dāng)前被訪問的數(shù)據(jù)有可能在短時(shí)間內(nèi)被再次訪問,這就是所謂的時(shí)間局部性原理。

提前讀(Read-Ahead)

提前讀也被稱為預(yù)讀。根據(jù)磁盤原理我們不難看出,在磁盤讀取數(shù)據(jù)的過程中,真正讀取數(shù)據(jù)的時(shí)間只占了很小一部分,而大部分時(shí)間花在了旋轉(zhuǎn)延遲和尋道時(shí)間上,因此根據(jù)空間局部性原理,SQL Server每次讀取數(shù)據(jù)的時(shí)間不僅僅讀取所需要的數(shù)據(jù),還將所請求數(shù)據(jù)附近的數(shù)據(jù)進(jìn)行讀取。這在SQL Server中被稱為預(yù)讀。SQL Server通過預(yù)讀可以有效的減少IO請求。

延遲寫(Delayed write)

同樣,根據(jù)時(shí)間局部性原理,最近被訪問的數(shù)據(jù)有可能再次被訪問,因此當(dāng)數(shù)據(jù)更改之后不馬上寫回磁盤,而是繼續(xù)放在內(nèi)存中,以備接下來的請求讀取或者修改,是減少磁盤IO的另一個(gè)有效手段,在SQL Server中,實(shí)現(xiàn)延遲寫是buffer pool,當(dāng)一個(gè)修改請求被commit之后,并不會立刻寫回磁盤,而是將修改的頁標(biāo)記為“臟”,然后根據(jù)某種機(jī)制通過checkpoint或lazy writer寫回磁盤,關(guān)于checkpoint和lazy writer的原理

五、從虛擬內(nèi)存的角度理解磁盤和主存的數(shù)據(jù)交換

從虛擬內(nèi)存的角度來說,虛擬頁和磁盤中的塊映射起來

當(dāng)虛擬頁被加載到內(nèi)存的物理頁的時(shí)候,就由DMA把虛擬內(nèi)存對應(yīng)的磁盤塊加載到內(nèi)存的對應(yīng)地址的物理頁中;

當(dāng)物理頁寫回到磁盤時(shí),也是由DMA把數(shù)據(jù)傳輸?shù)酱疟P控制器,由磁盤控制器寫到磁盤塊對應(yīng)的扇區(qū)。

內(nèi)存和磁盤交換數(shù)據(jù)的時(shí)候?qū)嶋H采用了內(nèi)存的緩沖區(qū)來加速磁盤的訪問速度,有了內(nèi)存緩沖區(qū),CPU要訪問某個(gè)磁盤文件的某些數(shù)據(jù),只需要提供該數(shù)據(jù)所處的磁盤塊號,就可以從內(nèi)存緩沖區(qū)尋找是否已經(jīng)緩存了該磁盤塊的內(nèi)容

六、參考

linux學(xué)習(xí)之硬盤的存儲原理和內(nèi)部架構(gòu) - 云+社區(qū) - 騰訊云?cloud.tencent.com磁盤IO那些事?tech.meituan.com

總結(jié)

以上是生活随笔為你收集整理的linux物理硬盘和sd的对应关系_计算机硬盘的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。