इंटेल x86 एटम और एटम_64 सिस्टम छवियों के बीच क्या अंतर है?


97

मैं एंड्रॉइड एम पूर्वावलोकन के लिए सिस्टम छवि को स्थापित करने के लिए एंड्रॉइड एसडीके प्रबंधक का उपयोग कर रहा हूं। हालांकि, मैंने देखा कि x86 प्लेटफॉर्म के लिए दो अलग-अलग छवियां हैं।

यहां छवि विवरण दर्ज करें

दोनों के बीच क्या अंतर हैं और मुझे अपने 64-बिट Ubuntu 15.04 इंस्टॉलेशन के लिए कौन सा चयन करना चाहिए? (माय सीपीयू में एएमडी-वी शामिल है और इसे BIOS में सक्षम किया गया है, इस मामले में कोई फर्क नहीं पड़ता है।)


5
AFAIK, यह सिर्फ इतना है कि वे विभिन्न CPU आर्किटेक्चर का अनुकरण करते हैं, जैसे ARM, ARM64, MIPS, आदि
CommonsWare

5
इससे कोई फर्क नहीं पड़ता कि आप अपने आईडीई के रूप में किस मशीन का उपयोग कर रहे हैं। यह आपको किस हार्डवेयर के साथ अनुकरण कर रहा है। तो एटम बनाम एटम_64 छवियां यह है कि क्या आप एटम सीपीयू या एटम 64-बिट सीपीयू के साथ अपने ऐप को डिवाइस पर चलाना चाहते हैं।
भूखाघर

2
ऐसा लगता है कि एक एक 32 बिट सीपीयू छवि है, और दूसरा एक 64 बिट है,
फैंटमैक्स

इस तरह के प्रश्न के शीर्ष उत्तर देखें ; IMHO नीचे दिए गए उत्तरों की तुलना में अधिक स्पष्ट व्याख्या करता है।
टूलमेकरसेव

जवाबों:


68

इस लेख के अनुसार

Google ने अपनी x86 64-बिट एंड्रॉइड 5.0 एमुलेटर छवि की हाल ही में रिलीज़ के साथ, डेवलपर्स इंटेल एटम प्रोसेसर-आधारित उपकरणों के लिए 64-बिट एप्लिकेशन बना सकते हैं।

एंड्रॉइड 32-बिट बनाम 64-बिट

सोलारिस, AIX *, HP-UX *, Linux *, OS X *, BSD, और IBM z / OS * सहित कई 64-बिट प्लेटफॉर्म आज एक LP64 मॉडल का उपयोग करते हैं। चूंकि एंड्रॉइड लिनक्स कर्नेल पर आधारित है, इसलिए एंड्रॉइड 64-बिट प्लेटफॉर्म भी LP64 मॉडल का उपयोग करते हैं।

इंटेल 64-बिट सीपीयू में 32-बिट संगतता मोड है। जबकि 32-बिट अनुप्रयोग 64-बिट प्रोसेसर पर चलेंगे, 64-बिट अनुकूलन कंपाइलर के साथ संकलन करने से उन्हें 64-बिट वातावरण के वास्तु लाभ का लाभ उठाने की अनुमति मिलती है

एमुलेटर पर 64-बिट ऐप्स कैसे चलाएं

इंटेल एटम प्रोसेसर 64-बिट सिस्टम छवि के आधार पर एक नया एंड्रॉइड वर्चुअल डिवाइस (AVD) बनाएं और SDK प्रबंधक या ADT में AVD प्रबंधक खोलें। फिर 'बनाएँ' पर क्लिक करें और चित्र में दिखाए अनुसार फ़ील्ड भरें। अब 64-बिट AVD एमुलेटर चलाने के लिए तैयार है।

यहां छवि विवरण दर्ज करें

64-बिट एंड्रॉइड * ओएस

