偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

五分鐘聊完磁盤(pán)

存儲(chǔ) 存儲(chǔ)軟件
盤(pán)可以說(shuō)是硬件里面比較簡(jiǎn)單的構(gòu)造了,同時(shí)也是最重要的。下面我們從盤(pán)談起,聊聊它的物理構(gòu)造

 盤(pán)

盤(pán)可以說(shuō)是硬件里面比較簡(jiǎn)單的構(gòu)造了,同時(shí)也是最重要的。下面我們從盤(pán)談起,聊聊它的物理構(gòu)造

盤(pán)硬件

盤(pán)會(huì)有很多種類(lèi)型。其中最簡(jiǎn)單的構(gòu)造就是磁盤(pán)(magnetic hard disks), 也被稱(chēng)為 hard disk,HDD等。磁盤(pán)通常與安裝在磁臂上的磁頭配對(duì),磁頭可將數(shù)據(jù)讀取或者將數(shù)據(jù)寫(xiě)入磁盤(pán),因此磁盤(pán)的讀寫(xiě)速度都同樣快。在磁盤(pán)中,數(shù)據(jù)是隨機(jī)訪問(wèn)的,這也就說(shuō)明可以通過(guò)任意的順序來(lái)存儲(chǔ)和檢索單個(gè)數(shù)據(jù)塊,所以你可以在任意位置放置磁盤(pán)來(lái)讓磁頭讀取,磁盤(pán)是一種非易失性的設(shè)備,即使斷電也能永久保留。

在計(jì)算機(jī)發(fā)展早期一般是用光盤(pán)來(lái)存儲(chǔ)數(shù)據(jù)的,然而隨著固態(tài)硬盤(pán)的流行,固態(tài)硬盤(pán)不包含運(yùn)動(dòng)部件的特點(diǎn),成為現(xiàn)在計(jì)算機(jī)的首選存儲(chǔ)方式。

磁盤(pán)

為了組織和檢索數(shù)據(jù),會(huì)將磁盤(pán)組織成特定的結(jié)構(gòu),這些特定的結(jié)構(gòu)就是磁道、扇區(qū)和柱面

 

每一個(gè)磁盤(pán)都是由無(wú)數(shù)個(gè)同心圓組成,這些同心圓就好像樹(shù)的年輪一樣

 

“部分樹(shù)的年輪照片都要付費(fèi)下載了,不敢直接白嫖,闊怕闊怕。

磁盤(pán)被組織成柱面形式,每個(gè)盤(pán)用軸相連,每一個(gè)柱面包含若干磁道,每個(gè)磁道由若干扇區(qū)組成。軟盤(pán)上大約每個(gè)磁道有 8 - 32 個(gè)扇區(qū),硬盤(pán)上每條磁道上扇區(qū)的數(shù)量可達(dá)幾百個(gè),磁頭大約是 1 - 16 個(gè)。

對(duì)于磁盤(pán)驅(qū)動(dòng)程序來(lái)說(shuō),一個(gè)非常重要的特性就是控制器是否能夠同時(shí)控制兩個(gè)或者多個(gè)驅(qū)動(dòng)器進(jìn)行磁道尋址,這就是重疊尋道(overlapped seek)。對(duì)于控制器來(lái)說(shuō),它能夠控制一個(gè)磁盤(pán)驅(qū)動(dòng)程序完成尋道操作,同時(shí)讓其他驅(qū)動(dòng)程序等待尋道結(jié)束??刂破饕部梢栽谝粋€(gè)驅(qū)動(dòng)程序上進(jìn)行讀寫(xiě)操作,與此同時(shí)讓另外的驅(qū)動(dòng)器進(jìn)行尋道操作,但是軟盤(pán)控制器不能在兩個(gè)驅(qū)動(dòng)器上進(jìn)行讀寫(xiě)操作。

RAID

