32 बिट OS और 64 बिट OS में क्या अंतर है? क्या 64 बिट प्रोसेसर में 32 बिट ओएस चल सकता है?
32 बिट OS और 64 बिट OS में क्या अंतर है? क्या 64 बिट प्रोसेसर में 32 बिट ओएस चल सकता है?
जवाबों:
आपका प्रश्न आर्किटेक्चर विशिष्ट है। x64 मूल रूप से x86 आर्किटेक्चर का विस्तार है। यह 64 बिट एड्रेस स्पेस को सपोर्ट करता है। यह कुछ नए निर्देश और नए रजिस्टर प्रदान करता है।
आप एक x64 मशीन पर 32-बिट x86 विंडोज चला सकते हैं। ध्यान दें कि आप इटेनियम 64-बिट सिस्टम पर ऐसा नहीं कर सकते।
64 बिट प्रोसेसर 32 और 64 ओएस (कम से कम x64 कैन) दोनों चला सकता है। एक 32 बिट प्रोसेसर केवल 32 देशी चला सकता है।
अंतर ज्यादातर एक पॉइंटर / संदर्भ के आकार के बारे में है। 64 बिट मशीनों पर, आप 64 बिट एड्रेस-रेंज में एक पते को संदर्भित कर सकते हैं (इस प्रकार आपको 2 ^ 64 बाइट्स मेमोरी दे सकते हैं)। 32 बिट पर आप केवल 2 ^ 32 बाइट्स (= 4 जीबी) का पता कर सकते हैं। अब यदि आप वर्तमान कंप्यूटरों को देखते हैं तो यह स्पष्ट है कि दुनिया 64 बिट पर क्यों जा रही है: 32 बिट अब आसानी से सभी रैम को संबोधित नहीं कर सकते हैं।
X64 (AMD / Intel) पर आपको 64 बिट के अतिरिक्त लाभ हैं। सीपीयू में अधिक रजिस्टर हैं और इस प्रकार अधिक कुशल कोड की अनुमति देता है।
अन्य आर्किटेक्चर पर 64 और 32 बिट के बीच का अंतर कम स्पष्ट है। उदाहरण के लिए निनटेंडो 64 (याद रखें?) 64 बिट मशीन थी लेकिन इसका अधिकांश कोड 32 बिट था। तो उस मामले में 64 बिट एक विपणन चाल के रूप में अधिक सेवा की।
वर्तमान में स्वीकृत उत्तर आम तौर पर सही है लेकिन विशेष रूप से ऐसा नहीं है। वास्तव में "32-बिट सीपीयू" या "" 64-बिट सीपीयू "नामक एक भी चीज नहीं है - यह एक ऐसा विवरण है जो सीपीयू की वास्तुकला के केवल एक छोटे से हिस्से को संदर्भित करता है। विशेष रूप से, यह संख्या का संदर्भ देता है। सीपीयू और मेमोरी के बीच पता चयन लाइनों, यानी स्मृति संचालन के लिए उपलब्ध तथाकथित पता स्थान ।
योर के दिनों में जब सीपीयू जब लोग एक प्रोसेसर और मेमोरी के बीच तारों को बैठते और लपेटते (लपेटते) थे, तो आपको 32 या (सैद्धांतिक रूप से उपयोग करना होगा, क्योंकि यह उस समय मौजूद नहीं था) सीपीयू और मेमोरी कंट्रोलर के बीच 64 तारों का उपयोग किया जाएगा, जो यह निर्दिष्ट करने के लिए उपयोग किया जाएगा कि आप किस मेमोरी एड्रेस को एक्सेस करना चाहते हैं। उदाहरण के लिए, मान लें कि हमारे पास 2-बिट मेमोरी आर्किटेक्चर है: 00 भेजने पर पता 0 का चयन होगा, 01 पता 1 का चयन करेगा, 10 पता 2 का चयन करेगा, और 11 पता का चयन करेगा 3. यह 2-बिट हमें 2 ^ 2 बाइट्स देता है। RAM की (4 बाइट्स)।
यदि आप एक 32-बिट CPU लेते हैं और आप CPU और मेमोरी कंट्रोलर के बीच 32 और तारों को जोड़ते हैं ताकि आप जादुई रूप से अधिक मेमोरी को सपोर्ट कर सकें, तो अब आपके पास "64-बिट CPU" है जो 32-बिट चला सकता है कोड या 64-बिट कोड। इसका क्या मतलब है और यह कैसे होता है? ठीक है, आइए इस उत्तर के पहले भाग से हमारे 2-बिट सीपीयू लें और एक अन्य तार जोड़ें, इसे 3-बिट सीपीयू में बदलकर, हमें 4 बाइट्स से 2 ^ 3 या 8 बाइट्स रैम तक ले जाना चाहिए।
मौजूदा "2-बाइट" कोड चलेगा, ऊपर (00-11) जैसे पिछले 2 तारों के मूल्यों को सेट करता है। हम डिफ़ॉल्ट रूप से शून्य होने के लिए अतिरिक्त कनेक्शन को वायर करेंगे, इसलिए वास्तव में जब 2-बाइट कोड चलता है, जब यह 00 का चयन करता है, तो यह वास्तव में 000 का चयन करता है और जब यह 11 का चयन करता है तो यह वास्तव में 011 का चयन करता है। आसान।
अब एक प्रोग्रामर "देशी" 3-बाइट कोड लिखना चाहता है और अतिरिक्त पता स्थान का लाभ उठाने के लिए अपने सॉफ़्टवेयर को लिखता है। वह सीपीयू से कहती है कि वह जानती है कि वह क्या कर रही है और वह नए, अतिरिक्त तारों का मैनुअल नियंत्रण लेगी। उसका सॉफ्टवेयर अतिरिक्त तार (ओं) के बारे में जानता है और सही ढंग से 000-111 भेजता है, जिससे उसे इस नए सीपीयू आर्किटेक्चर द्वारा समर्थित मेमोरी की सीमा तक पूर्ण पहुंच मिलती है।
लेकिन ऐसा नहीं है। वास्तव में, यह आमतौर पर नहीं है कि चीजें कैसे होती हैं। जब 64-बिट CPU को पहली बार पेश किया गया था (और कई थे), वे सभी पूरी तरह से नए आर्किटेक्चर / डिज़ाइन के साथ गए थे। उन्होंने सिर्फ एक अतिरिक्त 32 तारों का सौदा नहीं किया और कहा "यहाँ आप जाओ, यह 64-बिट सीपीयू है जिसे आप 32-बिट या 64-बिट मोड में उपयोग कर सकते हैं," बल्कि उन्होंने कहा "यह हमारा नया सीपीयू है। यह केवल इस पूरी तरह से नई मशीन की भाषा में प्रोग्रामिंग करता है, इस पूरी तरह से नए तरीके से व्यवहार करता है, कभी भी पुराने x86 / i386 32-बिट सीपीयू की तुलना में कहीं अधिक सुरुचिपूर्ण ढंग से एक bazillion विभिन्न समस्याओं को हल करता है, और यह एक देशी 64-बिट वास्तुकला है। । "
यह इंटेल इटेनियम की कहानी थी, जिसे अब बड़े पैमाने पर डूबने के कारण "इटानिक" के नाम से जाना जाता है। यह नए 64-बिट युग में हेराल्ड माना जाता था, और यह निहारना कुछ था। परिवर्तनीय लंबाई निर्देश, विशाल कैश, 64-बिट पता स्थान, रजिस्टरों के टन, सुपर रोमांचक, सुपर कूल, और सभी के लिए विरासत कोड के 20 वर्षों को फिर से लिखने या फिर से लिखने के लिए सभी को समझाने के लिए सुपर कठिन। जब एएमडी और इंटेल वास्तव में प्रतिस्पर्धा कर रहे थे तब यह वापस आ गया था, और एएमडी के पास यह कहने का शानदार विचार था "चलो यह सब भूल जाओ 'दुनिया की सभी समस्याओं को हल करें' और बस 323 तारों को i386 में जोड़ें और 32-बिट संगत 64 बनाएं- बिट सीपीयू ”और x86_64 CPU आर्किटेक्चर का जन्म हुआ।
वास्तव में, यदि आप प्रमुख ऑपरेटिंग सिस्टम (लिनक्स, विंडोज, बीएसडी आदि) के लिए कर्नेल नाम और स्रोतों को देखते हैं, तो आप उन्हें AMD64 CPU और AMD64 आर्किटेक्चर के संदर्भ में लेट पाएंगे। एएमडी ने सभी को 32-बिट अनुप्रयोगों के साथ संगतता को संरक्षित करते हुए 64-बिट दुनिया पर स्विच करने के लिए एक जीत की रणनीति बनाई, इस तरह से कि 32-बिट ओएस 64-बिट हार्डवेयर या 32-बिट अनुप्रयोगों पर भी चल सकता है। 64-बिट हार्डवेयर पर 64-बिट OS पर चल सकता है। इंटेल ने अपने "Intel EM64T" आर्किटेक्चर (जो मूल रूप से AMD64 के समान था) और x86_64 के साथ बाद में सुइट का अनुसरण किया, जबकि इटानिक और अन्य MIPS64 और ALPHA64 जैसे डेस्कटॉप या सर्वर मार्केट में अधिक नहीं देखे गए।
tl; डॉ। amd64 उर्फ x86_64 सीपीयू को 32- और 64-बिट कर्नेल और कोड दोनों के साथ संगत करने के लिए डिज़ाइन किया गया है, लेकिन अधिकांश 64-बिट सीपीयू निश्चित रूप से पीछे की ओर संगत नहीं हैं। 32-बिट CPU मेमोरी के अधिकांश 4GiB तक पहुँच सकता है, जबकि 64-बिट CPU एक आश्चर्यजनक 16 EiBs (16 × 1024 ^ 6 बाइट्स, या 4 बिलियन बार 4GIB जितनी मेमोरी) एक्सेस कर सकता है ।
एक 32 और 64 बिट ओएस दोनों 64 बिट प्रोसेसर पर चल सकते हैं, लेकिन 64 बिट ओएस 64 बिट प्रोसेसर की पूर्ण शक्ति (बड़े रजिस्टर, अधिक निर्देश) का उपयोग कर सकते हैं - संक्षेप में यह एक ही समय में अधिक काम कर सकता है। एक 32 बिट प्रोसेसर केवल 32 बिट विंडोज ओएस का समर्थन करता है।
32 and 64 bit OS can run on a 64 bit processor
यह आमतौर पर सही नहीं है