लिनक्स / यूनिक्स पर 64 बिट्स को कैसे बदला गया? विंडोज की दुनिया अभी भी इसके साथ समस्या है और मैं उत्सुक हूँ कि यह * निक्स दुनिया में कैसे संभाला गया।
लिनक्स / यूनिक्स पर 64 बिट्स को कैसे बदला गया? विंडोज की दुनिया अभी भी इसके साथ समस्या है और मैं उत्सुक हूँ कि यह * निक्स दुनिया में कैसे संभाला गया।
जवाबों:
कर्नेल को 64-बिट बनाने के लिए आवश्यक कार्य डेको अल्फा सिस्टम का उपयोग करके कुछ समय पहले किया गया था । हालांकि, कार्यक्रम एक अलग मामला है।
मैंने अब तक जो आम सहमति दिखाई है, वह यह है:
/lib
और /lib64
निर्देशिकाओं के लिए सिस्टम जिसमें मिश्रित बायनेरिज़ हैंइसके अलावा, आप वास्तव में मिश्रित 32/64 बिट बिल्ड से "दुःख" का एक बहुत कुछ देखने के लिए नहीं जा रहे हैं।
multilib
alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib
विंडोज और * ix ने संक्रमण के लिए विभिन्न डेटा मॉडल का उपयोग किया। यह UNIX.org पेज थोड़ा पुराना है, लेकिन यह अभी भी ट्रेड-ऑफ्स का एक अच्छा अवलोकन प्रदान करता है (ध्यान दें कि long long
बाद में C99 में जोड़ा गया था, और कम से कम 64-बिट होना आवश्यक था)। आप उसी विषय पर एक विकिपीडिया लेख भी देख सकते हैं। UNIX.org लेख के अंत में वकालत के रूप में, सबसे यूनिक्स सिस्टम के LP64, जो साधन के साथ चले गए हैं long
, long long
और संकेत दिए गए सभी 64-बिट कर रहे हैं।
विंडोज के साथ चला गया जिसे LLP64 डेटा मॉडल कहा जाता है, जिसका अर्थ है कि केवल long long
और संकेत 64-बिट हैं। long
32-बिट रहता है। कारण का हिस्सा बस इतना था कि वे टूटे हुए कोड को ठीक नहीं करना चाहते थे और long
एक में फिट मानते थे int
।
चूंकि लिनक्स डिस्ट्रोस ज्यादातर ओपनसोर्स है, इसलिए पहले से ही बड़े पैमाने पर संक्रमण होता है। जब तक आप प्रॉपर सॉफ्टवेयर का उपयोग नहीं करते (जैसे स्काइप) आप बिना किसी नुकसान के शुद्ध 64-बिट सिस्टम चला सकते हैं।
हालाँकि वास्तविक अंतर IMHO अधिक उचित बनाम खुला है तो यूनिक्स बनाम विंडोज़। क्योंकि यह आमतौर पर ओपन सोर्स सॉफ़्टवेयर होता है जिसे पहले पोर्ट किया जाता है (कुछ वॉलनटियर को कुछ को फिर से इकट्ठा करने की आवश्यकता होती है - शायद कुछ संकलन मुद्दों को ठीक करें) - या ज्यादातर मामलों में पोर्ट किए गए। सभी लेकिन सिर्फ recompiled;) - और उचितता जो अंतिम पोर्ट की जाती है।
संभवतः इसके अलावा लिनक्स पर आपके पास रिपॉज है इसलिए इंस्टालेशन को ऑटोमैटिकली हैंडल किया जाता है - आपको 64-बिट या 32-बिट वर्जन (सिस्टम अपने आप चुनता है) चुनने की जरूरत नहीं है। विंडोज पर प्रोग्राम डाउनलोड किए जाते हैं और अलग-अलग 64-बिट और 32-बिट संस्करण होते हैं:
मुझे लगता है कि यही कारण है कि विंडोज बायनेरिज़ आमतौर पर 32-बिट होते हैं - यह एक आकार-फिट-सभी है और हर कोई 64-बिट संस्करण में नहीं गया है।
वास्तव में, ACM कतार में "द लॉन्ग रोड टू 64-बिट्स" का प्रयास करें: http://queue.acm.org/detail.cfm?id=1165766 जो बाद में ACM के संचार द्वारा उठाया गया था। पहला 64-बिट माइक्रो MIPS R4000 था, जिसे SGI क्रिमसन 1Q1992 में भेज दिया गया था, Dec Alphas ने उस वर्ष देर से भेजा।
R4000 पहले 32-बिट मोड में चल रहे थे, फिर बाद में 64/32 मोड में, यानी 64-बिट OS, 64 या 32-बिट उपयोगकर्ता कोड। अल्फ़ाज़ हमेशा UNIX को 64-बिट-केवल (एक उचित विकल्प के रूप में चलाते थे, क्योंकि 32-बिट ऐप्स का कोई स्थापित आधार नहीं था।)
बाद में 1990 के दशक में, SGI ने 64-बिट-औंस लिनक्स (इटेनियम पर चलने के लिए) में योगदान दिया, उस समय जब XFS को लिनक्स में रखा गया था (यह वास्तव में 64-बिट चाहता था)।