कर्नेल पैनिक

कर्नेल पैनिक (कभी-कभी संक्षेप में केपी ) एक आंतरिक घातक सिस्टम त्रुटि का पता लगाने पर एक ऑपरेटिंग सिस्टम के कर्नेल (ऑपरेटिंग सिस्टम) द्वारा लिया गया एक सुरक्षा उपाय है जिसमें या तो यह सुरक्षित रूप से पुनर्प्राप्त करने में असमर्थ है या सिस्टम को चलाने के लिए प्रमुख डेटा हानि का उच्च जोखिम होगा। यह शब्द काफी हद तक यूनिक्स और यूनिक्स जैसी प्रणालियों के लिए विशिष्ट है। Microsoft Windows ऑपरेटिंग सिस्टम पर समतुल्य मौत की एक नीली स्क्रीन है, जिसे अक्सर मौत की नीली स्क्रीन कहा जाता है।

कर्नेल (ऑपरेटिंग सिस्टम) रूटीन जो पैनिक्स को संभालते हैं, के रूप में जाना जाता है  AT&T Corporation|AT&T-व्युत्पन्न और  बर्कले सॉफ्टवेयर वितरण  यूनिक्स स्रोत कोड में, आम तौर पर सिस्टम कंसोल के लिए एक त्रुटि संदेश को आउटपुट करने के लिए डिज़ाइन किया गया है, पोस्टमार्टम डिबगिंग के लिए कर्नेल मेमोरी की एक छवि को डिस्क पर डंप करें, और फिर या तो सिस्टम के लिए प्रतीक्षा करें मैन्युअल रूप से  रिबूट  करें, या स्वचालित रीबूट प्रारंभ करें। प्रदान की गई जानकारी अत्यधिक तकनीकी प्रकृति की है और इसका उद्देश्य समस्या के निदान में सिस्टम प्रशासक या सॉफ्टवेयर डेवलपर की सहायता करना है। कर्नेल पैनिक कर्नेल स्थान के बाहर होने वाली त्रुटियों के कारण भी हो सकता है। उदाहरण के लिए, कई यूनिक्स ऑपरेटिंग सिस्टम घबरा जाते हैं यदि init प्रक्रिया, जो उपयोगकर्ता स्थान और कर्नेल स्थान में चलती है, समाप्त हो जाती है।

इतिहास
यूनिक्स कर्नेल त्रुटि का पता लगाने और अलगाव तंत्र के रूप में अभिकथन (सॉफ्टवेयर विकास) के साथ आंतरिक स्थिरता और रनटाइम (कार्यक्रम जीवनचक्र चरण) की शुद्धता को बनाए रखता है। मूल धारणा यह है कि हार्डवेयर और सॉफ्टवेयर को सही ढंग से प्रदर्शन करना चाहिए और एक अभिकथन की विफलता के परिणामस्वरूप घबराहट होती है, यानी सभी सिस्टम गतिविधि के लिए एक स्वैच्छिक रोक। कर्नेल पैनिक को यूनिक्स के शुरुआती संस्करण में पेश किया गया था और इसने यूनिक्स और इसके पूर्ववर्ती मॉलटिक्स  के डिजाइन दर्शन के बीच एक बड़ा अंतर प्रदर्शित किया। मल्टिक्स डेवलपर टॉम वानवेलेक यूनिक्स डेवलपर डेनिस रिची के साथ इस बदलाव की चर्चा को याद करते हैं:

मैंने डेनिस से टिप्पणी की कि मल्टिक्स में मैं जो कोड लिख रहा था वह आसानी से त्रुटि पुनर्प्राप्ति कोड था। उन्होंने कहा, हमने वह सब सामान बाहर छोड़ दिया। यदि कोई त्रुटि है, तो हमारे पास यह दिनचर्या है जिसे पैनिक कहा जाता है, और जब यह कहा जाता है, तो मशीन क्रैश हो जाती है, और आप हॉल में चिल्लाते हैं, 'अरे, इसे रीबूट करें।' 

मूल  फ़ंक्शन अनिवार्य रूप से पांचवें संस्करण UNIX से VAX- आधारित UNIX 32V में अपरिवर्तित था और केवल एक त्रुटि संदेश आउटपुट करता था जिसमें कोई अन्य जानकारी नहीं थी, फिर सिस्टम को एक अंतहीन निष्क्रिय लूप में गिरा दिया।

का स्रोत कोड  संस्करण 6 यूनिक्स में कार्य: जैसा कि यूनिक्स codebase  बढ़ाया गया था,   डिबगिंग जानकारी के विभिन्न रूपों को कंसोल में डंप करने के लिए फ़ंक्शन को भी बढ़ाया गया था।