RAID 稱(chēng)為 磁盤(pán)冗余陣列,簡(jiǎn)稱(chēng) 磁盤(pán)陣列。利用虛擬化技術(shù)把多個(gè)硬盤(pán)結(jié)合在一起,成為一個(gè)或多個(gè)磁盤(pán)陣列組,目的是提升性能或數(shù)據(jù)冗余。

RAID 有不同的級(jí)別

  • RAID 0 - 無(wú)容錯(cuò)的條帶化磁盤(pán)陣列
  • RAID 1 - 鏡像和雙工
  • RAID 2 - 內(nèi)存式糾錯(cuò)碼
  • RAID 3 - 比特交錯(cuò)奇偶校驗(yàn)
  • RAID 4 - 塊交錯(cuò)奇偶校驗(yàn)
  • RAID 5 - 塊交錯(cuò)分布式奇偶校驗(yàn)
  • RAID 6 - P + Q冗余

磁盤(pán)格式化

磁盤(pán)由一堆鋁的、合金或玻璃的盤(pán)片組成,磁盤(pán)剛被創(chuàng)建出來(lái)后,沒(méi)有任何信息。磁盤(pán)在使用前必須經(jīng)過(guò)低級(jí)格式化(low-levvel format),下面是一個(gè)扇區(qū)的格式

 

前導(dǎo)碼相當(dāng)于是標(biāo)示扇區(qū)的開(kāi)始位置,通常以位模式開(kāi)始,前導(dǎo)碼還包括柱面號(hào)、扇區(qū)號(hào)等一些其他信息。緊隨前導(dǎo)碼后面的是數(shù)據(jù)區(qū),數(shù)據(jù)部分的大小由低級(jí)格式化程序來(lái)確定。大部分磁盤(pán)使用 512 字節(jié)的扇區(qū)。數(shù)據(jù)區(qū)后面是 ECC,ECC 的全稱(chēng)是 error correction code ,數(shù)據(jù)糾錯(cuò)碼,它與普通的錯(cuò)誤檢測(cè)不同,ECC 還可以用于恢復(fù)讀錯(cuò)誤。ECC 階段的大小由不同的磁盤(pán)制造商實(shí)現(xiàn)。ECC 大小的設(shè)計(jì)標(biāo)準(zhǔn)取決于設(shè)計(jì)者愿意犧牲多少磁盤(pán)空間來(lái)提高可靠性,以及程序可以處理的 ECC 的復(fù)雜程度。通常情況下 ECC 是 16 位,除此之外,硬盤(pán)一般具有一定數(shù)量的備用扇區(qū),用于替換制造缺陷的扇區(qū)。

低級(jí)格式化后的每個(gè) 0 扇區(qū)的位置都和前一個(gè)磁道存在偏移,如下圖所示

 

這種方式又被稱(chēng)為 柱面斜進(jìn)(cylinder skew),之所以采用這種方式是為了提高程序的運(yùn)行性能??梢赃@樣想,磁盤(pán)在轉(zhuǎn)動(dòng)的過(guò)程中會(huì)經(jīng)由磁頭來(lái)讀取扇區(qū)信息,在讀取內(nèi)側(cè)一圈扇區(qū)數(shù)據(jù)后,磁頭會(huì)進(jìn)行向外側(cè)磁道的尋址操作,尋址操作的同時(shí)磁盤(pán)在繼續(xù)轉(zhuǎn)動(dòng),如果不采用這種方式,可能剛好磁頭尋址到外側(cè),0 號(hào)扇區(qū)已經(jīng)轉(zhuǎn)過(guò)了磁頭,所以需要旋轉(zhuǎn)一圈才能等到它繼續(xù)讀取,通過(guò)柱面斜進(jìn)的方式可以消除這一問(wèn)題。

柱面斜進(jìn)量取決于驅(qū)動(dòng)器的幾何規(guī)格。柱面斜進(jìn)量就是兩個(gè)相鄰?fù)膱A 0 號(hào)扇區(qū)的差異量。如下圖所示

 

這里需要注意一點(diǎn),不只有柱面存在斜進(jìn),磁頭也會(huì)存在斜進(jìn)(head skew),但是磁頭斜進(jìn)比較小。

