मल्टीकोर लिनक्स सिस्टम में सिस्टम कॉल कैसे निपटाए जाते हैं?


1

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

जवाबों:


0

यह ओएस और इसके संस्करण पर निर्भर करता है। हालाँकि, सभी लिनक्स कर्नेल उपयोग में हैं, फिर भी यह अलग है और न केवल विभिन्न सीपीयू से, बल्कि एक ही सीपीयू पर अलग-अलग थ्रेड से भी कई बार कहा जा सकता है। वे वैश्विक वाले की बजाय बारीक ताले का उपयोग करते हैं। (हालांकि, बिग कर्नेल लॉक भी देखें , जो 2011 तक पूरी तरह से हटाया नहीं गया था ।)

FreeBSD (जिसका अपना "विशालकाय लॉक" है):


1
वास्तव में आपके उत्तर की सराहना की। इसने मेरी बहुत मदद की। वैसे भी, मुझे लगता है कि मैं सपना देख रहा हूं। यह आश्चर्यजनक है और मुझे विश्वास नहीं हो रहा है कि मुझे एक घंटे में जवाब मिल गया, जिसमें से मुझे नहीं पता था। बहुत बहुत आभार।
हैप्पी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.