का उपयोग कर उपयोगकर्ता-मोड पर स्विच करना मैं एक छोटा ओएस लिख रहा हूं जो उपयोगकर्ता मोड (विशेषाधिकार स्तर 3) में कुछ कोड निष्पादित करेगा। उस उपयोगकर्ता स्तर कोड से, मैं ओएस पर एक इंटरप्ट को वापस कॉल करना चाहता हूं जो एक संदेश प्रिंट करता है। अभी मैं वास्तव में परवाह नहीं करता कि मेरा इंटरप्ट हैंडलर तर्क या कुछ ऐसा कैसे लेता है, मैं वास्तव में एक इंटरप्ट हैंडलर चाहता हूं कि मुझे सूचित करें कि उपयोगकर्ता (उपयोगकर्ता) को कोड निष्पादित किया गया है।आईरेट
मेरा प्रश्न है: मैं उपयोगकर्ता मोड में कोड कैसे चला सकता हूं? मेरे पास एक ऐसा फ़ंक्शन है जो एक कोड सेगमेंट और डेटा सेगमेंट (उपयोगकर्ता मोड विशेषाधिकार दोनों के साथ) के साथ एक स्थानीय वर्णनकर्ता तालिका सेट करता है। मुझे समझ में नहीं आता कि मैं इन खंडों को cs
, ss
, और ds
में लोड करना चाहता हूं। मैंने सफलतापूर्वक अपना एलडीटी लोड किया है, लेकिन मुझे नहीं पता कि वास्तव में इसका उपयोग कैसे किया जाए। मैंने सुना है कि मुझे iret
का उपयोग करना चाहिए, लेकिन मुझे बिल्कुल समझ में नहीं आता है।
मेरे पास एक और सवाल यह है कि मेरे इंटरप्ट हैंडलर को कैसे काम करना चाहिए। मान लें कि मैं वेक्टर नंबर 0x40 के लिए एक इंटरप्ट हैंडलर स्थापित करता हूं, जिसे मैं "हैलो, उपयोगकर्ता मोड" प्रिंट करना चाहता हूं। मुझे पता है कि एक इंटरप्ट हैंडलर कैसे सेट अप करें, लेकिन मुझे समझ में नहीं आता कि उपयोगकर्ता मोड से कर्नेल इंटरप्ट हैंडलर दर्ज करते समय संदर्भ कैसे स्विच किया जाएगा। मुझे पता है कि cs
रजिस्टर बदलना चाहिए, क्योंकि मेरी दिनचर्या मेरी आईडीटी प्रविष्टि में निर्दिष्ट कोड सेगमेंट से चल रही है। मैं यह भी समझता हूं कि स्टैक चयनकर्ता शायद भी बदलता है, लेकिन मैं इसके बारे में निश्चित नहीं हो सकता।
क्या कोई मुझे बता सकता है कि एक इंटरप्ट गेट कहलाता है जब संदर्भ परिवर्तन किए जाते हैं?
ठीक है, आपने मेरे प्रश्न का उत्तर दिया और अधिक! अब मैं समझ रहा हूं कि मुझे एक टीएसएस होना चाहिए जिसमें मेरा कर्नेल स्टैक इत्यादि हो। सहायता के लिए धन्यवाद। –
मैं बस इसे ऊपर उठाने के लिए लॉग इन किया है! धन्यवाद! इसके अलावा किसी और के लिए, मैं osdev, और इंटेल आईएसए मैनुअल की भी सलाह देता हूं। वे वास्तव में चीजों को साफ़ करते हैं। – Sid
मेरा क्या मतलब है आईआरईटी डेटा सेगमेंट नहीं बदलता है? क्या आप सामान्य प्रयोजन रजिस्टरों के अंदर मूल्यों के बारे में बात कर रहे हैं? –