磁盤(pán)格式化會(huì)減少磁盤(pán)容量,減少的磁盤(pán)容量都會(huì)由前導(dǎo)碼、扇區(qū)間間隙和 ECC 的大小以及保留的備用扇區(qū)數(shù)量。

在磁盤(pán)使用前,還需要經(jīng)過(guò)最后一道工序,那就是對(duì)每個(gè)分區(qū)分別執(zhí)行一次高級(jí)格式化(high-level format),這一操作要設(shè)置一個(gè)引導(dǎo)塊、空閑存儲(chǔ)管理(采用位圖或者是空閑列表)、根目錄和空文件系統(tǒng)。這一步操作會(huì)把碼放在分區(qū)表項(xiàng)中,告訴分區(qū)使用的是哪種文件系統(tǒng),因?yàn)樵S多操作系統(tǒng)支持多個(gè)兼容的文件系統(tǒng)。在這一步之后,系統(tǒng)就可以進(jìn)行引導(dǎo)過(guò)程。

當(dāng)電源通電后,BIOS 首先運(yùn)行,它會(huì)讀取主引導(dǎo)記錄并跳轉(zhuǎn)到主引導(dǎo)記錄中。然后引導(dǎo)程序會(huì)檢查以了解哪個(gè)分區(qū)是處于活動(dòng)的。然后,它從該分區(qū)讀取啟動(dòng)扇區(qū)(boot sector)并運(yùn)行它。啟動(dòng)扇區(qū)包含一個(gè)小程序來(lái)加載一個(gè)更大一點(diǎn)的引導(dǎo)器來(lái)搜索文件系統(tǒng)以找到系統(tǒng)內(nèi)核(system kernel),然后程序被轉(zhuǎn)載進(jìn)入內(nèi)存并執(zhí)行。

“這里說(shuō)下什么是引導(dǎo)扇區(qū):引導(dǎo)扇區(qū)是磁盤(pán)或者存儲(chǔ)設(shè)備的保留扇區(qū),其中包含用于完成計(jì)算機(jī)或磁盤(pán)引導(dǎo)過(guò)程所必要的數(shù)據(jù)或者代碼。引導(dǎo)扇區(qū)存儲(chǔ)引導(dǎo)記錄數(shù)據(jù),這些數(shù)據(jù)用于在計(jì)算機(jī)啟動(dòng)時(shí)提供指令。有兩種不同類(lèi)型的引導(dǎo)扇區(qū)

Master boot record 稱(chēng)為主引導(dǎo)扇區(qū)

Volume boot record 卷啟動(dòng)記錄

對(duì)于分區(qū)磁盤(pán),引導(dǎo)扇區(qū)由主引導(dǎo)記錄組成;非分區(qū)磁盤(pán)由卷啟動(dòng)記錄組成。

磁盤(pán)臂調(diào)度算法

下面我們來(lái)探討一下關(guān)于影響磁盤(pán)讀寫(xiě)的算法,一般情況下,影響磁盤(pán)快讀寫(xiě)的時(shí)間由下面幾個(gè)因素決定

  • 尋道時(shí)間 - 尋道時(shí)間指的就是將磁盤(pán)臂移動(dòng)到需要讀取磁盤(pán)塊上的時(shí)間
  • 旋轉(zhuǎn)延遲 - 等待合適的扇區(qū)旋轉(zhuǎn)到磁頭下所需的時(shí)間
  • 實(shí)際數(shù)據(jù)的讀取或者寫(xiě)入時(shí)間

這三種時(shí)間參數(shù)也是磁盤(pán)尋道的過(guò)程。一般情況下,尋道時(shí)間對(duì)總時(shí)間的影響最大,所以,有效的降低尋道時(shí)間能夠提高磁盤(pán)的讀取速度。