डिफ़ॉल्ट रूप से, सभी 32-बिट एप्लिकेशन 64-बिट प्रोसेसर पर एक गड़बड़ के बिना चलते हैं, लेकिन 64-बिट प्रोसेसर पर चलने के लिए तैयार किए गए अनुप्रयोगों की तुलना में धीमी गति से चल सकते हैं।

एंड्रॉइड 64-बिट प्रोसेसिंग के लिए तैयार है

32-बिट से 64-बिट चिप्स तक इस कदम के प्रमुख लाभों में से एक मोटे तौर पर अभी सैद्धांतिक है: केवल गीगाबाइट्स के बजाय रैम के एक्सबाइट्स के लिए समर्थन। लेकिन जिस तरह से 64-बिट चिप्स मेमोरी को संभालती है, उससे कुछ कार्यों में बेहतर प्रदर्शन हो सकता है।

सारांश

इंटेल एटम प्रोसेसर-आधारित प्लेटफॉर्म के लिए 64-बिट प्रौद्योगिकियों के साथ एंड्रॉइड डेवलपर्स को अब उनके अनुप्रयोगों को अनुकूलित करने में मदद कर सकता है । 64-बिट के लिए एंड्रॉइड एप्लिकेशन का निर्माण करना पारंपरिक 32-बिट एंड्रॉइड एप्लिकेशन के निर्माण के समान आसान है। अब आप 64-बिट ऐप्स को चलाने और डीबग करने के लिए आधिकारिक एंड्रॉइड 64-बिट एमुलेटर का उपयोग कर सकते हैं।

हो सकता है कि यह लेख आपको इस सिस्टम छवियों के बीच के अंतर को समझने में मदद कर सके।

अपडेट करें

Google अब x86 एमुलेटर का उपयोग करने के लिए प्रोत्साहित करता है जैसे आप इस छवि में देख सकते हैं

यहां छवि विवरण दर्ज करें

अंतर यह है कि x86 छवियों का उपयोग करते समय, यह अब सही परिस्थितियों ( HAXM ) के तहत तेज, हार्डवेयर-त्वरित वर्चुअलाइजेशन का उपयोग करता है, इसलिए ऐसा महसूस नहीं होता है कि अब एक वसा मध्य परत है।


1
आपने उन अनुप्रयोगों का उल्लेख किया है जो "64-बिट ऑप्टिमाइज़िंग कंपाइलर के साथ संकलन"। तो, 64-बिट संकलक के साथ मेरे आवेदन को कैसे संकलित करें और 64-बिट वातावरण में चलने पर लाभ प्राप्त करें?
आर्टेम एम

3
@Jorge Casariego को intel x86 atom system imageएमुलेटर की बेहतर गति के लिए AVD द्वारा विकसित करने के दौरान उपयोग करना चाहिए ?
इराज जेलोदरी

8
लेकिन अगर हम लक्ष्य वास्तुकला के बारे में परवाह नहीं करते हैं, तो आवश्यक सवाल यह है: क्या "एटम_64" एमुलेटर 64-बिट इंटेल सीपीयू पर किसी भी तेजी से चलता है? मुझे आपके लंबे जवाब से कोई मतलब नहीं है। और आपका "x86" का उल्लेख केवल भ्रामक है, क्योंकि सवाल दो छवियों के बीच एक विकल्प के बारे में है, दोनों में x86 का उल्लेख है, जो केवल एटम बनाम एटम_64 का उल्लेख करके भिन्न होता है।
टूलमेकरसेव

@ToolmakerSteve मुझे वास्तव में एक ही संदेह है। इसके अलावा, मैं देख रहा हूं कि अब प्रत्येक पैकेज काफी बड़ा हो गया है, सही डेटा चुनने के लिए सही रास्ता चुनना महत्वपूर्ण है ताकि अनावश्यक डेटा मार्ग से भर सके
कारमाइन टैम्बस्किया

15

