में शामिल ओवरहेड क्या होता है कई बार मैं तर्क को पढ़ता/सुनता हूं कि बहुत से सिस्टम कॉल इत्यादि अक्षम होते हैं क्योंकि एप्लिकेशन एक मोड स्विच करता है यानी उपयोगकर्ता मोड से कर्नेल मोड में जाता है और निष्पादन के बाद सिस्टम कॉल फिर से मोड स्विच करके उपयोगकर्ता मोड में निष्पादन करना शुरू कर देता है।मोड स्विच
मेरा प्रश्न यह है कि एक मोड स्विच का ओवरहेड क्या है? क्या सीपीयू कैश अमान्य हो जाता है या टीएलबी प्रविष्टियां फिसल जाती हैं या क्या होता है जो ओवरहेड का कारण बनता है?
कृपया ध्यान दें कि मैं मोड स्विच में शामिल ओवरहेड के बारे में पूछ रहा हूं, संदर्भ संदर्भ नहीं। मुझे पता है कि मोड स्विच और संदर्भ स्विच दो अलग-अलग चीजें हैं और मैं संदर्भ स्विच से जुड़े ओवरहेड के बारे में पूरी तरह से अवगत हूं, लेकिन मुझे समझने में असफल रहा है कि मोड स्विच द्वारा ओवरहेड क्या होता है?
तो इसके संभावित Linux, FreeBSD, सोलारिस आदि जैसे किसी विशेष * nix मंच के बारे में कुछ जानकारी प्रदान करें
सादर
लाली
कोई डेटा कैशिंग नहीं हो रहा है; यही कारण है कि मैंने यह सत्यापित करने के लिए स्ट्रेस का इस्तेमाल किया कि सिस्टम कॉल हो रहा है। परिभाषा के अनुसार एक syscall, कर्नेल अंतरिक्ष में एक कॉल है। –
इसके अलावा, आपका दावा है कि एक मोड स्विच एक संदर्भ स्विच के बराबर है, यह सच नहीं है। एक संदर्भ स्विच में पूरे सीपीयू राज्य और पेज टेबल को स्वैप करना शामिल है; यह महत्वपूर्ण काम है जो सिस्टम कॉल के लिए आवश्यक नहीं है। एक सिस्कल एक साधारण सॉफ़्टवेयर बाधा है (x86 असेंबली "int $ 0x80") –
तो सिस्कोल में केवल एक प्रस्तावना और एक आईएनटी निर्देश है? – Juice