PDA

مشاهده نسخه کامل : لینوکس 64 بیتی ( مقاله )



Shahryar
07-11-06, 16:04
در اواسط سال 1995، فناوري 32 بيتي بر روي سيستم‌عامل‌هاي ويندوز 95 مايكروسافت و OS/2 آي‌بي‌ام پا به عرصه ظهور گذاشت. در آن زمان بسياري تصور مي‌كردند كه فناوري ديگر به انتهاي شكوفايي خود رسيده‌است. از اين‌رو فكر پديده‌اي به نام <محاسبات 64 بيتي> را هم در ذهن خود نمي‌پروراندند. در حالي كه در همين زمان و حتي چند سال قبل از آن هم صحبت از فناوري 64 بيتي به ميان آمده بود. اما به دليل اين‌كه اين رخداد در دنياي PC ها و به‌ويژه محيط پركاربرد ويندوز مايكروسافت به وقوع نپيوسته بود، كمتر كسي از آن خبر داشت.

در واقع اولين بار در سال 1992 پردازنده‌هاي DEC Alpha (مبتني‌بر معماري RISC ) امكان دسترسي 64 بيتي به فايل و فايل‌سيستم را فراهم ساختند. در آن زمان سيستم‌عامل‌هاي Open VMS و Digital Unix توانستند بهترين بهره را از قابليت‌هاي اين پردازنده ببرند. پس از آن و در سال 1993 لينوكس نيز به جمع سيستم‌عامل‌هاي پشتيباني‌كننده از پردازنده‌هاي DEC پيوست و در سال 1995 نيز نسخه‌هايي از لينوكس براي اجرا در پردازنده‌هاي 64 بيتي، نظير Ultra Sparc سان مايكروسيستمز و MIPS آي‌بي‌ام ساخته شدند؛ درحالي‌كه در وادي PCها هنوز هم ويندوز و هم لينوكس در دنياي 32 بيتي زندگي مي‌كردند.

بالاخره در سال 2001 شركت اينتل اولين سري پردازنده‌هاي 64بيتي PCها را با نام ايتانيوم به بازار عرضه كرد كه فقط برنامه‌هاي 64‌بيتي قادر بودند بر روي يك سيستم‌عامل 64 بيتي با اين پردازنده كار كنند. اينتل بعداً اين نقص را با ارائه ايتانيوم 2 كه به برنامه‌هاي 32 بيتي نيز امكان اجراي سريع‌تر مي‌داد، برطرف كرد. شركت AMD نيز در سال 2003 خط توليد انبوه پردازنده 64 بيتي اپترون (Opteron) را رسماً افتتاح كرد. اين پردازنده كه به داشتن فناوري 64-X86 معروف شد، به راحتي توانست برنامه‌هاي 32 و 64 بيتي را اجرا كند و همين مسئله باعث شد اينتل نيز در رقابت با اپترون، پردازنده‌هاي سري Xeon را با فناوري و قابليت‌هاي مشابه بسازد.

به‌طوركلي در پردازنده‌هايي كه توسط اين دو سازنده ساخته شد، تعداد رجيستري‌هاي CPU براي لود كردن تعداد بيشتري دستورالعمل در واحد زمان، به دو برابر افزايش يافته‌است. ضمن اين‌كه امكان آدرس‌دهي فضاي حافظه براي برنامه‌هاي در حال اجرا نيز از چهار گيگابايت به شانزده ميليون گيگابايت افزايش يافت. اين موضوع سبب شد سيستم‌عامل مجبور نباشد به سبب كمبود حافظه قابل آدرس‌دهي، از هاردديسك به عنوان فضاي موقت نگهداري داده‌ها (Virtual Memory) استفاده كند و به‌طور مداوم اطلاعات را جهت پردازش، بين هاردديسك و حافظه رد‌وبدل كند. در سيستم‌عامل‌هاي 64 بيتي به خوبي از اين امكانات جديد استفاده شده‌است.

