現代作業系統是否考慮到了普通 PC 平台上可能發生的記憶體錯誤?

時間 2021-05-12 05:51:54

1樓:yyqq

記憶體速度部件,要快,絕對的快,如果作業系統對記憶體錯誤進行校驗,計算機效能會急劇下降,得不償失。

伺服器使用ECC記憶體,記憶體自身硬體實現糾錯,每64bit,能夠糾正1bit的錯誤,發現多bit錯誤。

這個就是BIOS日誌裡面記錄的ECC記憶體錯誤,這台機子我14年左右配的,現在各個零件基本到設計壽命了,日誌裡開始出現這種記錄。

普通pc用非ECC記憶體,理論上,每年至少會發生一兩次記憶體錯誤,但是,pc日常應用場景下記憶體佔用率低,就算已用記憶體發生錯誤,絕大多數情況下也不至於宕機藍屏,使用者無法察覺,頂多程式崩潰,但是記憶體錯誤導致的程式崩潰相對於程式bug導致的幾乎可以忽略。Windows 7以後,用了NT架構,作業系統穩定性得到了保證,現在一般筆記本用個幾年也從來不會藍屏、宕機。

2樓:222elm

一般作業系統沒有這方面的考慮。記憶體錯誤會產生難以預料的後果。藍屏,顯示器花屏,宕機,突然重啟,產生莫名其妙的結果,等等。

老的pc有開機檢測記憶體的設定,後來記憶體問題很少,每次開機等待記憶體檢測太費事,就不再檢測了。

記憶體出錯很多是接觸問題。懷疑記憶體本身問題需要用記憶體檢測程式或更換加以排除。

3樓:Shane

每個特定的系統某些特定資料會有自己保證措施,例如tcp的crc,但是對變數做冗餘這個事情基本不可能。程式執行路徑這麼多變數,即便是乙個迴圈過程的臨時變數bit flip也會導致毀滅性結果。而且冗餘多少份?

冗餘變數之間不一致怎麼裁決?還不如留給上層解決(物理遮蔽罩,ecc)。這就是zfs推薦用ecc的原因。

並不是zfs比其他檔案系統對記憶體的正確性有更高要求,而是在任何嚴肅的生產環境都都必須用ecc。不上ecc,所有的檔案系統都有可能掛。

4樓:

去年因為證書過期,導致日本網路大故障。

win10 如果證書出錯, 那些被微軟認證過的軟體就會被認為不是通過驗證的

比如驅動程式

5樓:chenc

沒聽說考慮過這個,也許硬體層面比如所謂帶檢驗的記憶體有一定的這種功能,軟體層面沒聽說要考慮這個。事實上我覺得軟體的bug出現的概率要遠大於硬體出這樣的問題。另外記憶體中隨機錯了一位未必有什麼影響,比如錯的是字串裡的一位,那只是文字錯了而已,你還以為是亂碼或者不小心輸入錯誤。

記憶體中還有大量的是暫時沒用到的空的,錯了也沒關係。如果在比較重要的地方錯了也許就某個應用崩潰,或者作業系統崩潰,也沒啥關係。

理論上說確實存在一種可能,比如銀行的某台機器的某個位元組突然亂了一位,然後你的卡上多了好多錢,不過這種故障多半後面對帳的環節能對出來。

據說宇航用的計算機好像有這種東西,因為在外太空有很多高能粒子,記憶體中某一位翻轉的可能性比較大,印象中看過乙個文章介紹使用3套同樣的計算機,然後對最後結果進行表決。

6樓:

考慮。自從 Windows Me 掙扎失敗之後,現代作業系統基本上是普通 PC 和伺服器核心都差不多的。普通 PC 記憶體錯誤導致的問題有些特殊情況是能發現和及時處理的,例如外存資料校驗失敗,然而由於缺乏相應的硬體支援,可能不如伺服器上處理得穩妥。

docker映象是否包含作業系統?

yangsoon 不包含,docker和虛擬機器最大的不同是docker和宿主機共享linux核心。docker映象只是乙個作業系統所包含的檔案 配置和目錄。 方大碗 不包含,可以參考 CSDN 專業IT技術社群 登入 自己從0搞乙個基礎映象。從文中可以看到,tar打包乙個目錄,import塞進do...

作業系統是否需要安裝在SSD中?

chen 我記得在迅馳平台的時候intel搞過乙個東西,叫做迅盤,有2g和4g的大小,minipcie的介面,裝在筆記本平台裡,用來加速軟體的啟動,我一開始嘗試覺得很新鮮,開啟一次軟體後立刻第二次開啟會很快,4g的迅盤可以直接把需要加速的軟體新增進去,可以在機械硬碟的年代享受到固態硬碟秒開軟體的快感...

作業系統的安裝是否會更改BIOS

HISENSE 自己研究明白啦,Windows自帶的啟動logo和BIOS沒有關係。windir Boot Resources bootres.dll logo藏在上邊的.dll檔案裡。 An idea 我是想改掉開機小新的狗頭。查了一下辦法 用聯想電腦管家裡的開機畫面修改,實測有效,解除安裝該軟體...