विंडोज़ में यूजर मोड बनाम कर्नेल मोड क्या है

Admin

आपने "कर्नेल" या "उपयोगकर्ता" मोड में चल रहे अनुप्रयोगों के बारे में सुना होगा। जब वे अपना काम करते हैं तो ऑपरेटिंग सिस्टम कैसे काम करते हैं, यह सब नीचे है। एक बार जब आप इसे समझ लेते हैं, तो उपयोगकर्ता मोड और कर्नेल मोड के बीच अंतर को समझना आसान हो जाता है।

यह समझना कि एक ऑपरेटिंग सिस्टम क्या करता है

एक कंप्यूटर में हार्डवेयर, इलेक्ट्रॉनिक घटक और सॉफ्टवेयर होते हैं, उस हार्डवेयर द्वारा निष्पादित कंप्यूटर कोड। लेकिन जो बात कम स्पष्ट हो सकती है वह यह है कि वे एक साथ कैसे काम करते हैं।

विषयसूची

कंप्यूटर का सबसे आवश्यक तत्व बिट या "बाइनरी डिजिट" है। कंप्यूटर जो कुछ भी करता है उसे इकाई और शून्य के रूप में दर्शाया जाता है। विभिन्न कंप्यूटर घटक अलग-अलग तरीकों से बिट्स का प्रतिनिधित्व करते हैं। में CPU, सूक्ष्म ट्रांजिस्टर या तो चालू या बंद करके इकाई और शून्य का प्रतिनिधित्व करते हैं। उन ट्रांजिस्टर को तार्किक संरचनाओं में व्यवस्थित किया जाता है, जिन्हें लॉजिक गेट कहा जाता है।

इलेक्ट्रॉनिक कंप्यूटर मेमोरी में, बिट्स को मेमोरी सेल्स द्वारा दर्शाया जाता है, जिनका चार्ज या तो एक निश्चित सीमा से ऊपर या नीचे होता है। एक यांत्रिक हार्ड ड्राइव पर, बिट्स को एक कताई प्लेट पर मापा गया चुंबकीय उतार-चढ़ाव के रूप में दर्शाया जाता है। ऑप्टिकल डिस्क पर, गड्ढे और भूमि जो लेजर प्रकाश को प्रतिबिंबित करती है या नहीं करती है, वही काम करती है।

कोई फर्क नहीं पड़ता कि बाइनरी कोड का भौतिक प्रतिनिधित्व कैसे प्राप्त किया जाता है, आप अंततः सभी उपभोक्ता कंप्यूटर घटकों को इस कच्चे मशीन कोड में कम कर सकते हैं।

तो आप कंप्यूटर के मानव-अनुकूल इंटरफेस से कंप्यूटर में ही कच्ची, निम्न-स्तरीय प्रक्रियाओं तक कैसे जाते हैं? यही वह जगह है जहां ऑपरेटिंग सिस्टम आता है। यह सीधे कंप्यूटर के हार्डवेयर को नियंत्रित करता है।

यह सॉफ़्टवेयर उन सभी अनुप्रयोगों (और इसलिए उपयोगकर्ता) को मशीन कोड निर्देशों में अनुवाद करता है जो सीपीयू और अन्य घटक समझते हैं। इस प्रक्रिया में सबसे महत्वपूर्ण सॉफ्टवेयर कर्नेल है।

कर्नेल क्या है?

कर्नेल, जैसा कि नाम से पता चलता है, ऑपरेटिंग सिस्टम का मूल है। कर्नेल एक सॉफ्टवेयर है जो में रहता है टक्कर मारना और वह सब कुछ निर्देशित करता है जो कंप्यूटर करता है। जब स्मृति में कुछ लिखा जाता है, तो यह कर्नेल है जो निष्पादन को निर्देशित करता है।

कर्नेल जानता है कि जीपीयू और नेटवर्क कार्ड जैसे हार्डवेयर के साथ कैसे इंटरफेस करना है, लेकिन यह नहीं जानता कि कंप्यूटर उद्योग में सामान्य मानकों पर भरोसा करते हुए उन्हें अपनी पूरी क्षमता से कैसे संचालित किया जाए।

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

सही ड्राइवरों से लैस, कर्नेल कंप्यूटर के भीतर अंतिम अधिकार है, जिसमें ऐसे काम करना शामिल है जो डेटा को विनाशकारी रूप से नष्ट कर सकते हैं।

