تفاوت سیستم عامل 32 با 64 بیتی چیست؟
سیستمعامل 32 بیتی و 64 بیتی در ظاهر با هم تفاوتی ندارند به همین دلیل ممکن است ندانید که ویندوز شما کدامیک از این دو است.
سادهترین راه برای پی بردن به این موضوع این است که وارد پانل کنترل(Control Panel) شوید و به دنبال system بگردید. این کار را با یک کلیک راست روی My Computer و انتخاب Properties نیز میتوانید انجام دهید.!
تفاوت سیستمهای 32 بیتی و 64 بیتی
وقتی
در مورد سیستمهای 64 بیتی صحبت میشود باید بین دو مفهوم محاسبات 64 بیتی
که برای رسیدن به کارآیی بالاتر و آدرسدهی 64 بیتی که برای پشتیبانی از
حجم بالاتری از حافظه به کار میروند تفاوت قائل شد.
سیستم 64 بیتی برای
پشتیبانی از اطلاعات 64 بیتی از رجیسترهای 64 بیتی استفاده میکند. این
سیستمها از آدرسدهی داخلی 64 بیتی استفاده میکنند که حجم حافظه قابل
آدرسدهی را به 16 گیگابایت میرساند در حالیکه در سیستمهای 32 بیتی
حداکثر حافظه قابل آدرس دهی، 4 گیگا بایت است.
برای کار با
سیستمعامل 64 بیتی به پردازنده 64 بیتی نیاز است. اکثر سیستمهای 64 بیتی
قادرند نرمافزارهای 32 بیتی را در حالت سازگاری یا Compatibility Mode
اجرا کنند.
این قابلیت، با توجه به کمیاب بودن نسخه 64 بیتی برخی
نرمافزارها، بسیار کاربردی است. با نصب سیستمعامل 32 بیتی روی پردازنده
64 بیتی،
در واقع از تمام قابلیتها و قدرت این نوع پردازنده استفاده نخواهد شد.
در حالیکه یک نرمافزار 64 بیتی چنانچه ساختار درستی داشته باشد روی سیستمعامل 64 بیتی بسیار بهتر اجرا میشود، به علاوه نرمافزارهای 32 بیتی هم با سرعت تقریبا یکسانی روی هر دو نوع سیستمعامل اجرا خواهند شد.
مزایای 64 بیتی
سیستمعامل 64 بیتی دو مزیت
عمده نسبت به سیستمعامل 32 بیتی دارد.نخست اینکه سیستمعامل 32 بیتی،
به حداکثر 4 گیگابایت حافظه محدود میشود. توجه داشته باشید که این 4
گیگابایت حافظه، تماما به حافظه رم اختصاص نمی یابد، بلکه به سایر
حافظههای موجود در سیستم از جمله حافظه گرافیکی نیز تعلق دارد به علاوه
Process های وابسته به سیستمعامل نیز در همین فضای حافظه، آدرسدهی
میشوند.
نتیجه اینکه بسته به پیکربندی سیستم، حداکثر 3 تا 3.25 گیگابایت از حافظه رم قابل شناسایی خواهد بود. در مقابل سیستم عامل 64 بیتی توانایی آدرسدهی حجم بیشتری از حافظه را دارد و برای استفاده از حجمهای بالای رم مثل 6 یا 12 گیگابایت، مشکلی نخواهد داشت.
برتری دوم، راحتتر بودن پردازش و برخورد با فایلهای حجیم در سیستمعامل 64 بیتی بر میگردد.
فرض کنید قرار است یک فایل 5 گیگابایتی روی سیستم عامل 32 بیتی با حجم رم قابل دسترسی 3 گیگابایت باز شود در این حالت سیستم باید قسمتهای مورد نیاز فایل را در حافظه آدرسدهی کند و در صورتیکه نیاز باشد از قسمتهای مختلف فایل به صورت پی در پی استفاده شود، عملیات آدرس دهی باید دائما تکرار شود.
معایب 64 بیتی
از
آنجائیکه در سیستمعامل 64 بیتی از الگوریتمهای پیشرفتهتر و پیچیدهتری
برای آدرسدهی حافظه استفاده میشود، به حجم بالاتری از حافظه نیاز خواهد
بود به علاوه برخی نرمافزارها نیز نسخه 64 بیتی ندارند که برخی کاربران
را به مشکل میاندازد.
تمام نرمافزارها از انتقال آنها به شکل 64 بیتی بهره مثبت نمیبرند. برخی اجزای سطح پائین در کامپیوتر نظیر درایورهای سختافزاری، هنوز درایور 64 بیتی ندارند. درایورهای سختافزاری رابط بین سختافزار و سیستمعامل هستند و مسئولیت جلوگیری از کارکرد قطعات در حالت Compatibility Mode نیز به عهده آنها است در نهایت چنانچه درایور 64 بیتی برای فلان قطعه سیستم شما موجود نباشد نمیتوان از آن قطعه درمحیط 64 بیتی استفاده کرد.
نسخههای مختلف ویندوز معمولا هر دو نسخه 32
بیتی و 64 بیتی را دارند. شما هنگام انتخاب نوع ویندوز باید به مشخصات
سختافزاری سیستم خود توجه کامل داشته باشید و در صورت انتخاب ویندوز 64
بیتی از وجود درایورهای 64 بیتی برای تمام سختافزارهای سیستم اطمینان
حاصل کنید.
شما به چه میزان حافظه رم نیاز دارید؟
استفاده
از سیستمعامل 64 بیتی و به تبع آن خرید رم با حجم بیشتر، نه تنها فضای
بیشتر و راحتتری را برای نرمافزارها فراهم میکند، بلکه عملکرد بهتر
سیستم عاملهای جدیدتر نظیر ویندوز ویستا را نیز به دنبال دارد. حجم رم
بالاتر در درجه اول، بازخوانی اطلاعات کمتری از فایل swap را به دنبال
دارد. حتما میدانید که فایل swap درواقع یک نوع حافظه موقتی روی هارددیسک
است که سرعت دسترسی به آن به مراتب کمتر از سرعت حافظه رم است.
مزیت
دوم رم بیشتر هم، استفاده بیشتر و مناسبتر از آن، برای قابلیت superfetch
است. ویستا با کمک این قابلیت نرمافزارها را به ترتیب اولویت در حافظه از
پیش بارگذاری میکند تا در صورت اجرای آنها با سرعت بیشتری فراخوانی و
اجرا شوند در نهایت هدف اصلی تمام این قابلیتها فراخوانی سریعتر
نرمافزارها در صورت اجرای آنها توسط کاربر است. ماژول های حافظه 4 یا 8
گیگابایتی استفاده موثر از این قابلیتها را به سادگی فراهم میکنند.
ما
برای کاربران حرفهای حداقل 4 گیگابایت رم را روی سیستمعامل 64 بیتی
توصیه میکنیم. برای پلتفرم Core i7 ماژول های 6 گیگابایتی انتخاب بسیار
معقولی به حساب میآیند.
کاربران معمولی نباید به کمتر از 2 گیگابایت حافظه رم فکر کنند. یک گیگابایت رم نیز تنها برای کاربردهای محدود کار با نرمافزارهای ساده جوابگو خواهد بود.
مشکلات 32 بیتی روی ویندوز
همانطور
که اشاره شد سیستم عامل ۳۲ بیتی امکان استفاده از تمام 4 گیگابایت حافظه
رم را نمیدهد. اجزای ویندوز و قطعات سختافزاری از نوعی دسترسی به نام
دسترسی نگاشته شده حافظه یا "memory mapped access" استفاده میکنند که
آنها را در ۳۲ بیت اول (۴ گیگابایت) حافظه اصلی سیستم قرار میدهد.
حافظه گرافیکی نیز دقیقا در همین قسمت قرار میگیرد. ملحقاتی (Ass-ons) نظیر محیط برنامه نویسی Net. قادرند ۲۰۰ مگابایت و حتی بیشتر از فضای آدرس دهی حافظه را اشغال کنند. به همین دلیل است که ویستا حداکثر میتواند بین ۳ تا ۳/۲۵ گیگابایت از حافظه رم را بسته به پیکربندی سیستم استفاده کند. البته لینوکس در این راه از روش دیگری استفاده میکند به طوریکه کرنل آن هیچگاه به فضای آدرسدهی بیش از یک گیگابایت نیاز نخواهد داشت.
درایورهای سخت افزاری
درایورهای
سخت افزاری ویندوز XP را معمولا برای ویستا نیز میتوان استفاده کرد. حتما
شما نیز تا به امروز این امکان را امتحان کردهاید. چنین کاری را در مورد
درایورهای 64 بیتی نمیتوان انجام داد برای مثال درایور کدک صوتی که برای
نسخه 32 بیتی ویندوز XP ساخته شده را روی ویستای 32 بیتی نیز میتوان
استفاده کرد ولی نسخه 64 بیتی این کدک برای ویندوز XP را روی ویستای 64
بیتی نمیتوان استفاده کرد چرا که ویستای 64 بیتی اجازه نصب درایورهایی که
تائیدیه (Signature) لازم را ندارند نخواهد داد.
اگر کارت گرافیکی
یا تراشه مادربورد سیستم شما خیلی جدید و جزو محصولات سالهای گذشته باشد
جای هیچ نگرانی وجود ندارد چرا که ویستای 64 بیتی درایور حداکثر قطعات
قدیمی را در دل خود دارد.
البته این درایور ممکن است شما را با کمی افت کارآیی مواجه کند. سه شرکت AMD اینتل و انویدیا به تنهایی قطعات مهم و حیاتی موجود در سیستم دسکتاپ را به خود اختصاص میدهند و خوشبختانه درایورهای که برای محصولات خود ارائه میکنند، هر دو نسخه 32 بیتی و 64 بیتی را شامل میشود.
بیشترین مشکل در بخش درایورها، مربوط به قطعات جانبی نظیر اسکنر، پرینتر و وبکم با طول عمر بیشتر از 18ماه است. در این قسمت حتی برندهای با اسم و رسم مثل اچ پی، سامسونگ، دل و کانن هیچ تضمینی برای ارائه نسخه 64 بیتی درایورهای این نوع محصولات خود به کاربران نمیدهند.
مایکروسافت در وبسایت ویندوز، صفحهای با نام Compatibility دارد که جستوجوی دقیقی برای درایورهای موجود برای یک قطعه سختافزاری انجام میدهند. بد نیست قبل از انتخاب ویندوز 64 بیتی سری به این صفحه بزنید و از وجود درایورهای 64 بیتی برای قطعات سیستم خود مطلع شوید.
لپتاپ با رم بالا
این روزها 3 یا 4گیگابایت رم، جزو امکانات رایج و معمولی لپتاپها محسوب میشود. لپتاپها همانندکامپیوترهای دسکتاپ از تمام مزایایی که برای رم زیاد برشمرده شد بهره میبرند ولی هدف اصلی در انتخاب رم بالا برای لپتاپ، جلوگیری از افت کارآیی آن است. بد نیست بدانید که هارددیسکهایی که روی لپتاپها استفاده میشوند، حداقل 50 درصد ازهارددیسکهای رایج روی کامپیوترهای دسکتاپ کندتر هستند و به همین دلیل در لپتاپها باید تا حد امکان از فعالیت هارددیسک جلوگیری شود.
ساده ترین و کم هزینهترین راهحل مقابله با این مشکل بالا بردن حجم رم برای کاهش استفاده از فایل swap و استفاده بیشتر و کارآتر از قابلیت superfetch است. لپتاپهایی که به همراه سیستمعامل 64 بیتی عرضه میشوند معمولا تمامی درایورهای 64 بیتی را به همراه خود دارند با این حال کماکان برخی ناسازگاریها در بخش ذخیرهکنندهها وجود دارد که باید مورد توجه بیشتری قرار گیرند.
- ماژول های حافظه 4 گیگابایتی و حجیمتر، کمک زیادی به افزایش سرعت سیستم شما میکند استفاده کمتر از فایل swap و تمایل بیشتر به سمت superfetch در ویندوز ویستا و ویندوز 7، نتیجه استفاده از رم بیشتر است.
- به حرفهایها توصیه میشود که حتما به سمت سیستمعامل های 64 بیتی حرکت کنند حتی اگر لازم باشند برخی از قطعات جانبی قدیمی سیستم را تعویض کنند.
- در لپتاپها، سیستمعامل 64 بیتی تفاوت قابل ملاحظهای ایجاد نمیکند چرا که حجم رم نصب شده روی لپتاپها، معمولا 4 گیگابایت است با این وجود، اگر مشکل سازگاری درایورها وجود نداشته باشد باز هم توصیه میشود برای استفاده از تمام حافظه رم، سراغ راه حل 64بیتی بروید.
- برای کامپیوترها و قطعات جدید، معمولا مشکل وجود درایور 64بیتی وجود ندارد و جای نگرانی وجود نخواهد داشت ولی برای سیستمها و قطعات قدیمیتر، بهتر است ابتدا از سازگاری درایورها اطمینان حاصل کنید و بعد به نصب سیستمعامل 64 بیتی بپردازید.
محدودیتی که در دامنه پردازشهای 32 بیتی وجود دارد، همواره باعث کندشدن سرعت انجام عملیات پیچیده و سنگین اطلاعاتی در سیستمهای مختلف میگردد... به همینمنظور بسیاری
از شرکتهای سازنده نرمافزار و خصوصاً آنهایی که در زمینه سیستمعامل
فعالیت دارند از دیرباز رقابتی را برای تحت پوشش قراردادن تعداد زیادتری
CPU و مقدار بیشتری حافظه RAM نسبت به یکدیگر آغاز کردهاند. به عنوان
مثال رقابتی که بین ویندوز 2000 سرور با سولاریس یا انواع یونیکس و لینوکس
بر سر امکان استفاده از 8 یا 16 تا 32 پردازنده به همراه چند گیگابایت
حافظه RAM و امثال آن وجود داشت همواره یکی از جالبترین و پرسروصداترین
زمینه رقابت بین چند سیستمعامل بهشمار میرفت. اما تمام این عوامل چندی
پیش تحتالشعاع واژه جدیدی به نام پردازش 64 بیتی قرار گرفت. این فناوری
جدید که به لطف به بازار آمدن دو محصول جدید از دو شرکت معتبر سازنده
پردازنده یعنی اینتل و AMD شکل گرفت، در مدت کوتاهی توانست توجه سازندگان
سیستمعامل را به شدت معطوف کارایی بینظیر خود کند.
پردازندههای
Xeon و ایتانیوم از سوی اینتل و پردازنده Opteron از طرف AMD طی مدت
کوتاهی توجه تمام سازندگان مشهور سرورهای Enterprise و همچنین
تولیدکنندگان سیستمعامل را به خود جلب کرد. در این میان مایکروسافت نیز
بلافاصله اقدام به طراحی نسخهای از ویندوز 2003 سرور برمبنای انجام
پردازشهای 64 بیتی و با استفاده از پردازندههای جدید نمود. این نسخه
جدید 64 بیتی از چند نظر بر نسخه پیشین خود برتری داشت.
- اول اینکه از میزان حافظه فیزیکی و مجازی بیشتری پشتیبانی میکند.
- دوم اینکه در مقایسه با نسخه 32 بیتی از کارایی و سرعت بالاتری در مدیریت حافظه، رجیسترها و عملیات I/O برخوردار است.
- نکته سوم در مورد امنیت است. نسخه 64 بیتی قابلیت محافظت بیشتری در برابر کدهای مخرب(Malicious Code) از خود نشان میدهد.
برایناساس به تدریج نه تنها سازندگان سیستمعامل مثل مایکروسافت سیستمعامل 64 بیتی مختص کامپیوترهای دسکتاپ (Windows XP 64 bit) را به بازار عرضه میکنند، بلکه سایر تولیدکنندگان نرمافزارهای مختلف هم با وارد شدن به دنیای پردازشهای 64بیتی، کارایی و سرعت جدیدی را به کاربران خود ارایه میدهند.
مقایسه
در یک سیستمعامل 32 بیتی مثل نسخههای 32 بیتی ویندوز 2003 از یک حافظه مجازی
(Virtual memory) برای انجام پردازشهای مختلف استفاده میشود. این حافظه
مجازی که حداکثر 4 گیگابایت میتواند ظرفیت داشته باشد به دو قسمت تقسیم
میشود. یک قسمت 2 گیگابایتی آن به وسیله برنامه در حال اجرا اشغال شده و
2 گیگابایت دیگر در اختیار سیستمعامل قرار میگیرد.
تا اینجا همه چیز
بسیار عادی به نظر میرسد اما مشکل زمانی پیش میآید که 2 گیگابایت سهم
برنامههای در حال اجرا به مرز پرشدن نزدیک میشود. به عنوان مثال یک بانک
اطلاعاتی SQL
Server را در نظر بگیرید که برای اتصال هر کاربر به سرور و انجام عملیات
مورد نظر وی 20 مگابایت حافظه مجازی را در نظر میگیرد. با رسیدن تعداد
کاربران به مرز یکصد نفر، کل حافظه مجازی 2 گیگابایتی در اختیار SQL
Server قرار میگیرد و این به معنای نزدیک شدن سیستم به یک نقطه بحرانی در
عملیات سرویسدادن به کاربران است.
در نسخههای 32 بیتی یکی از راههایی که برای این مساله در نظر گرفته میشد، اختصاص 3 گیگابایت از حافظه مجازی به برنامههای درحالاجرا بود. این روش که با استفاده از دستکاری در فایل
boot.ini انجام میگرفت، یک گیگابایت از حافظه مجازی در اختیار سیستمعامل
را به سهمیه حافظه مجازی برنامههای در حال اجرا واگذار میکرد و تا حدودی
مشکل کمبود حافظه مجازی را رفع میکرد. اما خود این عمل هم عوارض جانبی
خاص خود را دارد و آن محدود شدن کرنل سیستمعامل به یک گیگابایت حافظه
مجازی برای انجام عملیات cache است.
این محدود شدن باعث
افت سرعت انتقال اطلاعات از سرور به کلاینتها میشود. ضمن اینکه باز هم
در نهایت با زیادترشدن تعداد کاربران یا پردازشهای موردنظر آنان، این 1
گیگابایت الحاقشده نیز به مرز اشتغال شدن کامل نزدیک میشود و مدیران
سیستم را به ناچار مجبور به افزایش تعداد سرورها برای رفع مشکل میکند. با
آمدن ویندوز 2003 نسخه 32 بیتی، قدرت آدرسدهی سیستمعامل برای حافظههای
فیزیکی (RAM) به
32 گیگابایت برای نسخه Enterprise و 64 گیگابایت در نسخه DataCenter
افزایش یافت و این به معنای نیاز کمتر سیستم به استفاده از حافظه مجازی و
در نتیجه کمتر شدن مشکل مربوط به محدودیت حافظههای مجازی بود.
اما به هر حال
استفاده از حافظه مجازی برای پردازش اطلاعات امری گریزناپذیر است و
به همین دلیل توجه سازندگان سیستمعامل همواره معطوف به پیدا کردن راهحلی
برای عبور از این مشکل بود.
سرانجام با مطرح شدن و تولد سیستمعامل 64 بیتی ویندوز 2003 که با استفاده از قدرت پردازندههای 64 بیتی جدید قادر بود از یک سیستم آدرسدهی 40 بیتی استفاده کند، میزان حافظه مجازی قابل دسترسی سیستم از 4 گیگابایت به 16 ترابایت (هزار گیگابایت) افزایش یافت.
بدینترتیب 8 ترابایت از این ظرفیت در اختیار برنامههای در حال اجرا و 8 ترابایت دیگر در اختیار سیستمعامل قرار گرفت.
مهمترین سوالی که در اینجا میتوانست مطرح شود این است که آیا برنامههای سابق محیط 32 بیتی که برای استفاده از حداکثر 3 گیگابایت حافظه مجازی کامپایل شدهاند قادر به بهره بردن از این 8 ترابایت فضای جدید هستند یا خیر؟
پاسخ این سوال هم میتواند مثبت باشد و هم منفی!
بدینصورت که برخی برنامههای کامپایلشده در محیطهای 32 بیتی که به صورت صریح قدرت استفاده از حداکثر 3 گیگابایت حافظه مجازی را دارند، با ورود به محیط 64 بیتی هیچ تغییری را احساس نخواهند کرد.
اما برخی دیگر که با تکنولوژی
Large Address ware کامپایل شدهاند قادر خواهند بود تا 4 گیگابایت از
حافظه مجازی را در محیط جدید مورد استفاده قرار دهند. از لحاظ سرعت انجام
عملیات نیز برخی برنامههای کامپایل شده در محیط 32 بیتی (مثلاً
برنامههای نوشته شده با ASP.NET که از تکنولوژی Multithreading برای
اجرای موازی چند دستورالعمل در آن واحد استفاده میکنند)، به دلیل قدرت
بینظیر پردازندههای 64 بیتی در انجام این کار میتوانند از مزایای محیط
جدید اجرا استفاده کرده و سرعت اجرای خود را افزایش دهند.
اما اگر برنامهای
(مثلاً یک فایل Exe) در محیط توسعهای مثل ویژوال بیسیک نسخه ششم برای
دسترسی به یک پایگاه داده و کار با آن بدون استفاده از مکانیسم پردازشی
موازی و به صورت ساده نوشته شده باشد، این برنامه حتی اگر برروی یک سرور
64 بیتی هم اجرا شود نمیتواند از قابلیتهای محیط جدید سودی ببرد.
بنابراین اگر قرار است این برنامه برروی کلاینت نصب شده و پایگاه داده
موردنظر که SQL Server است برروی یک سرور باشد، بهتر آن است که کلاینت در
همان وضعیت 32 بیتی باقی بماند و سرور به نسخه 64 بیتی ویندوز 2003 ارتقاء
دادهشود.
در این صورت موتور بانکاطلاعاتی
SQL Server که در تمام نسخههای خود از شیوه Multithreading برای انجام
دستورات موردنظر کاربران استفاده میکند، میتواند در محیط جدید با سرعت
بهتری فرامین رسیده از طرف کلاینتها را پردازش کرده و نتیجه را سریعتر
به آنها برگرداند و کارایی کلی این سیستم بانک اطلاعاتی را به نحو مطلوبی
افزایش دهد. اصولاً برنامههای نوشته شده برای محیطهای 32 بیتی با
استفاده از رابطی به نام WOW64 قادر خواهند بود در محیط 64 بیتی اجرا شوند
و از مزایای ارتقاء سیستم عامل و دسترسی به حافظه بیشتر بهره ببرند