arm एआरएम सिस्टम मोड हाथ पर्यवेक्षक मोड से कैसे अलग है?



embedded embedded-linux (1)

मुझे लगता है कि एआरएम एआरएम इसे बहुत स्पष्ट बनाता है (नीचे देखें), न सोचें X86 बस इस बारे में सोचें कि प्रोसेसर के तरीके आपको क्या करने या नहीं करने देते हैं। और आपको ऑपरेटिंग सिस्टम में क्या आवश्यकता होगी और कौन सा मोड उपयोगी हैं या नहीं

आपके पास उपयोगकर्ता और सिस्टम है और फिर अपवाद मोड। उनके प्रतिबंध AFAIK दस्तावेज हैं नए एआरएम में अधिक सुविधाएं / प्रतिबंध / सुरक्षा आदि हैं।

एआरएम एआरएम से

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

-FIQ

-IRQ

-पर्यवेक्षक

-Abort

-Undefined।

विशिष्ट अपवाद होने पर ये दर्ज किए जाते हैं अपवाद तब होता है जब उनमें से प्रत्येक के पास कुछ अतिरिक्त रजिस्टरों हैं, जब उपयोगकर्ता मोड स्थिति को भ्रष्ट करने से बचने के लिए (विवरण के लिए पृष्ठ A2-4 पर रजिस्टरों देखें)।

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

जब आप svc या sys कॉल करते हैं तो सुपरवाइज़र मोड वह है जिसे आप हिट कर देते हैं (मुझे लगता है कि वे एससीसी से नाम बदलते हैं)। पूरे दिन 21 घंटों के समान, यह है कि आप उपयोगकर्ता मोड से बिना किसी अनुमति के, ऑपरेटिंग सिस्टम से कुछ पूछें। वह पर्यवेक्षक मोड पर नियंत्रण स्विच करता है तो एक बार सुपरवाइज़र मोड में आप इसे वहां रख सकते हैं या मोड स्विच कर सकते हैं ... एक बार जब आप उपयोगकर्ता पर स्विच करते हैं, हालांकि आप स्विच आउट नहीं कर सकते तो उदाहरण के लिए यदि आप यूजर स्टैक की स्थापना करना चाहते हैं तो आप इसे आसानी से यूजर मोड में कर सकते हैं और फिर ऑपरेटिंग सिस्टम कार्यों में वापस लौट सकते हैं। इसलिए आपको एक विशेषाधिकारित मोड की आवश्यकता है कि अगर कुछ और उपयोगकर्ता के पास अभिगम अभिगम नहीं है।

X86 मोड के साथ एआरएम प्रोसेसर मोड की तुलना करने के लिए (अंगूठी 3 रिंग 3), उपयोगकर्ता मोड में रिंग 3 की तरह दिखाई देता है, जिसमें उपयोगकर्ता अंतरिक्ष कार्यक्रम चलते हैं। हालांकि मैं रिंग0 को किसी भी सिस्टम मोड या पर्यवेक्षक मोड से संबंधित नहीं कर पा रहा हूं। सूचना के स्रोत पर निर्भर करते हुए, ऐसा लगता है कि दोनों तरीकों को विशेषाधिकारित मोड में कर्नेल चलाने की नौकरी बहुत अच्छी तरह से कर सकती हैं। दो तरीकों के बीच में अंतर है जो मुझे मिल सकता है follwoing हैं:

  1. रजिस्टरों 13 और 14 पर्यवेक्षक मोड में बैंकिंग हैं, जबकि सिस्टम मोड के लिए, सभी 15 रजिस्टरों के समान हैं।
  2. सिस्टम मोड सीधे एक अपवाद पर दर्ज नहीं किया जा सकता है, जबकि पर्यवेक्षक मोड
  3. सिस्टम मोड किसी भी तरह से लिंक रजिस्टरों के भ्रष्टाचार को रोकता है।

क्या आप कृपया मुझे मोड के बीच अंतर बता सकते हैं, जो एक x86 पृष्ठभूमि से आ रहा व्यक्ति समझ सकता है?

इसके अलावा, मोड के बीच सूक्ष्म स्थापत्य अंतर, बैंकिंग रजिस्टरों की संख्या की तरह, एक दूसरे से बेहतर कैसे बना सकता है?