內核錯誤

內核錯誤  是指操作系統在監測到內部的致命錯誤 ， 並無法安全處理此錯誤時採取的動作 。 這個概念主要被限定在Unix以及類Unix系統中 ； 對於Microsoft Windows系統 ， 等同的概念通常被稱爲藍屏死機 。 操作系統內核中處理Kernel panic的子程序 （ 在AT & T衍生類以及BSD類Unix中 ， 通常稱爲panic ） 通常被設計用來向控制檯輸出錯誤信息 ， 向磁盤保存一份內核內存的轉儲 ， 以便事後的調試 ， 然後等待系統被手動重新引導 ， 或自動重新引導 。 該程序提供的技術性信息通常是用來幫助系統管理員或者軟件開發者診斷問題的 。 操作系統試圖讀寫無效或不允許的內存地址是導致內核錯誤的一個常見原因 。 內核錯誤也有可能在遇到硬件錯誤或操作系統BUG時發生 。 在不同情況中 ， 操作系統可以在內存訪問違例發生時繼續運行 。 然而 ， 系統處於不穩定狀態時 ， 操作系統通常會停止工作以避免造成破壞安全和數據損壞的風險 ， 並提供錯誤的診斷信息 。 內核錯誤在早期的Unix系統中被引入 ， 顯示了在Unix與Multics在設計哲學上的主要差異之一 。 Multics的開發者Tom van Vleck曾引述了一段在這個問題上與Unix開發者Dennis Ritchie的討論 ： 原始的panic 函數從UNIX第五版開始到基於VAX的UNIX 32V期間幾乎沒有變化 ， 只是輸出一條錯誤信息 ， 然後就使系統進入NOP的死循環中 。 當改進UNIX的基礎代碼的時候 ， panic 函數也有所改進 ， 可以向控制檯輸出多種格式的調試信息 。