براي برنامه‌هاي 32‌بيتي نيز از قابليت اول و براي برنامه‌هاي 64 بيتي از هر دو قابليت مذكور بهترين بهره براي افزايش سرعت اجراي برنامه برده مي‌شود. به هر حال اگرچه شركت‌هاي معتبر توزيع‌كننده لينوكس مثل ردهت ياSUSE مطالعه و آزمايش برروي نسخه‌هاي اوليه‌اي از لينوكس 64‌بيتي را آغاز كرده بودند، اما بايد سال 1995 را زمان ورود رسمي لينوكس به دنياي 64 بيتي به حساب آورد. در حال حاضر نيز شركت‌هاي ردهت و ناول مشغول ارائه سيستم‌هاي 64 بيتي خود هستند.

به‌ويژه در صنايع گاز، هوا‌‌-‌فضا، داروسازي و برخي صنايع توليدي ديگر، لينوكس‌هاي 64 بيتي با سرورهاي HP ،IBM وNEC يكه‌تاز ميدان هستند. البته ا‌ين‌ مسئله به همين‌جا نيز ختم نمي‌شود و اين سيستم‌عامل‌هاي پرسرعت علاوه بر قدرتي كه در سرورهاي رده متوسط آي‌بي‌ام نظير سري i و p به نمايش گذاشتند، روي پلتفرم‌هاي كوچك‌تري چون سرورهاي سري e آي‌بي‌ام يا سرورهاي Dual Xeon Relion شركت Penguin Computing نيز كارايي بسياري نشان دادند. اكنون نيز ناول با سيستم‌عامل SUSE و ردهت با RHEL (هر دو سري A و ES) راه‌هاي آسان و سريعي را براي دستيابي و بهره‌مندي شركت‌هاي كوچك به مزاياي محيط 64 بيتي تحت پردازنده‌هاي AMD Athlon 64 و Intel Xeon، پديد آورده‌اند.

در كاربردهاي خانگي يا دسكتاپ نيز اوضاع به همين روال است. علاوه‌‌‌بر دو توزيع‌كننده معروف ردهت و ناول، ديگران نيز در ساخت لينوكس‌هاي 64‌بيتي دسكتاپ موفقيت‌هاي غيرقابل‌انكاري داشته‌اند.
نمونه آن، توزيع Ubuntu Linux 5.04 است كه از پردازنده‌هاي AMD 64 و Power پشتيباني مي‌كند.

برنامه‌هاي 64 بيتي
در زمينه برنامه‌هاي كاربردي دو بحث مختلف را مي‌توان مطرح كرد: يكي در مورد برنامه‌هايي كه نقش سرويس‌دهنده (server) را بازي مي‌كنند و دوم برنامه‌هايي كه تك كاربره و دسكتاپ هستند. در مورد اول، بانك‌هاي‌اطلاعاتي نخستين كاربرد مهم سرورها به شمار مي‌آيند كه ارتقا آن‌ها به نسخه‌هاي 64 بيتي به دليل حجم داده‌ها و پردازش‌هاي همزمان موجود در آن‌ها، بسيار منطقي و مهم به نظر مي‌رسد.

در اين حالت در حالي كه مايكروسافت نسخه 64 بيتي بانك اطلاعاتي خود (يعني SQL Server) را بر روي سيستم‌عامل مختص خود يعني ويندوز 2003 (يعني 64 بيتي) توصيه مي‌نمايد، در دنياي لينوكس وضع به گونه‌اي ديگر در جريان است. در اينجا ويرايش‌هاي 64 بيتي MySQL و IBM DB2 و از همه مهم‌تر Oracle 10g به راحتي بر روي لينوكس‌هايي كه به پردازنده‌هاي Xeon و ايتانيوم مجهزند، نصب و اجرا مي‌شوند. اما اين بانك اطلاعاتي براي اجرا در محيط ويندوز 64 بيتي نيازمند وجود فقط پردازنده ايتانيوم است.