如果磁盤(pán)驅(qū)動(dòng)程序每次接收一個(gè)請(qǐng)求并按照接收順序完成請(qǐng)求,這種處理方式也就是 先來(lái)先服務(wù)(First-Come, First-served, FCFS) ,這種方式很難優(yōu)化尋道時(shí)間。因?yàn)槊看味紩?huì)按照順序處理,不管順序如何,有可能這次讀完后需要等待一個(gè)磁盤(pán)旋轉(zhuǎn)一周才能繼續(xù)讀取,而其他柱面能夠馬上進(jìn)行讀取,這種情況下每次請(qǐng)求也會(huì)排隊(duì)。

通常情況下,磁盤(pán)在進(jìn)行尋道時(shí),其他進(jìn)程會(huì)產(chǎn)生其他的磁盤(pán)請(qǐng)求。磁盤(pán)驅(qū)動(dòng)程序會(huì)維護(hù)一張表,表中會(huì)記錄著柱面號(hào)當(dāng)作索引,每個(gè)柱面未完成的請(qǐng)求會(huì)形成鏈表,鏈表頭存放在表的相應(yīng)表項(xiàng)中。

一種對(duì)先來(lái)先服務(wù)的算法改良的方案是使用 最短路徑優(yōu)先(SSF) 算法,下面描述了這個(gè)算法。

假如我們?cè)趯?duì)磁道 6 號(hào)進(jìn)行尋址時(shí),同時(shí)發(fā)生了對(duì) 11 , 2 , 4, 14, 8, 15, 3 的請(qǐng)求,如果采用先來(lái)先服務(wù)的原則,如下圖所示

 

我們可以計(jì)算一下磁盤(pán)臂所跨越的磁盤(pán)數(shù)量為 5 + 9 + 2 + 10 + 6 + 7 + 12 = 51,相當(dāng)于是跨越了 51 次盤(pán)面,如果使用最短路徑優(yōu)先,我們來(lái)計(jì)算一下跨越的盤(pán)面

 

跨越的磁盤(pán)數(shù)量為 4 + 1 + 1 + 4 + 3 + 3 + 1 = 17 ,相比 51 足足省了兩倍的時(shí)間。

但是,最短路徑優(yōu)先的算法也不是完美無(wú)缺的,這種算法照樣存在問(wèn)題,那就是優(yōu)先級(jí) 問(wèn)題,

這里有一個(gè)原型可以參考就是我們?nèi)粘I钪械碾娞荩娞菔褂靡环N電梯算法(elevator algorithm) 來(lái)進(jìn)行調(diào)度,從而滿足協(xié)調(diào)效率和公平性這兩個(gè)相互沖突的目標(biāo)。電梯一般會(huì)保持向一個(gè)方向移動(dòng),直到在那個(gè)方向上沒(méi)有請(qǐng)求為止,然后改變方向。

電梯算法需要維護(hù)一個(gè)二進(jìn)制位,也就是當(dāng)前的方向位:UP(向上)或者是 DOWN(向下)。當(dāng)一個(gè)請(qǐng)求處理完成后,磁盤(pán)或電梯的驅(qū)動(dòng)程序會(huì)檢查該位,如果此位是 UP 位,磁盤(pán)臂或者電梯倉(cāng)移到下一個(gè)更高級(jí)未完成的請(qǐng)求。如果高位沒(méi)有未完成的請(qǐng)求,則取相反方向。當(dāng)方向位是 DOWN時(shí),同時(shí)存在一個(gè)低位的請(qǐng)求,磁盤(pán)臂會(huì)轉(zhuǎn)向該點(diǎn)。如果不存在的話,那么它只是停止并等待。

我們舉個(gè)例子來(lái)描述一下電梯算法,比如各個(gè)柱面得到服務(wù)的順序是 4,7,10,14,9,6,3,1 ,那么它的流程圖如下

 

所以電梯算法需要跨越的盤(pán)面數(shù)量是 3 + 3 + 4 + 5 + 3 + 3 + 1 = 22

電梯算法通常情況下不如 SSF 算法。

