2015-09-26 8 views
10

हार्डवेयर सहायक वर्चुअलाइजेशन के आगमन से पहले ऐसे निर्देश थे जिन्हें विभिन्न कारणों से वर्चुअलाइज्ड नहीं किया जा सका। क्या कोई कृपया बता सकता है कि ये निर्देश क्या हैं और उन्हें वर्चुअलाइज्ड क्यों नहीं किया जा सकता है?x86 आर्किटेक्चर में "गैर-वर्चुअलाइज करने योग्य" निर्देश क्या हैं?

+0

मैं इस प्रश्न को ऑफ-विषय के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह प्रोग्रामिंग प्रश्न नहीं है। महान जवाब के लिए धन्यवाद http://cs.stackexchange.com/ –

उत्तर

26

एक आईएसए वर्चुअलाइज करने के लिए, कुछ आवश्यकताओं को पूरा किया जाना चाहिए। Popek and Goldberg कुछ निम्नलिखित की तरह इस्तेमाल किया:

एक मशीन में कम से कम दो मोड (क) उपयोगकर्ता मोड और (ख) प्रणाली मोड है। आम तौर पर, उपयोगकर्ता मोड में चल रहे अनुप्रयोग और ऑपरेटिंग सिस्टम सिस्टम मोड में चलता है। सिस्टम मोड में, कोड/प्रोग्राम बिना प्रतिबंध के मशीन को देख और कुशल बना सकता है। उपयोगकर्ता मोड में, कोड/प्रोग्राम में कुछ सीमाएं हैं जो यह कर सकती हैं, उदा। यह पहले अनुमति प्राप्त किए बिना मशीन की सभी मेमोरी तक नहीं पहुंच सकता है।

निर्देश हैं या तो (क) विशेषाधिकार प्राप्त या (ख) विशेषाधिकार प्राप्त नहींविशेषाधिकार निर्देश जाल जब उपयोगकर्ता मोड में निष्पादित किया गया। ट्रैपिंग का मतलब है कि मशीन को सिस्टम मोड में मजबूर किया जाता है जिससे यह स्थिति से निपटने के लिए ऑपरेटिंग सिस्टम के कुछ कोड निष्पादित करता है। एक अर्थ में, जब वे निष्पादित होते हैं तो वे ऑपरेटिंग सिस्टम को सतर्क करते हैं।

निर्देश भी हो सकता है या तो (क) संवेदनशील या (ख) प्रति संवेदनशील नहींसंवेदनशील निर्देश मशीन के संसाधनों का हिस्सा संशोधित करते हैं, या उपयोगकर्ता मोड या सिस्टम मोड में निष्पादित किए जाने पर अलग-अलग व्यवहार प्रदर्शित करते हैं।

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

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

+0

आज़माएं! स्पष्ट स्पष्टीकरण। –

संबंधित मुद्दे