कारण
हार्डवेयर विफलता या ऑपरेटिंग सिस्टम में सॉफ्टवेयर बग के परिणामस्वरूप घबराहट हो सकती है। कई मामलों में, त्रुटि होने के बाद ऑपरेटिंग सिस्टम निरंतर संचालन में सक्षम होता है। हालाँकि, सिस्टम एक अस्थिर स्थिति में है और सुरक्षा उल्लंघनों और डेटा भ्रष्टाचार को जोखिम में डालने के बजाय, ऑपरेटिंग सिस्टम आगे की क्षति को रोकने और त्रुटि के निदान की सुविधा के लिए बंद हो जाता है और सामान्य मामलों में, पुनरारंभ होता है। स्रोत कोड से एक कर्नेल बाइनरी छवि को पुन: संकलित करने के बाद, परिणामी कर्नेल को बूट करते समय एक कर्नेल पैनिक एक सामान्य समस्या है यदि कर्नेल को सही ढंग से कॉन्फ़िगर, संकलित या स्थापित नहीं किया गया था। ओएस के साथ असंगति या डिवाइस ड्राइवर की कमी के कारण एड-ऑन हार्डवेयर या खराब रैम स्टार्ट अप के दौरान घातक कर्नेल त्रुटियों के स्रोत भी हो सकते हैं। एक कर्नेल भी जा सकता है  अगर यह रूट फाइल सिस्टम का पता लगाने में असमर्थ है। कर्नेल उपयोक्ता स्थान इनिशियलाइज़ेशन के अंतिम चरणों के दौरान, यदि init का स्पॉइंग विफल हो जाता है, तो आमतौर पर एक घबराहट शुरू हो जाती है। यदि init प्रक्रिया समाप्त हो जाती है, तो घबराहट भी शुरू हो सकती है, क्योंकि तब सिस्टम अनुपयोगी हो जाएगा। निम्नलिखित में लिनक्स कर्नेल के अंतिम आरंभीकरण का कार्यान्वयन है :<रेफरी नाम= lxr, init/main.c >linux/init/main.c, LXR क्रॉस रेफरेंसर< / संदर्भ>

लिनक्स
लिनक्स में अन्य यूनिक्स जैसी प्रणालियों की तरह कर्नेल पैनिक दिखाई देते हैं, लेकिन वे एक अन्य प्रकार की त्रुटि स्थिति भी उत्पन्न कर सकते हैं, जिसे लिनक्स कर्नेल उफ़ के रूप में जाना जाता है। इस मामले में, कर्नेल सामान्य रूप से आपत्तिजनक प्रक्रिया (कंप्यूटिंग) को मारने (यूनिक्स) के बाद चलाना जारी रखता है। चूंकि उफ़ के कारण कुछ सबसिस्टम या संसाधन अनुपलब्ध हो सकते हैं, वे बाद में पूर्ण कर्नेल पैनिक का कारण बन सकते हैं।

लिनक्स पर, एक कर्नेल पैनिक एक महत्वपूर्ण स्थिति के दृश्य संकेत के रूप में कीबोर्ड एलईडी को ब्लिंक करने का कारण बनता है।

मैकओएस
जब macOS 10.2 से 10.7 में कर्नेल पैनिक होता है, तो कंप्यूटर एक बहुभाषी संदेश प्रदर्शित करता है जो उपयोगकर्ता को सूचित करता है कि उन्हें सिस्टम को रिबूट करने की आवश्यकता है। 10.2 से पहले, एक अधिक पारंपरिक यूनिक्स-शैली पैनिक संदेश प्रदर्शित किया गया था; 10.8 और बाद में, कंप्यूटर स्वचालित रूप से रीबूट हो जाता है और पुनरारंभ होने के बाद एक संदेश प्रदर्शित करता है। संदेश का प्रारूप संस्करण से संस्करण में भिन्न होता है:
 * 10.0-10.1: सिस्टम स्क्रीन पर पाठ प्रदर्शित करता है, त्रुटि के बारे में विवरण देता है, और अनुत्तरदायी हो जाता है।
 * 10.2: एक काले पारदर्शी पर्दे को नीचे करता है, फिर एक सफेद पृष्ठभूमि पर एक संदेश प्रदर्शित करता है जो उपयोगकर्ता को सूचित करता है कि उन्हें कंप्यूटर को पुनरारंभ करना चाहिए। संदेश अंग्रेजी भाषा, फ्रेंच भाषा, जर्मन भाषा और जापानी भाषा में दिखाया गया है।
 * 10.3-10.5: कर्नेल पैनिक लगभग संस्करण 10.2 के समान है लेकिन त्रुटि स्क्रीन की पृष्ठभूमि काली है।
 * 10.6-10.7: पाठ को संशोधित किया गया है और अब इसमें स्पेनिश भाषा का अनुवाद शामिल है।
 * 10.8 और बाद में: कंप्यूटर तुरंत रीबूट होने से पहले अनुत्तरदायी हो जाता है। जब कंप्यूटर बैक अप शुरू करता है, तो यह कुछ सेकंड के लिए कर्नेल पैनिक के कारण कंप्यूटर के पुनरारंभ होने के बारे में एक चेतावनी संदेश दिखाता है, और फिर कंप्यूटर बैक अप को पुनरारंभ करता है। संदेश में अब चीनी भाषा में अनुवाद शामिल है।

कभी-कभी जब पहले एक के तीन मिनट के भीतर पांच या अधिक कर्नेल पैनिक होते हैं, तो मैक 30 सेकंड के लिए कोई प्रतीक नहीं प्रदर्शित करेगा, और फिर बंद हो जाएगा; इसे आवर्ती कर्नेल पैनिक के रूप में जाना जाता है।

10.2 से ऊपर के सभी संस्करणों में, पाठ को पावर प्रतीक पर आरोपित किया गया है और यह पूर्ण स्क्रीन नहीं है। डिबगिंग जानकारी गैर-वाष्पशील रैंडम-एक्सेस मेमोरी में सहेजी जाती है और रीबूट पर लॉग फ़ाइल में लिखी जाती है। 10.7 में कर्नेल पैनिक के बाद स्वचालित रूप से पुनः आरंभ करने की सुविधा है। कुछ मामलों में, 10.2 और बाद में, त्रुटि का विवरण देने वाला सफेद पाठ स्टैंडबाय प्रतीक के अतिरिक्त दिखाई दे सकता है।

यह भी देखें

 * कोर निपात
 * मौत के नीले स्क्रीन
 * मौत का पर्दा
 * मशीन-चेक अपवाद (MCE)
 * विश्वसनीयता, उपलब्धता और सेवाक्षमता (RAS)