شنبه, ۸ اردیبهشت, ۱۴۰۳ / 27 April, 2024
مجله ویستا

لینوکس ۶۴ بیتی‌


لینوکس ۶۴ بیتی‌
در اواسط سال ۱۹۹۵، فناوری ۳۲ بیتی بر روی سیستم‌عامل‌های ویندوز ۹۵ مایكروسافت و OS/۲ آی‌بی‌ام پا به عرصه ظهور گذاشت. در آن زمان بسیاری تصور می‌كردند كه فناوری دیگر به انتهای شكوفایی خود رسیده‌است. از این‌رو فكر پدیده‌ای به نام <محاسبات ۶۴ بیتی> را هم در ذهن خود نمی‌پروراندند. در حالی كه در همین زمان و حتی چند سال قبل از آن هم صحبت از فناوری ۶۴ بیتی به میان آمده بود. اما به دلیل این‌كه این رخداد در دنیای PC ها و به‌ویژه محیط پركاربرد ویندوز مایكروسافت به وقوع نپیوسته بود، كمتر كسی از آن خبر داشت.
در واقع اولین بار در سال ۱۹۹۲ پردازنده‌های DEC Alpha (مبتنی‌بر معماری RISC ) امكان دسترسی ۶۴ بیتی به فایل و فایل‌سیستم را فراهم ساختند. در آن زمان سیستم‌عامل‌های Open VMS و Digital Unix توانستند بهترین بهره را از قابلیت‌های این پردازنده ببرند. پس از آن و در سال ۱۹۹۳ لینوكس نیز به جمع سیستم‌عامل‌های پشتیبانی‌كننده از پردازنده‌های DEC پیوست و در سال ۱۹۹۵ نیز نسخه‌هایی از لینوكس برای اجرا در پردازنده‌های ۶۴ بیتی، نظیر Ultra Sparc سان مایكروسیستمز و MIPS آی‌بی‌ام ساخته شدند؛ درحالی‌كه در وادی PCها هنوز هم ویندوز و هم لینوكس در دنیای ۳۲ بیتی زندگی می‌كردند.
بالاخره در سال ۲۰۰۱ شركت اینتل اولین سری پردازنده‌های ۶۴بیتی PCها را با نام ایتانیوم به بازار عرضه كرد كه فقط برنامه‌های ۶۴‌بیتی قادر بودند بر روی یك سیستم‌عامل ۶۴ بیتی با این پردازنده كار كنند. اینتل بعداً این نقص را با ارائه ایتانیوم ۲ كه به برنامه‌های ۳۲ بیتی نیز امكان اجرای سریع‌تر می‌داد، برطرف كرد. شركت AMD نیز در سال ۲۰۰۳ خط تولید انبوه پردازنده ۶۴ بیتی اپترون (Opteron) را رسماً افتتاح كرد. این پردازنده كه به داشتن فناوری ۶۴-X۸۶ معروف شد، به راحتی توانست برنامه‌های ۳۲ و ۶۴ بیتی را اجرا كند و همین مسئله باعث شد اینتل نیز در رقابت با اپترون، پردازنده‌های سری Xeon را با فناوری و قابلیت‌های مشابه بسازد.
به‌طوركلی در پردازنده‌هایی كه توسط این دو سازنده ساخته شد، تعداد رجیستری‌های CPU برای لود كردن تعداد بیشتری دستورالعمل در واحد زمان، به دو برابر افزایش یافته‌است. ضمن این‌كه امكان آدرس‌دهی فضای حافظه برای برنامه‌های در حال اجرا نیز از چهار گیگابایت به شانزده میلیون گیگابایت افزایش یافت. این موضوع سبب شد سیستم‌عامل مجبور نباشد به سبب كمبود حافظه قابل آدرس‌دهی، از هارددیسك به عنوان فضای موقت نگهداری داده‌ها (Virtual Memory) استفاده كند و به‌طور مداوم اطلاعات را جهت پردازش، بین هارددیسك و حافظه رد‌وبدل كند. در سیستم‌عامل‌های ۶۴ بیتی به خوبی از این امكانات جدید استفاده شده‌است.
برای برنامه‌های ۳۲‌بیتی نیز از قابلیت اول و برای برنامه‌های ۶۴ بیتی از هر دو قابلیت مذكور بهترین بهره برای افزایش سرعت اجرای برنامه برده می‌شود. به هر حال اگرچه شركت‌های معتبر توزیع‌كننده لینوكس مثل ردهت یاSUSE مطالعه و آزمایش برروی نسخه‌های اولیه‌ای از لینوكس ۶۴‌بیتی را آغاز كرده بودند، اما باید سال ۱۹۹۵ را زمان ورود رسمی لینوكس به دنیای ۶۴ بیتی به حساب آورد. در حال حاضر نیز شركت‌های ردهت و ناول مشغول ارائه سیستم‌های ۶۴ بیتی خود هستند.
به‌ویژه در صنایع گاز، هوا‌‌-‌فضا، داروسازی و برخی صنایع تولیدی دیگر، لینوكس‌های ۶۴ بیتی با سرورهای HP ،IBM وNEC یكه‌تاز میدان هستند. البته ا‌ین‌ مسئله به همین‌جا نیز ختم نمی‌شود و این سیستم‌عامل‌های پرسرعت علاوه بر قدرتی كه در سرورهای رده متوسط آی‌بی‌ام نظیر سری i و p به نمایش گذاشتند، روی پلتفرم‌های كوچك‌تری چون سرورهای سری e آی‌بی‌ام یا سرورهای Dual Xeon Relion شركت Penguin Computing نیز كارایی بسیاری نشان دادند. اكنون نیز ناول با سیستم‌عامل SUSE و ردهت با RHEL (هر دو سری A و ES) راه‌های آسان و سریعی را برای دستیابی و بهره‌مندی شركت‌های كوچك به مزایای محیط ۶۴ بیتی تحت پردازنده‌های AMD Athlon ۶۴ و Intel Xeon، پدید آورده‌اند.
در كاربردهای خانگی یا دسكتاپ نیز اوضاع به همین روال است. علاوه‌‌‌بر دو توزیع‌كننده معروف ردهت و ناول، دیگران نیز در ساخت لینوكس‌های ۶۴‌بیتی دسكتاپ موفقیت‌های غیرقابل‌انكاری داشته‌اند.
نمونه آن، توزیع Ubuntu Linux ۵.۰۴ است كه از پردازنده‌های AMD ۶۴ و Power پشتیبانی می‌كند.
● برنامه‌های ۶۴ بیتی
در زمینه برنامه‌های كاربردی دو بحث مختلف را می‌توان مطرح كرد: یكی در مورد برنامه‌هایی كه نقش سرویس‌دهنده (server) را بازی می‌كنند و دوم برنامه‌هایی كه تك كاربره و دسكتاپ هستند. در مورد اول، بانك‌های‌اطلاعاتی نخستین كاربرد مهم سرورها به شمار می‌آیند كه ارتقا آن‌ها به نسخه‌های ۶۴ بیتی به دلیل حجم داده‌ها و پردازش‌های همزمان موجود در آن‌ها، بسیار منطقی و مهم به نظر می‌رسد.
در این حالت در حالی كه مایكروسافت نسخه ۶۴ بیتی بانك اطلاعاتی خود (یعنی SQL Server) را بر روی سیستم‌عامل مختص خود یعنی ویندوز ۲۰۰۳ (یعنی ۶۴ بیتی) توصیه می‌نماید، در دنیای لینوكس وضع به گونه‌ای دیگر در جریان است. در اینجا ویرایش‌های ۶۴ بیتی MySQL و IBM DB۲ و از همه مهم‌تر Oracle ۱۰g به راحتی بر روی لینوكس‌هایی كه به پردازنده‌های Xeon و ایتانیوم مجهزند، نصب و اجرا می‌شوند. اما این بانك اطلاعاتی برای اجرا در محیط ویندوز ۶۴ بیتی نیازمند وجود فقط پردازنده ایتانیوم است.
در مورد كاربردهای دسكتاپ و خاص، ذكر یك نكته ضروری است. قبل از آن‌كه فناوری ۶۴ بیتی مطرح شود، بسیاری از شركت‌ها مجبور بودند برای دستیابی به سرعت و كارایی موردنظرشان، كامپیوترهای قدرتمند و چندپردازنده‌ای را خریداری نمایند. برخی از این كامپیوترها، مثل سری SGI و چند نوع دیگر كه برای كاربردهای خاصی مثلفیلم‌سازی، طراحی انیمیشن، صنایع داروسازی، شبیه‌سازی پرواز یا امثال آن مورد استفاده قرار می‌گرفتند، از معماری و تركیب خاصی در تجهیزات برخوردار بود و در مقایسه با PCهای معمولی بسیار گران به نظر می‌رسیدند.
اما اكنون با فراگیر شدن فناوری ۶۴‌بیتی و به‌ویژه با پشتیبانی دو پردازنده اپترون و Xeon (فناوری ۶۴-۸۶X) حتی لپ‌تاپ‌ها نیز تاحدودی قادر به برآورده ساختن برخی از این نوع نیازها شده‌اند. اثرات این پیشرفت را می‌توان به وضوح در برخی كاربردهای عام دسكتاپ مشاهده‌كرد. افزایش سرعت در برنامه‌های ویرایش تصویر و گرافیك مانندGIMP یا برنامه‌های محاسباتی مثل Open Office، از جمله این موارد به حساب می‌آیند. از طرفی دیگر به نظر می‌رسد در آینده نزدیك نیز شاهد مهاجرت بسیاری از برنامه‌های ۳۲ بیتی فعلی به نسخه‌های ۶۴ بیتی خواهیم بود. شاید آرزوی دیدن برنامه‌های محبوبی مانند Flash در دنیای ۶۴ بیتی، چندان دور از دسترس نباشد.
● معماری لینوكس ۶۴ بیتی
یك لینوكس ۶۴ بیتی یعنی لینوكسی كه دارای كرنل و GNU كامپایل شده ۶۴ بیتی است، قاعدتاً باید در كنار توابع كتابخانه‌ای ۳۲‌بیتی، توابعی برای اجرای ۶۴ بیتی برنامه‌های ۶۴ بیتی نیز داشته باشد. یعنی از آنجا كه سیستم‌عامل ۶۴ بیتی باید بتواند هم برنامه‌های ۳۲‌بیتی و هم برنامه‌های ۶۴ بیتی را اجرا نماید، باید از هر كتابخانه، دو نسخه مختلف را در كنار هم داشته باشد. مثلاً توابعی كه برای كامپایل و اجرای برنامه‌های نوشته شده به زبانC مورد استفاده قرار می‌گیرند (مثل كتابخانه glibc) باید در هر دو فرمت ۳۲ و ۶۴ بیتی در دسترس باشند. به عنوان مثال فدورا، كتابخانه‌های ۳۲‌بیتی را در دایركتوری Lib/Usr/Lib و كتابخانه‌های ۶۴‌بیتی را در دایركتوری Lib۶۴/Usr/Lib۶۴ قرار می‌دهد تا در موقع مناسب مورداستفاده برنامه‌های ۳۲ یا ۶۴ بیتی قرار گیرند. به این حالت، Dynamic Multilib گفته می‌شود.
به‌همین ترتیب می‌توان حتی برنامه‌هایی كه توسط برنامه‌نویسان و در قالب Package نوشته و در سیستم نصب می‌شوند را نیز تقسیم‌بندی كرد. از این لحاظ برنامه‌های Package به دو دسته تقسیم می‌شوند: یكی آن‌هایی كه فقط برای كار كردن در یك محیط (۳۲ یا ۶۴ بیتی) ساخته می‌شوند و دوم آن‌هایی كه شبیه Multilib خود لینوكس، در قالب دو نسخه و برای قابل‌اجرا بودن در هر دو محیط ساخته‌شده و به نام Multilib Package شناخته می‌شوند.
كاملاً واضح است كه در صورتی كه از روش دوم برای ساخت برنامه‌های كاربردی استفاده شود، باید تمهیداتی به كار بسته شود تا هر نسخه (۳۲ یا ۶۴‌‌بیتی) برنامه بتواند در زمان اجرا شدن بر روی لینوكس، محیط خود را شناسایی نماید و مسیر صحیح قرار گرفتن كتابخانه‌های همگون و مربوط (Multilib) را پیدا و از آن‌ها استفاده كند. بدیهی است درغیر‌این‌صورت ممكن است برنامه‌های ۳۲ یا ۶۴‌بیتی به اشتباه از كتابخانه‌های یكدیگر استفاده‌كنند و در نتیجه قابل اجرا بر روی سیستم نباشند.
مسئله مهم دیگر وجود بعضی plug inهای قدیمی در محیط ۶۴ بیتی است. فرض كنید یك لینوكس ۶۴ بیتی دارید كه از یك مرورگر وب فایرفاكس ۶۴ بیتی استفاده می‌كند و شما وارد سایتی می‌شوید كه جلوه‌ای ساخته شده باFlash را به شما نشان‌می‌دهد. اتفاقی كه در اینجا رخ می‌دهد این است كه از آنجا كه برنامه اصلی در حال اجرا (یعنی فایرفاكس) یك برنامه ۶۴ بیتی است، سیستم‌عامل برای اجرای تصاویر فلاش به دنبال plug in نسخه ۶۴‌بیتی می‌گردد و چون هنوز این plug in برای لینوكس ۶۴ بیتی ساخته نشده یا در دسترس نیست، سعی می‌كند از plug in نسخه ۳۲ بیتی آن استفاده نماید؛ غافل از آن كه فایرفاكس ۶۴‌‌بیتی نمی‌تواند ‌۳۲plug in ‌بیتی را اجرا‌نماید.
بنابراین هیچ چیزی نمایش داده نمی‌شود و زمانی كه به Help سیستم‌عامل مراجعه می‌كنید، تازه متوجه می‌شوید كه باید فعلاً از فایرفاكس ۶۴ بیتی صرف‌نظر كنید و همان نسخه قبلی‌اش را مورد استفاده قرار دهید تا زمانی كه مطمئن شوید كلیه سازندگان plug inهای اینترنتی، نسخه ۶۴ بیتی ویژه لینوكس را ساخته و ارائه كرده‌اند.
در دنیای ویندوز این معضل تقریباً با كمك شبیه‌سازی به نام WOW ۶۴ حل شده است. این شبیه‌ساز قادر است برنامه‌ها و یا plug inهای قدیمی نوشته شده برای محیط ۳۲ بیتی را در ویندوز ۶۴ بیتی اجرا نماید. شاید این مسئله به همراه مشكل مربوط به وجود درایورهای سخت‌افزاری در محیط‌های ۶۴ بیتی، از معدود نقاط برتری فناوری ۶۴ بیتی در ویندوز نسبت به لینوكس باشد. در حالی كه هم اكنون شركت‌هایی همانند ردهت به شدت مشغول سازگارسازی و قابل‌اجرا نمودن برنامه‌ها و درایورهای سخت‌افزاری ۳۲ بیتی بر روی محیط ۶۴ بیتی هستند و احتمال این‌كه در آینده نزدیك این مشكل را به طور كلی برطرف كنند و دنیای اپن‌سورس را با جهشی چشمگیر در عرصه ۶۴ بیتی مطرح سازند، بسیار زیاد است. به هر حال همیشه راه‌حل‌های متمركز و انحصاری در تقابل با اندیشه‌های نو و متعدد اپن‌سورس، رقابت‌های جالبی را به نمایش گذاشته است. پس شاید در این زمینه نیز به زودی شاهد رویدادهای جدیدی باشیم.
مهیار داعی‌الحق
منبع : ماهنامه شبکه


همچنین مشاهده کنید