एप्लिकेशन प्रोग्रामिंग इंटरफेस (एपीआई) की भूमिका

MS-DOS के दिनों में, सॉफ्टवेयर डेवलपर्स को अपना सॉफ्टवेयर विशेष रूप से उपयोगकर्ता के हार्डवेयर के लिए लिखना पड़ता था। MS-DOS सिस्टम पर इसका सबसे कुख्यात उदाहरण साउंड कार्ड ड्राइवर थे।

किसी दिए गए वीडियो गेम को सबसे लोकप्रिय कार्ड (साउंड ब्लास्टर, एड-लिब, ग्रेविस अल्ट्रासाउंड, आदि) का समर्थन करना होगा और आशा है कि अधिकांश खिलाड़ी कवर किए गए थे। आज, चीजें बहुत अलग तरह से काम करती हैं, एपीआई के लिए धन्यवाद।

Wolf3D से साउंडकार्ड चयन स्क्रीन

Microsoft DirectX एक बेहतरीन उदाहरण है। यदि आप गहराई से स्पष्टीकरण चाहते हैं, तो देखें DirectX क्या है और यह महत्वपूर्ण क्यों है? हालांकि, सबसे महत्वपूर्ण बात यह जानना है कि एपीआई सॉफ्टवेयर डेवलपर्स के लिए GPU जैसे घटकों से हार्डवेयर संसाधनों के लिए पूछने के लिए एक मानक तरीका प्रदान करता है। इसके अतिरिक्त, हार्डवेयर निर्माताओं को केवल यह सुनिश्चित करना चाहिए कि उनके उत्पाद DirectX का अनुपालन करते हैं ताकि किसी भी संगत सॉफ़्टवेयर के साथ पूर्ण संगतता सुनिश्चित हो सके।

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

उपयोगकर्ता मोड बनाम। कर्नेल मोड

आधुनिक ऑपरेटिंग सिस्टम सैकड़ों या हजारों "प्रक्रियाओं" को एक साथ चलाते हैं, गतिशील रूप से उन्हें उनकी प्राथमिकताओं और गणना शक्ति आवश्यकताओं के आधार पर आवश्यकतानुसार CPU समय देते हैं।

जब आप कोई एप्लिकेशन लॉन्च करते हैं, तो यह प्रक्रियाएं उत्पन्न करता है, और सीपीयू उन्हें उपयोगकर्ता मोड या कर्नेल मोड में निष्पादित कर सकता है।

उपयोगकर्ता मोड में चलने वाली एक विंडोज़ प्रक्रिया में केवल अपने निजी वर्चुअल मेमोरी एड्रेस स्पेस और हैंडल टेबल तक पहुंच होती है। सॉफ्टवेयर इन तालिकाओं का उपयोग रैम में डेटा स्टोर करने और संसाधनों का अनुरोध करने के लिए करता है। मेमोरी या अन्य हार्डवेयर तक कोई सीधी पहुंच नहीं है, और यह ऑपरेटिंग सिस्टम पर निर्भर करता है कि वह वर्चुअल स्पेस को कंप्यूटर के वास्तविक हार्डवेयर से मैप करे।

यह कई कारणों से अच्छा है, लेकिन सबसे महत्वपूर्ण लाभ यह है कि एप्लिकेशन अपने वर्चुअल मेमोरी एड्रेस स्पेस के बाहर डेटा को अधिलेखित या परिवर्तित नहीं कर सकता है। इसके अलावा, कुछ फ़ंक्शन उपयोगकर्ता-मोड प्रक्रियाओं के लिए ऑफ-लिमिट हैं, मुख्य रूप से वे जो सिस्टम को क्रैश कर सकते हैं या डेटा को नष्ट कर सकते हैं।

जब कोई प्रक्रिया शुरू होती है या कर्नेल मोड में उन्नत होती है, तो उसके पास सिस्टम संसाधनों तक पूर्ण पहुंच होती है, यहां तक ​​कि ऑपरेटिंग सिस्टम के लिए आरक्षित संसाधनों तक भी। इसलिए, सिद्धांत रूप में, यह महत्वपूर्ण डेटा को अधिलेखित कर सकता है जिसे ऑपरेटिंग सिस्टम को ठीक से चलाने की आवश्यकता होती है।

