एक बार जब कंप्यूटर्स ने आधुनिक 64-बिट आर्किटेक्चर का उपयोग करना शुरू किया, तो यूजर्स को जल्द ही एहसास हुआ कि उन पुराने 16-बिट एप्लिकेशन को चलाना काम नहीं करने वाला था। 64-बिट मशीनें 16-बिट ऐप्स क्यों नहीं चला सकतीं?
उस प्रश्न का उत्तर भ्रमित करने वाला हो सकता है, इस पर निर्भर करता है कि आप किससे पूछते हैं। एक बात के लिए, 16-बिट ऐप्स चलाना वास्तव में असंभव नहीं है। यह सिर्फ मुश्किल है। दूसरी बात, इस कठिनाई का कारण CPU आर्किटेक्चर और ऑपरेटिंग सिस्टम दोनों में निहित है।
अभी तक भ्रमित? चिंता न करें, आप अकेले नहीं हैं। लेकिन जब तक आप इस लेख के अंत तक पहुंचेंगे, आप भ्रमित नहीं रहेंगे।
CPU आर्किटेक्चर का इतिहास
मुझे पता है, आखिरी चीज जो आप पढ़ना चाहते हैं वह इतिहास का पाठ है, है ना? चिंता न करें, यह एक छोटा है। यह समझने के लिए भी महत्वपूर्ण है कि 64-बिट सिस्टम मूल रूप से 16-बिट ऐप्स क्यों नहीं चला सकते।
यदि आप 80 और 90 के दशक में रहे हैं, तो आप शायद उन पुराने 16-बिट डायनासोर को याद करते हैं जिन्हें उस समय हर कोई अत्याधुनिक तकनीक मानता था।
उस समय, यह था। वे पुरानी मशीनें 1978 में इंटेल 8086 प्रोसेसर चलाती थीं। प्रोसेसर 16-बिट एड्रेसिंग का उपयोग करके 1Mb के एड्रेस स्पेस तक पहुंचने में सक्षम था। पहले की मशीनें 64 Kb मेमोरी पर चलती थीं, यह एक जबरदस्त प्रगति थी और पर्सनल कंप्यूटिंग में एक नए युग की शुरुआत को चिह्नित करती थी।
इस मोड में (जिसे रियल मोड कहा जाता है), एक हिस्सा RAM के लिए आरक्षित था, और बाकी BIOS और कंप्यूटर हार्डवेयर जैसे ग्राफिक्स कार्ड द्वारा उपयोग किया जाता था।
थोड़ी देर बाद CPU आर्किटेक्चर में एक और प्रगति 80286 प्रोसेसर के साथ आई, जो 16-बिट एड्रेसिंग का उपयोग करके 16Mb एड्रेस करने में सक्षम था। 286 आर्किटेक्चर के साथ "प्रोटेक्टेड मोड" आया, जिसमें ऐसी विशेषताएं थीं जो न केवल अधिक मेमोरी एड्रेस करने की अनुमति देती थीं, बल्कि मल्टीटास्किंग भी। पुराने 16-बिट एप्लिकेशन को "रियल मोड" में चलाना हमेशा आसान नहीं था, लेकिन यह संभव था।
16-बिट का अंत, तरह का...
1985 में, इंटेल ने अपनी अगली पीढ़ी के प्रोसेसर का परिचय दिया: इंटेल 386। यह इंटेल का पहला CPU था जो एक समय में 32-बिट्स का उपयोग करके मेमोरी एड्रेस कर सकता था, और 4 Gb एड्रेसेबल मेमोरी की विशाल मात्रा तक पहुंच सकता था। उस समय, यह कंप्यूटर यूजर्स के लिए एक बड़ी सफलता की तरह लग रहा था। PC गेमिंग अपने चरम पर पहुंचने वाला था।
32-बिट आर्किटेक्चर के आगमन के साथ प्रोटेक्टेड मोड का एक विस्तारित संस्करण आया जो न केवल अधिक मेमोरी एक्सेस करने की क्षमता की अनुमति देता था, बल्कि इसमें सुविधाओं का एक सेट शामिल था जहां सॉफ्टवेयर सिस्टम को फ्लैग कर सकता था कि यह 16-बिट या 32-बिट कोड था। यह वर्चुअल 86 मोड के रूप में जाना जाता है द्वारा संभव बनाया गया था, जो अनिवार्य रूप से एक बिल्ट-इन वर्चुअलाइज्ड 8086 सिस्टम था।
जैसा कि आप देख सकते हैं, CPU आर्किटेक्चर के एक विकास से अगले तक, हार्डवेयर (CPU प्रोग्रामिंग) और सॉफ्टवेयर (ऑपरेटिंग सिस्टम और एप्लिकेशन) दोनों ने उन सभी यूजर्स के लिए बैकवर्ड कम्पैटिबिलिटी बनाए रखी जिनके पास अभी भी बहुत पुराना सॉफ्टवेयर था जिसे वे चलाना चाहते थे। व्यक्तिगत कंप्यूटर यूजर्स के लिए, यह उपयोगी था, लेकिन कई निगमों और छोटे व्यवसायों के लिए, यह विरासत प्रणालियों के लिए महत्वपूर्ण था।
64-बिट आर्किटेक्चर ने सब बर्बाद कर दिया
4GB एड्रेसेबल मेमोरी की सीमा 32-बिट सिस्टम के लिए कई वर्षों तक एक बैसाखी बनी रही। हालांकि, 64-बिट प्रोसेसर के आविष्कार के साथ एक और सफलता आई। इन सिस्टम्स में एक नया मोड शामिल था (जिसे लॉन्ग मोड के रूप में जाना जाता है) जो 16 मिलियन टेराबाइट्स तक की मेमोरी एड्रेस करने में सक्षम था। कंप्यूटर एप्लिकेशन के लिए यह एक सीमित कारक बनने से पहले शायद एक लंबा समय लगेगा।
हालांकि, इस जबरदस्त प्रगति के साथ एक महत्वपूर्ण ट्रेडऑफ आया। जब यूजर्स ने 16-बिट एप्लिकेशन चलाने का प्रयास किया जिनके लिए लंबे समय से समर्थित "रियल मोड" या "वर्चुअल 8086 मोड" की आवश्यकता थी, तो उन्हें एक त्रुटि संदेश मिला जिसमें लिखा था, "Program.exe एक वैध Win32 एप्लिकेशन नहीं है।"
यह निराशाजनक था, लेकिन यह दुनिया का अंत नहीं था। यूजर्स 32-बिट आर्किटेक्चर और ऑपरेटिंग सिस्टम चलाने वाले वर्चुअल मशीन इंस्टॉल करके या एमुलेटर्स का उपयोग करके ऐसा कर सकते थे जो लिगेसी 16-बिट एप्लिकेशन का समर्थन करने में सक्षम थे।
तो जबकि 64-बिट सिस्टम के लिए 16-बिट MS-DOS एप्लिकेशन चलाना "असंभव" है, यूजर्स के लिए वर्कअराउंड का उपयोग करके ऐसा करना असंभव नहीं है। लेकिन ऐसा क्यों हुआ?
64-बिट आर्किटेक्चर NTVDM को हटा देता है
वर्षों से 32-बिट प्रोसेसर की हर पीढ़ी में, ऑपरेटिंग सिस्टम के लिए पुराने 16-बिट DOS एप्लिकेशन को संभालने के लिए बहुत प्रयास किया गया था। यह NTVDM, या NT वर्चुअल DOS मशीन के रूप में जाना जाता है का उपयोग करके पूरा किया गया था।
यह 32-बिट एप्लिकेशन विंडोज ऑपरेटिंग सिस्टम में चला और एक 486 आर्किटेक्चर का अनुकरण किया जो वर्चुअल 8086 का उपयोग करके 16-बिट एड्रेसिंग को संभालने में सक्षम था। दुर्भाग्य से, "लॉन्ग-मोड" एड्रेसिंग इसे सुरक्षित रूप से समायोजित नहीं कर सका। इसके बजाय, इसे केवल DOS एप्लिकेशन चलाने का समर्थन करने के लिए पूर्ण 8086 प्रोसेसर का अनुकरण करने की आवश्यकता होती।
माइक्रोसॉफ्ट ने स्पष्ट रूप से अपने पहले 64-बिट ऑपरेटिंग सिस्टम के त्वरित रिलीज का समर्थन करने के लिए इस प्रयास को छोड़ने का निर्णय लिया। अपने समर्थन पृष्ठ पर, माइक्रोसॉफ्ट स्पष्ट रूप से बताता है कि "16-बिट MS-DOS और माइक्रोसॉफ्ट विंडोज 3.x यूटिलिटीज शुरू नहीं होंगे।"
कोई माफी नहीं। यह बस समर्थित नहीं है।
बाजार में वर्चुअलाइजेशन उत्पादों की अधिकता के साथ जो वैसे भी इसे पूरा करने में सक्षम हैं, माइक्रोसॉफ्ट ने स्पष्ट रूप से महसूस किया कि पहिया को फिर से आविष्कार करना उसके सर्वोत्तम हित में नहीं था।
64-बिट सिस्टम पर 16-बिट एप्लिकेशन कैसे चलाएं
सिर्फ इसलिए कि 64-बिट विंडोज सिस्टम पर 16-बिट DOS एप्लिकेशन चलाना मूल रूप से समर्थित नहीं है, इसका मतलब यह नहीं है कि यह असंभव है। आपको बस चीजों को सेट करने के लिए कुछ अतिरिक्त टूल्स इंस्टॉल करने की आवश्यकता है।
यदि आप क्लासिक DOS गेम का आनंद लेते हैं या कंप्यूटिंग के अच्छे पुराने दिनों से किसी अन्य रेट्रो एप्लिकेशन का उपयोग करते हैं, तो विकल्प हैं। यहां चार तरीके हैं जिनसे आप उन्हें अपने नए विंडोज मशीन पर चला सकते हैं।
1. DOSBox के साथ रेट्रो गेम खेलें
अपने PC पर पुराने DOS ऐप्स चलाने के सबसे आसान तरीकों में से एक एमुलेटर का उपयोग करना है। उनमें से सबसे लोकप्रिय में से एक DOSBox है।
क्रिश्चियन ने बताया कि अपने विंडोज मशीन पर पुराने रेट्रो गेम चलाने के लिए DOSBox को कैसे इंस्टॉल और कॉन्फ़िगर करें।
इसके बारे में सबसे अच्छी बात यह है कि इनमें से अधिकांश गेम इतने पुराने हैं कि उन्हें एबंडनवेयर माना जाता है, इसलिए आप उन्हें कानूनी रूप से मुफ्त में डाउनलोड और खेल सकते हैं।
2. वर्चुअलबॉक्स के अंदर ऐप्स चलाएं
चूंकि विंडोज XP और विंडोज 7 जैसे ऑपरेटिंग सिस्टम 16-बिट एप्लिकेशन को मूल रूप से चला सकते थे, आप अपने 64-बिट सिस्टम पर उन्हीं एप्लिकेशन को उन ऑपरेटिंग सिस्टम में से एक के साथ एक वर्चुअल मशीन बनाकर चला सकते हैं।
इसके लिए सबसे प्रसिद्ध और सेट अप करने में आसान एप्लिकेशन में से एक वर्चुअलबॉक्स है। हमारे पास वर्चुअलबॉक्स को सेट अप और उपयोग करने के तरीके पर एक पूरी गाइड है, इसलिए आप अभी इस दृष्टिकोण का उपयोग शुरू कर सकते हैं।
सही ऑपरेटिंग सिस्टम इंस्टॉल करना सुनिश्चित करें। विंडोज 7 या उससे पहले के साथ रहें, और आप अपने वर्चुअल सिस्टम पर पुराने DOS ऐप्स को तुरंत डाउनलोड और इंस्टॉल कर सकते हैं।
3. लिनक्स का उपयोग करें
आप लिनक्स के बारे में जो कहें, एक चीज जो अधिकांश लिनक्स डिस्ट्रो में सही है वह है 16-बिट एप्लिकेशन के लिए समर्थन। PAE कर्नेल वाले डिस्ट्रो के साथ, आप 32-बिट सिस्टम के 4GB तक सीमित नहीं हैं, इसलिए अपने सिस्टम पर डुअल-बूट के रूप में एक उचित लिनक्स डिस्ट्रो चलाना एक और विकल्प है।
इसे करने के दो विकल्प: एक डुअल-बूट समाधान या एक वर्चुअल मशीन। या आप बस विंडोज को पूरी तरह से छोड़ सकते हैं, और लिनक्स के साथ जा सकते हैं। जो भी आपके लिए काम करे।
4. एमुलेटर्स का उपयोग करें
DOSBox पुराने DOS ऐप्स चलाने के उद्देश्य के लिए उपलब्ध एकमात्र एमुलेटर नहीं है। वहां बहुत सारे बेहतरीन एमुलेटर हैं जो उतने ही अच्छे काम करते हैं। यह विशेष रूप से सच है यदि आप एक गेमर हैं।
क्रिश्चियन ने कवर किया है कि कमोडोर अमिगा, रास्पबेरी पाई, एक एंड्रॉइड, और यहां तक कि किसी भी PC पर क्लासिक SNES को कैसे एमुलेट करें।
यह सिर्फ हिमशैल का सिरा है। यदि आप ऑनलाइन खोजते हैं तो आपको विभिन्न एमुलेटर्स की एक पूरी लाइब्रेरी मिल जाएगी जो आपको लगभग किसी भी रेट्रो ऐप को चलाने देगी जिसकी आप कल्पना कर सकते हैं। माइक्रोसॉफ्ट ने पुराने 16-बिट एप्लिकेशन को पीछे छोड़ दिया होगा, लेकिन आपके पास अभी भी विकल्प हैं।
16-बिट पर हार न मानें
ऐसा कोई कारण नहीं है कि आपको यह सोचना चाहिए कि 64-बिट मशीन पर 16-बिट एप्लिकेशन चलाना असंभव है। यह मूल रूप से असंभव हो सकता है, लेकिन जैसा कि आप देख सकते हैं, कार्य को पूरा करने के लिए बहुत सारे समाधान हैं।