در مورد كاربردهاي دسكتاپ و خاص، ذكر يك نكته ضروري است. قبل از آن‌كه فناوري 64 بيتي مطرح شود، بسياري از شركت‌ها مجبور بودند براي دستيابي به سرعت و كارايي موردنظرشان، كامپيوترهاي قدرتمند و چندپردازنده‌اي را خريداري نمايند. برخي از اين كامپيوترها، مثل سري SGI و چند نوع ديگر كه براي كاربردهاي خاصي مثلفيلم‌سازي، طراحي انيميشن، صنايع داروسازي، شبيه‌سازي پرواز يا امثال آن مورد استفاده قرار مي‌گرفتند، از معماري و تركيب خاصي در تجهيزات برخوردار بود و در مقايسه با PCهاي معمولي بسيار گران به نظر مي‌رسيدند.

اما اكنون با فراگير شدن فناوري 64‌بيتي و به‌ويژه با پشتيباني دو پردازنده اپترون و Xeon (فناوري 64-86X) حتي لپ‌تاپ‌ها نيز تاحدودي قادر به برآورده ساختن برخي از اين نوع نيازها شده‌اند. اثرات اين پيشرفت را مي‌توان به وضوح در برخي كاربردهاي عام دسكتاپ مشاهده‌كرد. افزايش سرعت در برنامه‌هاي ويرايش تصوير و گرافيك مانندGIMP يا برنامه‌هاي محاسباتي مثل Open Office، از جمله اين موارد به حساب مي‌آيند. از طرفي ديگر به نظر مي‌رسد در آينده نزديك نيز شاهد مهاجرت بسياري از برنامه‌هاي 32 بيتي فعلي به نسخه‌هاي 64 بيتي خواهيم بود. شايد آرزوي ديدن برنامه‌هاي محبوبي مانند Flash در دنياي 64 بيتي، چندان دور از دسترس نباشد.

معماري لينوكس 64 بيتي
يك لينوكس 64 بيتي يعني لينوكسي كه داراي كرنل و GNU كامپايل شده 64 بيتي است، قاعدتاً بايد در كنار توابع كتابخانه‌اي 32‌بيتي، توابعي براي اجراي 64 بيتي برنامه‌هاي 64 بيتي نيز داشته باشد. يعني از آنجا كه سيستم‌عامل 64 بيتي بايد بتواند هم برنامه‌هاي 32‌بيتي و هم برنامه‌هاي 64 بيتي را اجرا نمايد، بايد از هر كتابخانه، دو نسخه مختلف را در كنار هم داشته باشد. مثلاً توابعي كه براي كامپايل و اجراي برنامه‌هاي نوشته شده به زبانC مورد استفاده قرار مي‌گيرند (مثل كتابخانه glibc) بايد در هر دو فرمت 32 و 64 بيتي در دسترس باشند. به عنوان مثال فدورا، كتابخانه‌هاي 32‌بيتي را در دايركتوري Lib/Usr/Lib و كتابخانه‌هاي 64‌بيتي را در دايركتوري Lib64/Usr/Lib64 قرار مي‌دهد تا در موقع مناسب مورداستفاده برنامه‌هاي 32 يا 64 بيتي قرار گيرند. به اين حالت، Dynamic Multilib گفته مي‌شود.

به‌همين ترتيب مي‌توان حتي برنامه‌هايي كه توسط برنامه‌نويسان و در قالب Package نوشته و در سيستم نصب مي‌شوند را نيز تقسيم‌بندي كرد. از اين لحاظ برنامه‌هاي Package به دو دسته تقسيم مي‌شوند: يكي آن‌هايي كه فقط براي كار كردن در يك محيط (32 يا 64 بيتي) ساخته مي‌شوند و دوم آن‌هايي كه شبيه Multilib خود لينوكس، در قالب دو نسخه و براي قابل‌اجرا بودن در هر دو محيط ساخته‌شده و به نام Multilib Package شناخته مي‌شوند.