一些磁盤(pán)控制器為軟件提供了一種檢查磁頭下方當(dāng)前扇區(qū)號(hào)的方法,使用這樣的控制器,能夠進(jìn)行另一種優(yōu)化。如果對(duì)一個(gè)相同的柱面有兩個(gè)或者多個(gè)請(qǐng)求正等待處理,驅(qū)動(dòng)程序可以發(fā)出請(qǐng)求讀寫(xiě)下一次要通過(guò)磁頭的扇區(qū)。

“這里需要注意一點(diǎn),當(dāng)一個(gè)柱面有多條磁道時(shí),相繼的請(qǐng)求可能針對(duì)不同的磁道,這種選擇沒(méi)有代價(jià),因?yàn)檫x擇磁頭不需要移動(dòng)磁盤(pán)臂也沒(méi)有旋轉(zhuǎn)延遲。

對(duì)于磁盤(pán)來(lái)說(shuō),最影響性能的就是尋道時(shí)間和旋轉(zhuǎn)延遲,所以一次只讀取一個(gè)或兩個(gè)扇區(qū)的效率是非常低的。出于這個(gè)原因,許多磁盤(pán)控制器總是讀出多個(gè)扇區(qū)并進(jìn)行高速緩存,即使只請(qǐng)求一個(gè)扇區(qū)時(shí)也是這樣。一般情況下讀取一個(gè)扇區(qū)的同時(shí)會(huì)讀取該扇區(qū)所在的磁道或者是所有剩余的扇區(qū)被讀出,讀出扇區(qū)的數(shù)量取決于控制器的高速緩存中有多少可用的空間。

磁盤(pán)控制器的高速緩存和操作系統(tǒng)的高速緩存有一些不同,磁盤(pán)控制器的高速緩存用于緩存沒(méi)有實(shí)際被請(qǐng)求的塊,而操作系統(tǒng)維護(hù)的高速緩存由顯示地讀出的塊組成,并且操作系統(tǒng)會(huì)認(rèn)為這些塊在近期仍然會(huì)頻繁使用。

當(dāng)同一個(gè)控制器上有多個(gè)驅(qū)動(dòng)器時(shí),操作系統(tǒng)應(yīng)該為每個(gè)驅(qū)動(dòng)器都單獨(dú)的維護(hù)一個(gè)未完成的請(qǐng)求表。一旦有某個(gè)驅(qū)動(dòng)器閑置時(shí),就應(yīng)該發(fā)出一個(gè)尋道請(qǐng)求來(lái)將磁盤(pán)臂移到下一個(gè)被請(qǐng)求的柱面。如果下一個(gè)尋道請(qǐng)求到來(lái)時(shí)恰好沒(méi)有磁盤(pán)臂處于正確的位置,那么驅(qū)動(dòng)程序會(huì)在剛剛完成傳輸?shù)尿?qū)動(dòng)器上發(fā)出一個(gè)新的尋道命令并等待,等待下一次中斷到來(lái)時(shí)檢查哪個(gè)驅(qū)動(dòng)器處于閑置狀態(tài)。

錯(cuò)誤處理

磁盤(pán)在制造的過(guò)程中可能會(huì)有瑕疵,如果瑕疵比較小,比如只有幾位,那么使用壞扇區(qū)并且每次只是讓 ECC 糾正錯(cuò)誤是可行的,如果瑕疵較大,那么錯(cuò)誤就不可能被掩蓋。

一般壞塊有兩種處理辦法,一種是在控制器中進(jìn)行處理;一種是在操作系統(tǒng)層面進(jìn)行處理。

這兩種方法經(jīng)常替換使用,比如一個(gè)具有 30 個(gè)數(shù)據(jù)扇區(qū)和兩個(gè)備用扇區(qū)的磁盤(pán),其中扇區(qū) 4 是有瑕疵的。

 

控制器能做的事情就是將備用扇區(qū)之一重新映射。

 

還有一種處理方式是將所有的扇區(qū)都向上移動(dòng)一個(gè)扇區(qū)

 

上面這這兩種情況下控制器都必須知道哪個(gè)扇區(qū),可以通過(guò)內(nèi)部的表來(lái)跟蹤這一信息,或者通過(guò)重寫(xiě)前導(dǎo)碼來(lái)給出重新映射的扇區(qū)號(hào)。如果是重寫(xiě)前導(dǎo)碼,那么涉及移動(dòng)的方式必須重寫(xiě)后面所有的前導(dǎo)碼,但是最終會(huì)提供良好的性能。

穩(wěn)定存儲(chǔ)器

磁盤(pán)經(jīng)常會(huì)出現(xiàn)錯(cuò)誤,導(dǎo)致好的扇區(qū)會(huì)變成壞扇區(qū),驅(qū)動(dòng)程序也有可能掛掉。RAID 可以對(duì)扇區(qū)出錯(cuò)或者是驅(qū)動(dòng)器崩潰提出保護(hù),然而 RAID 卻不能對(duì)壞數(shù)據(jù)中的寫(xiě)錯(cuò)誤提供保護(hù),也不能對(duì)寫(xiě)操作期間的崩潰提供保護(hù),這樣就會(huì)破壞原始數(shù)據(jù)。

我們期望磁盤(pán)能夠準(zhǔn)確無(wú)誤的工作,但是事實(shí)情況是不可能的,但是我們能夠知道的是,一個(gè)磁盤(pán)子系統(tǒng)具有如下特性:當(dāng)一個(gè)寫(xiě)命令發(fā)給它時(shí),磁盤(pán)要么正確地寫(xiě)數(shù)據(jù),要么什么也不做,讓現(xiàn)有的數(shù)據(jù)完整無(wú)誤的保留。這樣的系統(tǒng)稱(chēng)為 穩(wěn)定存儲(chǔ)器(stable storage)。穩(wěn)定存儲(chǔ)器的目標(biāo)就是不惜一切代價(jià)保證磁盤(pán)的一致性。

穩(wěn)定存儲(chǔ)器使用兩個(gè)一對(duì)相同的磁盤(pán),對(duì)應(yīng)的塊一同工作形成一個(gè)無(wú)差別的塊。穩(wěn)定存儲(chǔ)器為了實(shí)現(xiàn)這個(gè)目的,定義了下面三種操作:

  • 穩(wěn)定寫(xiě)(stable write)
  • 穩(wěn)定讀(stable read)
  • 崩潰恢復(fù)(crash recovery)

穩(wěn)定寫(xiě)指的就是首先將塊寫(xiě)到比如驅(qū)動(dòng)器 1 上,然后將其讀回來(lái)驗(yàn)證寫(xiě)入的是否正確,如果不正確,那么就會(huì)再次嘗試寫(xiě)入和讀取,一直到能夠驗(yàn)證寫(xiě)入正確為止。如果塊都寫(xiě)完了也沒(méi)有驗(yàn)證正確,就會(huì)換塊繼續(xù)寫(xiě)入和讀取,直到正確為止。無(wú)論嘗試使用多少個(gè)備用塊,都是在對(duì)你驅(qū)動(dòng)器 1 寫(xiě)入成功之后,才會(huì)對(duì)驅(qū)動(dòng)器 2 進(jìn)行寫(xiě)入和讀取。這樣我們相當(dāng)于是對(duì)兩個(gè)驅(qū)動(dòng)器進(jìn)行寫(xiě)入。

穩(wěn)定讀指的就是首先從驅(qū)動(dòng)器 1 上進(jìn)行讀取,如果讀取操作會(huì)產(chǎn)生錯(cuò)誤的 ECC,則再次嘗試讀取,如果所有的讀取操作都會(huì)給出錯(cuò)誤的 ECC,那么會(huì)從驅(qū)動(dòng)器 2 上進(jìn)行讀取。這樣我們相當(dāng)于是對(duì)兩個(gè)驅(qū)動(dòng)器進(jìn)行讀取。

崩潰恢復(fù)指的是崩潰之后,恢復(fù)程序掃描兩個(gè)磁盤(pán),比較對(duì)應(yīng)的塊。如果一對(duì)塊都是好的并且是相同的,就不會(huì)觸發(fā)任何機(jī)制;如果其中一個(gè)塊觸發(fā)了 ECC 錯(cuò)誤,這時(shí)候就需要使用好塊來(lái)覆蓋壞塊。

如果 CPU 沒(méi)有崩潰的話,那么這種方式是可行的。如果在穩(wěn)定寫(xiě)期間出現(xiàn) CPU 崩潰會(huì)怎么樣?這就取決于崩潰發(fā)生的精確時(shí)間,有五種情況,下面來(lái)說(shuō)一下

  • 第一種情況是崩潰發(fā)生在寫(xiě)入之前,在恢復(fù)的時(shí)候就什么都不需要修改,舊的值也會(huì)繼續(xù)存在。

 

  • 第二種情況是 CPU 崩潰發(fā)生在寫(xiě)入驅(qū)動(dòng)器 1 的時(shí)候,崩潰導(dǎo)致塊內(nèi)容被破壞,然而恢復(fù)程序能夠檢測(cè)出這一種錯(cuò)誤,并且從驅(qū)動(dòng)器 2 恢復(fù)驅(qū)動(dòng)器 1 上的塊。

 

  • 第三種情況是崩潰發(fā)生在磁盤(pán)驅(qū)動(dòng)器 1 之后但是還沒(méi)有寫(xiě)驅(qū)動(dòng)器 2 之前,這種情況下由于磁盤(pán) 1 已經(jīng)寫(xiě)入成功

 

  • 第四種情況是崩潰發(fā)生在磁盤(pán)驅(qū)動(dòng) 1 寫(xiě)入后在磁盤(pán)驅(qū)動(dòng) 2 寫(xiě)入時(shí),恢復(fù)期間會(huì)用好的塊替換壞的塊,兩個(gè)塊的最終值都是最新的

 

  • 最后一種情況就是崩潰發(fā)生在兩個(gè)磁盤(pán)驅(qū)動(dòng)寫(xiě)入后,這種情況下不會(huì)發(fā)生任何問(wèn)題

 

這種模式下進(jìn)行任何優(yōu)化和改進(jìn)都是可行的,但是代價(jià)高昂,一種改進(jìn)是在穩(wěn)定寫(xiě)期間監(jiān)控被寫(xiě)入的塊,這樣在崩潰后進(jìn)行檢驗(yàn)的塊只有一個(gè)。

有一種 非易失性 RAM 能夠在崩潰之后保留數(shù)據(jù),但是這種方式并不推薦使用。

 

責(zé)任編輯:武曉燕 來(lái)源: Java建設(shè)者
相關(guān)推薦

2023-08-07 06:35:07

系統(tǒng)限流

2009-11-20 18:08:37

Oracle數(shù)據(jù)庫(kù)

2024-07-12 14:21:32

Python編碼

2025-03-13 06:22:59

2024-12-11 07:00:00

面向?qū)ο?/a>代碼

2009-11-16 10:53:30

Oracle Hint

2021-09-07 09:40:20

Spark大數(shù)據(jù)引擎

2019-08-09 10:33:36

開(kāi)發(fā)技能代碼

2021-06-07 09:51:22

原型模式序列化

2025-01-20 08:50:00

2024-09-18 08:21:24

JavaScriptTypeScriptprototype

2009-11-05 14:53:54

Visual Stud

2021-10-19 07:27:08

HTTP代理網(wǎng)絡(luò)

2009-10-22 16:18:19

Oracle表空間

2009-11-16 09:53:56

PHP上傳類(lèi)

2025-01-21 07:39:04

Linux堆內(nèi)存Golang

2009-11-17 14:50:50

Oracle調(diào)優(yōu)

2023-09-07 23:52:50

Flink代碼

2022-12-16 09:55:50

網(wǎng)絡(luò)架構(gòu)OSI

2021-12-01 06:50:50

Docker底層原理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)