FYI करें: आधिकारिक एंड्रॉइड स्टूडियो डॉक्यूमेंटेशन में कहा गया है कि "x86 सिस्टम इमेज एमुलेटर में सबसे तेज चलता है।"

मैंने 64 बिट की कोशिश नहीं की है, इसलिए मैं वास्तव में उस पर टिप्पणी नहीं कर सकता। शायद कोई और कर सकता है।


1
प्रश्न का उत्तर नहीं देता है, जो दो अलग-अलग "x86" सिस्टम छवियों के बीच चुनने के बारे में है, जिनमें से एक में "एटम_64" का भी उल्लेख है, जिसमें से अन्य "परमाणु" का उल्लेख करता है।
टूलमेकरसेव

9

मैं दोनों की कोशिश की है और x86_64 x86 की तुलना में थोड़ा धीमा होता है। मुझे एक छोटे से शोध के बाद पता चला कि x86 32 बिट आधारित निर्देश सेट और 64 बिट पर आधारित है, जबकि x86_64 केवल 64 बिट पर चलता है, जिसे अधिक डिकोडिंग के कुछ लोगों की आवश्यकता होती है ...

आप अधिक जानकारी के लिए यहां https://developer.android.com/ndk/guides/x86-64.html भी देख सकते हैं ।


1
पहला वाक्य संभावित रूप से उपयोगी जानकारी है। इस जवाब के बाकी मूल रूप से भ्रमित है, क्योंकि "x86_64" उस डिवाइस को संदर्भित करता है जिसे आप अनुकरण कर रहे हैं , न कि उस पीसी पर जिसे आप अपने एमुलेटर पर चला रहे हैं। नीचे पंक्ति: यह कोई फर्क नहीं पड़ता कि आप क्या चुनते हैं, जब तक कि आप एक विशिष्ट लक्ष्य वास्तुकला पर व्यवहार में कुछ सूक्ष्म अंतर के लिए परीक्षण नहीं कर रहे हैं।
टूलमेकरसैट

@ToolmakerSteve यह मायने रखता है कि हार्डवेयर का अनुकरण कैसे किया जाता है, खासकर अगर होस्ट सीपीयू को हार्डवेयर वर्चुअलाइजेशन तकनीक के माध्यम से सीधे इस्तेमाल किया जा सकता है।
औरो सेप

@ क्या आप और अधिक विस्तृत कर सकते हैं? मैं उलझन में हूं; तो कौन सा तेज / हल्का / आसान है मेरे सिस्टम पर अनुकरण करने के लिए? 86 या x86_64
buncis

1
@buncis यदि आप CPU का समर्थन करते हैं तो वीटी (सबसे अधिक) करते हैं और आपने इसे अपने BIOS और ओएस में स्थापित आवश्यक मॉड्यूल में सक्षम किया है, तो x86 और x86_64 दोनों में समान गति होनी चाहिए क्योंकि एमुलेटर निर्देश सीधे होस्ट CPU पर चलाए जाते हैं। यदि वीटी उपलब्ध नहीं है, तो सॉफ्टवेयर एमुलेशन का उपयोग किया जाता है। इस स्थिति में x86 तेज / हल्का / आसान है क्योंकि एक छोटे पते की जगह x86_64 की तुलना में x86 का अनुकरण करने की आवश्यकता है (जैसे। 64 बिट रजिस्ट्री बनाम 32 बिट रजिस्ट्री)।
औरो

2

x86 का मतलब है 32 बिट सिस्टम। अब मैंने उपरोक्त सभी उत्तर पढ़ लिए हैं और मैं सीधे मुद्दे पर आता हूँ।

x86 एटम -> 32 बिट इंटेल सीपीयू 32 बिट एंड्रॉइड सिमुलेशन के साथ

x86 Atom_64 -> 64 बिट एंड्रॉइड सिमुलेशन के साथ 32 बिट इंटेल सीपीयू

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.