जाल और अपवाद

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

कर्नेल मोड के खतरे: मौत की नीली स्क्रीन

यदि आपने कभी ब्लू स्क्रीन ऑफ़ डेथ (जो नहीं है?) का अनुभव किया है जिसने आपके कंप्यूटर को स्विच ऑफ या रीस्टार्ट करने के लिए मजबूर किया है, तो एक अच्छा मौका है कि यह कर्नेल-मोड प्रक्रिया को दोष देने के लिए था।

जब कर्नेल मोड में एक प्रक्रिया कुछ ऐसा करती है जो उसे नहीं करनी चाहिए, तो ऑपरेटिंग सिस्टम इससे उबर नहीं सकता है, और पूरा कंप्यूटर रुक जाता है। जब एक उपयोगकर्ता-मोड प्रक्रिया खराब हो जाती है, केवल एप्लिकेशन क्रैश हो जाता है, और शेष सॉफ़्टवेयर और ऑपरेटिंग सिस्टम बिना किसी समस्या के चल सकता है।

यह एक ऐसा क्षेत्र है जहां एपीआई एक आवश्यक भूमिका निभाते हैं क्योंकि यह एपीआई कर्नेल-मोड विशेषाधिकारों के लिए पूछ रहा है। उपयोगकर्ता-मोड एप्लिकेशन अनिवार्य रूप से उन अनुरोधों को सौंपते हैं जिनके लिए एपीआई को कर्नेल-मोड विशेषाधिकारों की आवश्यकता होती है।

यही कारण है कि कर्नेल-मोड आमतौर पर केवल निम्न-स्तरीय सिस्टम प्रक्रियाओं को दिया जाता है जिन्हें सीधे कंप्यूटर के हार्डवेयर तक पहुंचने की आवश्यकता होती है। आमतौर पर, इस विशेषाधिकार को एक प्रक्रिया तक बढ़ा दिया जाता है क्योंकि इसे उपयोगकर्ता मोड की तुलना में अधिक प्रदर्शन की आवश्यकता होती है। कुछ सीपीयू निर्देश केवल कर्नेल मोड में काम करते हैं, इसलिए यदि किसी प्रक्रिया को उन कार्यों का उपयोग करने की आवश्यकता है, तो इसे ऊंचा करना होगा।

यदि आप मौत की नीली स्क्रीन से परेशान हैं, तो हमारा पढ़ना सुनिश्चित करें विंडोज 10 के लिए ब्लू स्क्रीन ऑफ डेथ ट्रबलशूटिंग गाइड!

हेल्प डेस्क गीक में आपका स्वागत है- विश्वसनीय तकनीकी विशेषज्ञों के तकनीकी सुझावों से भरा ब्लॉग। किसी भी समस्या का निवारण करने में आपकी सहायता के लिए हमारे पास हजारों लेख और मार्गदर्शिकाएँ हैं। 2008 में लॉन्च होने के बाद से हमारे लेखों को 150 मिलियन से अधिक बार पढ़ा जा चुका है।

हम स्पैम से भी नफरत करते हैं, किसी भी समय सदस्यता समाप्त करें।

विंडोज़ में एचपी सिस्टम इवेंट यूटिलिटी: वह सब कुछ जो आपको जानना आवश्यक है
विंडोज़ में एचपी सिस्टम इवेंट यूटिलिटी: वह सब कुछ जो आपको जानना आवश्यक है

क्या आप टास्क मैनेजर में एचपी सिस्टम इवेंट यूटिलिटी प्रक्रिया के बारे में चिंतित हैं? शायद यह सिस...

विंडोज़ 11 पर "डाउनलोड त्रुटि - 0x80248007" को कैसे ठीक करें
विंडोज़ 11 पर "डाउनलोड त्रुटि - 0x80248007" को कैसे ठीक करें

आपके विंडोज 11 पीसी पर "डाउनलोड त्रुटि - 0x80248007" संदेश बताता है कि आपका विंडोज या ड्राइवर अपड...

विंडोज़ पर त्रुटि कोड 0xc0000005 को कैसे ठीक करें
विंडोज़ पर त्रुटि कोड 0xc0000005 को कैसे ठीक करें

क्या आपको अपने विंडोज़ पीसी पर ऐप लॉन्च करते समय 0xc0000005 त्रुटि मिलती है? इस बात की पूरी संभाव...