核心錯誤

核心錯誤

核心錯誤(Kernel panic)是指作業系統在監測到內部的致命錯誤,並無法安全處理此錯誤時採取的動作。

基本介紹

  • 中文名:核心錯誤
  • 外文名:Kernel panic
  • 級別:致命錯誤
  • 拼音:neihecuowu
  • 等同概念:藍屏當機
簡介,Mac OS X,Linux kernel oops,

簡介

核心錯誤(Kernel panic)是指作業系統在監測到內部的致命錯誤,並無法安全處理此錯誤時採取的動作。這個概念主要被限定在Unix以及類Unix系統中;對於MicrosoftWindows系統,等同的概念通常被稱為藍屏當機
作業系統核心中處理Kernel panic的子程式(在AT&T派生類以及BSD類Unix中,通常為panic())通常被設計用來向控制台輸出錯誤信息,向磁碟保存一份核心記憶體的轉儲,以便事後的調試,然後等待系統被手動重新引導,或自動重新引導。該程式提供的技術性信息通常是用來幫助系統管理員或者軟體開發者診斷問題的。
作業系統試圖讀寫無效或不允許的記憶體地址是導致核心錯誤的一個常見原因。核心錯誤也有可能在遇到硬體錯誤或作業系統BUG時發生。在許多情況中,作業系統可以在記憶體訪問違例發生時繼續運行。然而,系統處於不穩定狀態時,作業系統通常會停止工作以避免造成破壞安全和數據損壞的風險,並提供錯誤的診斷信息。
核心錯誤在早期的Unix系統中被引入,顯示了在Unix與其前序的Multics在設計哲學上的主要差異之一。
Linux中由硬碟硬體錯誤導致的核心錯誤Linux中由硬碟硬體錯誤導致的核心錯誤

Mac OS X

Mac OS X 10.6的核心錯誤警告,俗稱“五國”。調試信息同時被存儲在NVRAM中,並會在重啟時寫出日誌檔案。
Mac OS X 10.6的核心錯誤警告Mac OS X 10.6的核心錯誤警告
在Mac OS X v10.6Snow Leopard中,當進入核心錯誤後,會在畫面上出現一個有英語、法語、德語、西班牙語及日語的當機畫面,被多數麥金塔電腦用戶稱為“五國語言當機”,簡稱“五國”。同時,調試信息被存儲在NVRAM中,並會在重啟時寫出日誌檔案。
出現這樣的問題除了是作業系統上的問題,絕大多數是擴充存儲器出現問題,但亦有可能是其他硬體出現問題。此畫面亦多發生於黑蘋果安裝過程中。通常重啟即可解決問題,但有時候必須被送去維修才可以解決問題。
在Mac OS X v10.5 Leopard及以前的版本中,當機畫面沒有西班牙語,只包含英語、法語、德語及日語四種語言,因此被稱為“四國語言當機”,簡稱“四國”,由於使用時間較長,可能是多數用戶習慣的名稱。
四國語言當機畫面四國語言當機畫面
在 OS X v10.8 Mountain Lion及更高版本中,當機畫面多了簡體中文,會提示:“電腦因出現問題而重新啟動。請按一下按鍵,或等幾秒鐘以繼續啟動”

Linux kernel oops

在Linux上,oops即Linux核心的行為不正確,並產生了一份相關的錯誤日誌。許多類型的oops會導致核心錯誤,即使系統立即停止工作,但部分oops也允許繼續操作,作為與穩定性的妥協。這個概念只代表一個簡單的錯誤。
SPARC上的Linux核心oopsSPARC上的Linux核心oops
當核心檢測到問題時,它會列印一個oops信息然後殺死全部相關進程。oops信息可以幫助Linux核心工程師調試,檢測oops出現的條件,並修復導致oops的程式錯誤
Linux官方核心文檔中提到的oops信息被放在核心原始碼Documentation/oops-tracing.txt中。通常klogd是用來將oops信息從核心快取中提取出來的,然而,在某些系統上,例如最近的Debian發行版中,rsyslogd代替了klogd,因此,缺少klogd進程並不能說明log檔案中缺少oops信息的原因。
若系統遇到了oops,一些內部資源可能不再可用。即使系統看起來工作正常,非預期的副作用可能導致活動進程被終止。核心oops常常導致核心錯誤,若系統試圖使用被禁用的資源。

相關詞條

熱門詞條

聯絡我們