लिनक्स पर 64 बिट्स को कैसे शिफ्ट किया गया


15

लिनक्स / यूनिक्स पर 64 बिट्स को कैसे बदला गया? विंडोज की दुनिया अभी भी इसके साथ समस्या है और मैं उत्सुक हूँ कि यह * निक्स दुनिया में कैसे संभाला गया।


उड़ान रंग के साथ।
काज

जवाबों:


12

कर्नेल को 64-बिट बनाने के लिए आवश्यक कार्य डेको अल्फा सिस्टम का उपयोग करके कुछ समय पहले किया गया था । हालांकि, कार्यक्रम एक अलग मामला है।

मैंने अब तक जो आम सहमति दिखाई है, वह यह है:

  • अलग-अलग /libऔर /lib64निर्देशिकाओं के लिए सिस्टम जिसमें मिश्रित बायनेरिज़ हैं
  • 64-बिट के रूप में संकलित करें; यदि संकलन विफल रहता है, तो 32-बिट के रूप में फिर से इकट्ठा करें जब तक कि स्रोत को 64-बिट के लिए साफ़ नहीं किया जा सकता।

इसके अलावा, आप वास्तव में मिश्रित 32/64 बिट बिल्ड से "दुःख" का एक बहुत कुछ देखने के लिए नहीं जा रहे हैं।


साथ ही बाइनरी नामों को स्थिर और सुसंगत रखने के लिए सिम्बलिंक्स।
geoffc

और हम क्या कहते हैं है multilib alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib
phunehehe

क्या आप लिनक्स पर किसी भी प्रोग्राम को नाम दे सकते हैं जिसे केवल 32-बिट्स पर संकलित किया जा सकता है?
मिकीज पीचोटका

@ मचिज़ पाइचोटका: नहीं लगता कि बहुत सारे लोग बचे हैं। मुझे लगता है कि मुझे याद है OpenOffice.org मुश्किल हो रहा है, लेकिन 64-बिट में रूपांतरण शुरू होने पर यह वापस आ गया था। इसके अलावा: जाहिर तौर पर फ्लैश प्लेयर मुश्किल है: P
wzzrd

जब से फ्लैश प्लेयर संकलित किया गया है;) gnash / lightspark 64-बिट पर काम करता है लेकिन Adobe Flash Player उचित है
मैकीज पीचोटका

8

विंडोज और * ix ने संक्रमण के लिए विभिन्न डेटा मॉडल का उपयोग किया। यह UNIX.org पेज थोड़ा पुराना है, लेकिन यह अभी भी ट्रेड-ऑफ्स का एक अच्छा अवलोकन प्रदान करता है (ध्यान दें कि long longबाद में C99 में जोड़ा गया था, और कम से कम 64-बिट होना आवश्यक था)। आप उसी विषय पर एक विकिपीडिया लेख भी देख सकते हैं। UNIX.org लेख के अंत में वकालत के रूप में, सबसे यूनिक्स सिस्टम के LP64, जो साधन के साथ चले गए हैं long, long longऔर संकेत दिए गए सभी 64-बिट कर रहे हैं।

विंडोज के साथ चला गया जिसे LLP64 डेटा मॉडल कहा जाता है, जिसका अर्थ है कि केवल long longऔर संकेत 64-बिट हैं। long32-बिट रहता है। कारण का हिस्सा बस इतना था कि वे टूटे हुए कोड को ठीक नहीं करना चाहते थे और longएक में फिट मानते थे int


2
यूनिक्स की दुनिया में भी बहुत बहस हुई। "लॉन्ग लॉन्ग" को जोड़ने के पक्ष में एक तर्क यह था कि वहाँ बहुत अधिक कोड थे जो मानते थे कि "लंबे" 32 बिट्स थे। (कम से कम विशेष तर्क में मैं comp.std.c पर मिला, C99 मानक से बहुत पहले नहीं।)
डेविड

2

चूंकि लिनक्स डिस्ट्रोस ज्यादातर ओपनसोर्स है, इसलिए पहले से ही बड़े पैमाने पर संक्रमण होता है। जब तक आप प्रॉपर सॉफ्टवेयर का उपयोग नहीं करते (जैसे स्काइप) आप बिना किसी नुकसान के शुद्ध 64-बिट सिस्टम चला सकते हैं।

हालाँकि वास्तविक अंतर IMHO अधिक उचित बनाम खुला है तो यूनिक्स बनाम विंडोज़। क्योंकि यह आमतौर पर ओपन सोर्स सॉफ़्टवेयर होता है जिसे पहले पोर्ट किया जाता है (कुछ वॉलनटियर को कुछ को फिर से इकट्ठा करने की आवश्यकता होती है - शायद कुछ संकलन मुद्दों को ठीक करें) - या ज्यादातर मामलों में पोर्ट किए गए। सभी लेकिन सिर्फ recompiled;) - और उचितता जो अंतिम पोर्ट की जाती है।

संभवतः इसके अलावा लिनक्स पर आपके पास रिपॉज है इसलिए इंस्टालेशन को ऑटोमैटिकली हैंडल किया जाता है - आपको 64-बिट या 32-बिट वर्जन (सिस्टम अपने आप चुनता है) चुनने की जरूरत नहीं है। विंडोज पर प्रोग्राम डाउनलोड किए जाते हैं और अलग-अलग 64-बिट और 32-बिट संस्करण होते हैं:

  • सर्वर पर फ़ाइलों के आकार को दोगुना करता है
  • उपयोगकर्ता को उसके संस्करण को जानने की आवश्यकता है। या यहां तक ​​कि वे किसी चीज से भिन्न होते हैं

मुझे लगता है कि यही कारण है कि विंडोज बायनेरिज़ आमतौर पर 32-बिट होते हैं - यह एक आकार-फिट-सभी है और हर कोई 64-बिट संस्करण में नहीं गया है।


2

वास्तव में, 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-बिट चाहता था)।

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