كاملاً واضح است كه در صورتي كه از روش دوم براي ساخت برنامه‌هاي كاربردي استفاده شود، بايد تمهيداتي به كار بسته شود تا هر نسخه (32 يا 64‌‌بيتي) برنامه بتواند در زمان اجرا شدن بر روي لينوكس، محيط خود را شناسايي نمايد و مسير صحيح قرار گرفتن كتابخانه‌هاي همگون و مربوط (Multilib) را پيدا و از آن‌ها استفاده كند. بديهي است درغير‌اين‌صورت ممكن است برنامه‌هاي 32 يا 64‌بيتي به اشتباه از كتابخانه‌هاي يكديگر استفاده‌كنند و در نتيجه قابل اجرا بر روي سيستم نباشند.

مسئله مهم ديگر وجود بعضي plug inهاي قديمي در محيط 64 بيتي است. فرض كنيد يك لينوكس 64 بيتي داريد كه از يك مرورگر وب فايرفاكس 64 بيتي استفاده مي‌كند و شما وارد سايتي مي‌شويد كه جلوه‌اي ساخته شده باFlash را به شما نشان‌مي‌دهد. اتفاقي كه در اينجا رخ مي‌دهد اين است كه از آنجا كه برنامه اصلي در حال اجرا (يعني فايرفاكس) يك برنامه 64 بيتي است، سيستم‌عامل براي اجراي تصاوير فلاش به دنبال plug in نسخه 64‌بيتي مي‌گردد و چون هنوز اين plug in براي لينوكس 64 بيتي ساخته نشده يا در دسترس نيست، سعي مي‌كند از plug in نسخه 32 بيتي آن استفاده نمايد؛ غافل از آن كه فايرفاكس 64‌‌بيتي نمي‌تواند ‌32plug in ‌بيتي را اجرا‌نمايد.

بنابراين هيچ چيزي نمايش داده نمي‌شود و زماني كه به Help سيستم‌عامل مراجعه مي‌كنيد، تازه متوجه مي‌شويد كه بايد فعلاً از فايرفاكس 64 بيتي صرف‌نظر كنيد و همان نسخه قبلي‌اش را مورد استفاده قرار دهيد تا زماني كه مطمئن شويد كليه سازندگان plug inهاي اينترنتي، نسخه 64 بيتي ويژه لينوكس را ساخته و ارائه كرده‌اند.

در دنياي ويندوز اين معضل تقريباً با كمك شبيه‌سازي به نام WOW 64 حل شده است. اين شبيه‌ساز قادر است برنامه‌ها و يا plug inهاي قديمي نوشته شده براي محيط 32 بيتي را در ويندوز 64 بيتي اجرا نمايد. شايد اين مسئله به همراه مشكل مربوط به وجود درايورهاي سخت‌افزاري در محيط‌هاي 64 بيتي، از معدود نقاط برتري فناوري 64 بيتي در ويندوز نسبت به لينوكس باشد. در حالي كه هم اكنون شركت‌هايي همانند ردهت به شدت مشغول سازگارسازي و قابل‌اجرا نمودن برنامه‌ها و درايورهاي سخت‌افزاري 32 بيتي بر روي محيط 64 بيتي هستند و احتمال اين‌كه در آينده نزديك اين مشكل را به طور كلي برطرف كنند و دنياي اپن‌سورس را با جهشي چشمگير در عرصه 64 بيتي مطرح سازند، بسيار زياد است. به هر حال هميشه راه‌حل‌هاي متمركز و انحصاري در تقابل با انديشه‌هاي نو و متعدد اپن‌سورس، رقابت‌هاي جالبي را به نمايش گذاشته است. پس شايد در اين زمينه نيز به زودي شاهد رويدادهاي جديدي باشيم.

منبع : ماهنامه شبکه

شاد و پیروز باشید
شهریار:23: