DJ POLESTAR
05-11-2009, 14:55
این سوال که تفاوت بین ویندوزهای 32 بیتی با 64 بیتی تو چیه برای خیلی از دوستان پیش اومده بود و خیلی هم در این مورد سوال کرده بودنند که من با یک تحقیق ساده و (البته دو خط بالایی نظرات و اطلاعات خودم در این مورد است!) به این نتایج رسیدم که در پایین خواهید خواند: (رنگ متن ها را خودم کم رنگ کردم که راحتر بتونید بخونید:20:)
برای اینکه بدونید ویندوز ۳۲ برایی شما مناسب استیا ۶۴ باید شرط اول آنرا داشته باشید. شرط اول ویندوز ۶۴ بیت مقدار رم در سیستماست. حداقل رم برای ویندوز ۶۴ بیت باید 4 گیگ باشد تا سرعت واقعی ویندوز ۶۴ بیت راببینید. قبلا هم مثال زدم ویندوز ۶۴ بیت مثل یک لامبورگینی هست که هرچی گاز بدیدتندتر میره. شرط گاز دادن توی ویندوز ۶۴ بیت رم است که حداقل آن باید 4 گیگ باشد.
اگر کامپیوتر شما کمتر از ۴ گیگ رم دارد بهترین گزینه برای آن ویندوز۳۲بیت است. اگر کامپیوتر شما کمتر از ۴ گیگ رم داشته باشد، شما میتونید بازهم ۶۴بیت نصب کنید ولی مطمئن باشید سرعت آن از ۳۲ بالاتر نیست ولی از لحاظ امنیتی بسیاربهتر شده. ویندوزهای ۶۴ بیت فعلا برای کارهای خانگی مناسب نیستند، چون نرمافزارهایجانبی که برای خانه استفاده میشه همه ۳۲ بیت هستند یعنی درواقع ۹۹% نرم افزارها ۳۲بیت هستند ولی دلیل اینکه چطور اکثر آنها روی ویندوز ۶۴ بیت کار میکنند دلیلش بخاطرابزارMicrosoft WOW 64است که خیلی اعتقاد دارندنصب نرم افزار ۳۲ بیت روی ویندوز ۶۴ بیت کار مناسبی نیست! این بخاطر غفلتی است کهاز این ابزار یعنیMicrosoft WOW 64 دارند. اگر برنامه نویس استانداردهایWOW 64را رعایت کرده باشه سرعت امکان داره در ویندوز ۶۴بیت بالاتر بره و همینطور عملکرد آن. اگر استانداردهایwowرا رعایت نکرده باشه امکان داره روی ۶۴ نصب نشه. اگر استاندارد ۳۲ را رعایت نکرده باشه مثل نرمافزارهای ایرانی عمرا اگه روی ۶۴ نصببشه .
همانطور کهگفتم وجود رم در ویندوزهای ۶۴ بیت بسیار موثر است بدلیل وجود فایلswapدرویندوز، و شما میتونید تا ۱۲۸ گیگ رم به خورد ویندوز ۶۴ بیت بدید اگر چنین گاریبکنید نهایت سرعت ویندوز ۶۴ را در ۱۲۸ گیگ رم خواهیددید.
__________________________________________________
در سیستم هایی که لوازم بسته شده رویش 64 Bit هستند ؛یعنی Mother Board و CPU اون سیستم 64 Bit اند ، اطلاعات ، به صورت بسته های 64 Bit ی مورد پردازش قرارمیگیرند و اطلاعات منتقل شدهبین سایر لوازم دستگاه نیز ، بسته هایی به همین اندازههستند ؛ در حالیکه در سیستم های 32 Bit ی ، حجم این بسته ی اطلاعاتی 32 Bit است .
نکته ی دیگه ایکه در این زمینه وجود داره ، اینه که شرکت AMD ،تولید کننده یاصلی پردازندههای 64 Bit ی است وشرکت Intel به اندازهی AMD تولیدات 64 Bit ی بهبازار عرضه نمی کنه .
خوب بریم سروقت سیستم عامل . . .
مسلما سیستم عاملی کهروی سیستم 32 Bit ینصب میشه ، نمی تونه 64 Bit یباشه . ولی اونجوری که من یادممیاد ، روی سیستم 64 Bit یمیشد Windows 32 Bit ی نصب کرد ، ولی معلومه کهکارایی Windows 64 Bit ی رونداره .
اونجوری که من اطلاع دارم ،Windows XP در هر دونوعارائه میشه که می تونین روی سیستم 64 Bit یخودتون نصب کنینش ، ولی باید مطمئنبشین که Mother Board و CPU تون ، 64 Bit ی باشن ، چون اگه اینطور نباشه ،امکانداره مثلا کارت صدایسیستمتون بعد از نصب Windows ، شناخته نشه !! مشکلدیگه ای کهممکنه بوجود بیاد ،درباره ی Service Pack است . . . به این معنیکه در نمونه ای کهخودم دیدم ،Service Pack های 2 و 4برای Windows XP 46 Bit ی قابل شناسایی بوده،ولی Service Pack 3 رو نمی شناخت . . . پس مواظب این مورد همباشین . . .
اخباریکه منشنیدم ، حاکی از اون بودن که شرکت Microsoft با ارائه ی Windows 7 دیگه قرارهازسیستم عاملهای 32 Bit بکشهبیرون !!!
مسئله ی بعدی، مشکلات نرم افزاریای خواهندبود که ممکنه برای User یک Windows 64 Bit ی بوجود بیاد !!
البته الاندیگه نسبت به چند ماه قبل ، این قضیه دیگه مشکلمحسوب نمیشه ، چون نرم افزار های 64 Bit دارن توی بازار پر میشن . . .
ولی ممکنه هنوز با Fire Wall و Anti Virus تونمشکل داشتهباشین . . . چون برای Windows 64 Bit ی هنوز جنس خوبی نیومده تو بازارکه بشه بهش کاملا اعتماد داشت . . . ( البته شایددوستان اطلاعات به روزتری داشتهباشن ! )
نکته ی آخریکه توی یکی از سایت ها خوندم و به صحتش اطمینان ندارن، اینه که Virus هایی که برای Windows نوشته میشن ، اکثرا نسخه های 32 Bit ی رومورد حمله قرار میدن ! ؛ ولی از این قضیه مطمئنم که 4 یا 5 سال پیش ،اولین Virus برای Windows 64 Bit ی توی اینترنت منتشر شده بود .
__________________________________________________
محدودیتی که در دامنهپردازشهای 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 گیگابایت به 40 2 یعنی 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 بیتی اجرا شوند و از مزایای ارتقاء سیستم عامل و دسترسیبه حافظه بیشتر بهره ببرند.
پردازنده (CPU)
هر دو شرکتاینتل وAMDازهمان آغاز تولید پردازندههای 64 بیتی، تمام تمرکز خود را برروی پردازندههایی کهدر رده کامپیوترهای سرور مورد استفاده قرار میگیرد، گذاشتند. پردازنده اُپترون (Opteron) محصول شرکتAMDوXeonمحصول اینتل هر دو به همین منظور طراحی و تولید شدند.
پس از آن استفاده از تکنولوی 64 بیتی در ردهکامپیوترهای کلاینت نیز مدنظر هر دو شرکت قرار گرفت و از آنجا که سروصدای ظهورسیستمعامل 64 بیتی ویندوزXPبهتدریج نوید یک دگرگونی در کارایی این رده از کامپیوترها را میداد، این دو شرکتپردازندههای 64 بیتی جدیدی را با قیمت ارزانتر برای کار در کلاینتها روانه بازارکردند. پردازندهAthlon 64و پنتیوم 4 سریEM46Tاز جمله این پردازندههای جدید بودند.
ضمن اینکه در رده سرور نیز هر دو به ارتقاء پردازندههای ویژه خودپرداختند. پردازندههای اُپترون و پردازندههای ایتانیوم از اینتل نتیجه این ارتقاءمحسوب میشوند که از آخرین دستآوردهای تکنولوژی 64 بیتی بهشمارمیروند.
هماکنونAMDپردازندههایOp teronرا برای استفاده در کامپیوترهای دسکتاپ و سرور با سیستمعامل 64 بیتی، پردازندههایAthlon 64را جهت استفاده درکامپیوترهای دسکتاپ و کیفی با سیستمعامل 32 یا 64 بیتی و پردازندههایTurionرا برای استفاده در کامپیوترهای کیفی با سیستمعامل 64 بیتی به بازار عرضه میکند. اینتل هم انواع پردازندههای نوعXeonخصوصاً سریMPرابرای کار در محیط 32 یا 64 بیتی و انواع پردازندههای رده ایتانیوم را برای سرورهایبا سیستمعامل 64 بیتی تولید میکند.
نرمافزار
با تحولی که دردنیای پردازندهها و سیستمعاملها در حال وقوع بود، قاعدتاً دنیای نرمافزار نیزباید شاهد تغییراتی در نحوه انجام پردازشها و سرعت و کارایی اجرا میشد. در اولینگام کلیه سرویسهایی که به همراه ویندوز 2003 نسخه 64 بیتی ارایه شد همگی با اینتکنولوژی جدید همراه شدند.
این سرویسها که متعلق به مقوله نرمافزار به حساب میآمدند، ازاکتیودایرکتوری گرفته تاTerminal serviceو وبسرورIISباامکانات جدید محیط 64 بیتی مثل استفاده از فضای بسیار بزرگ حافظه، افزایش سرعتعملیاتI/Oواستفاده مناسب و بهینه از زمانCPUکاملاً هماهنگ شدند.
ازطرفی دیگر بلافاصله خبر از ارایه شدن نسخههای جدید برخی نرمافزارهای سمت سرورمایکروسافت برای کار در محیط 64 بیتی رسید. نسخه 64 بیتیSQL Server2000و بعد از آن حرف و حدیثهای مربوط به نسخه 2005که مرزهای سرعت و کارایی را پشتسر میگذارد، از این دست به شمار میروند. در همینحال خبرهای دیگری حاکی از اقبال این دگرگونی از سمت برنامهنویسانبود.
محیط برنامهنویسیمحبوب داتنت اینبار با سروصدای جدیدی وارد معرکه شد وVisual Studio2005را برای نوشتن برنامههای کاربردی 64 بیتی بهعلاقمندان ارایه کرد. از سوی دیگر رقبای مایکروسافت هم بیکار ننشستند. اوراکل بامحصولoracle 10gو آیبیام با تولیدDB2 64و بسیاری دیگر از سازندگاننرمافزار و خصوصاً سازندگان برنامههای سرور محیط بزرگ (Enterprise) با سعی و تلاش خود نشان دادند که پلتفرم جدیدپردازشهای 64 بیتی برای آنها از اهمیت ویژهای برخوردار است. به هر حال در آیندهنزدیک شاهد رونق فناوری محاسبات 64 بیتی در بسیاری از نرمافزارهای مختلف خواهیمبود.
اصولا سیستم عامل های 64بیتی به دنبال ساخته شدن سخت افزارهای 64 بیتی ( مخصوصا پردازنده ها ) ساخته شدنحالا چرا پردازنده های 64 بیتی ساخته شدن ؟ یه توضیح خیلی کوتاه :
كلمه بیت مخفف عبارتbinary digitاست. اعداد دودويي ياباينري يعني ھمان روشي است كه يك كامپیوتر داده ھا را با آن ذخیره كرده يا در قالبآن انتقال مي دھد. يك بیت مي تواند مقداري بین صفر يا يك را به خود بگیرد. اگرتعدادي از بیت را پشت سرھم رديف كنیم ، به يك كد باينري مي رسیم مثل١٠٠١٠١١٠٠٠١٠١كه مي تواند بیانگر يك دستورالعمل رياضي مثل جمع يا تفريق، يك محل خاصاز حافظه جھت آدرس دھي، و يا يك داده مشخص مثلا عدد ١٢٫٤٥٦ باشد. يك پردازنده ٣٢بیتي، مثل پنتیوم قادر است بااستفاده از اين رشته صفر و يك، تا عدد ٢ به توان ٣٢ راكد گذاري كند يا در اصطلاح، آن را به مبناي باينري ببرد. طبیعي است كه اين میزانبراي يك پردازنده ٦٤ بیتي به ٢ به توان ٦٤ مي رسد و اين بدان معني است كه يكپردازنده ٦٤ بیتي، مي تواند سقف بسیار بالاتري از اعداد را در واحد زمان پشتیبانيكند. بنابراين اگر يك پردازنده ٣٢ بیتي بخواھد عددي بیشتر از ٢ به توان ٣٢ راپردازش كند يا انتقال دھد، بايد در دو سیكل زماني اين كار را انجام دھد كه وقتبیشتري را نسبت به يك پردازنده ٦٤ بیتي صرف مي كند. بدين ترتیب يك پردازنده ٦٤بیتي، صرف نظر از آن كه چند سیكل زماني در ثانیه بیشتر از يك پردازنده ٣٢ بیتيدارد، در ھر كدام از اين سیكل ھاي زماني نیز قادر است دو برابر يك پردازنده ٣٢ بیتيعمل پردازش را انجام دھد.
برای اینکه بدونید ویندوز ۳۲ برایی شما مناسب استیا ۶۴ باید شرط اول آنرا داشته باشید. شرط اول ویندوز ۶۴ بیت مقدار رم در سیستماست. حداقل رم برای ویندوز ۶۴ بیت باید 4 گیگ باشد تا سرعت واقعی ویندوز ۶۴ بیت راببینید. قبلا هم مثال زدم ویندوز ۶۴ بیت مثل یک لامبورگینی هست که هرچی گاز بدیدتندتر میره. شرط گاز دادن توی ویندوز ۶۴ بیت رم است که حداقل آن باید 4 گیگ باشد.
اگر کامپیوتر شما کمتر از ۴ گیگ رم دارد بهترین گزینه برای آن ویندوز۳۲بیت است. اگر کامپیوتر شما کمتر از ۴ گیگ رم داشته باشد، شما میتونید بازهم ۶۴بیت نصب کنید ولی مطمئن باشید سرعت آن از ۳۲ بالاتر نیست ولی از لحاظ امنیتی بسیاربهتر شده. ویندوزهای ۶۴ بیت فعلا برای کارهای خانگی مناسب نیستند، چون نرمافزارهایجانبی که برای خانه استفاده میشه همه ۳۲ بیت هستند یعنی درواقع ۹۹% نرم افزارها ۳۲بیت هستند ولی دلیل اینکه چطور اکثر آنها روی ویندوز ۶۴ بیت کار میکنند دلیلش بخاطرابزارMicrosoft WOW 64است که خیلی اعتقاد دارندنصب نرم افزار ۳۲ بیت روی ویندوز ۶۴ بیت کار مناسبی نیست! این بخاطر غفلتی است کهاز این ابزار یعنیMicrosoft WOW 64 دارند. اگر برنامه نویس استانداردهایWOW 64را رعایت کرده باشه سرعت امکان داره در ویندوز ۶۴بیت بالاتر بره و همینطور عملکرد آن. اگر استانداردهایwowرا رعایت نکرده باشه امکان داره روی ۶۴ نصب نشه. اگر استاندارد ۳۲ را رعایت نکرده باشه مثل نرمافزارهای ایرانی عمرا اگه روی ۶۴ نصببشه .
همانطور کهگفتم وجود رم در ویندوزهای ۶۴ بیت بسیار موثر است بدلیل وجود فایلswapدرویندوز، و شما میتونید تا ۱۲۸ گیگ رم به خورد ویندوز ۶۴ بیت بدید اگر چنین گاریبکنید نهایت سرعت ویندوز ۶۴ را در ۱۲۸ گیگ رم خواهیددید.
__________________________________________________
در سیستم هایی که لوازم بسته شده رویش 64 Bit هستند ؛یعنی Mother Board و CPU اون سیستم 64 Bit اند ، اطلاعات ، به صورت بسته های 64 Bit ی مورد پردازش قرارمیگیرند و اطلاعات منتقل شدهبین سایر لوازم دستگاه نیز ، بسته هایی به همین اندازههستند ؛ در حالیکه در سیستم های 32 Bit ی ، حجم این بسته ی اطلاعاتی 32 Bit است .
نکته ی دیگه ایکه در این زمینه وجود داره ، اینه که شرکت AMD ،تولید کننده یاصلی پردازندههای 64 Bit ی است وشرکت Intel به اندازهی AMD تولیدات 64 Bit ی بهبازار عرضه نمی کنه .
خوب بریم سروقت سیستم عامل . . .
مسلما سیستم عاملی کهروی سیستم 32 Bit ینصب میشه ، نمی تونه 64 Bit یباشه . ولی اونجوری که من یادممیاد ، روی سیستم 64 Bit یمیشد Windows 32 Bit ی نصب کرد ، ولی معلومه کهکارایی Windows 64 Bit ی رونداره .
اونجوری که من اطلاع دارم ،Windows XP در هر دونوعارائه میشه که می تونین روی سیستم 64 Bit یخودتون نصب کنینش ، ولی باید مطمئنبشین که Mother Board و CPU تون ، 64 Bit ی باشن ، چون اگه اینطور نباشه ،امکانداره مثلا کارت صدایسیستمتون بعد از نصب Windows ، شناخته نشه !! مشکلدیگه ای کهممکنه بوجود بیاد ،درباره ی Service Pack است . . . به این معنیکه در نمونه ای کهخودم دیدم ،Service Pack های 2 و 4برای Windows XP 46 Bit ی قابل شناسایی بوده،ولی Service Pack 3 رو نمی شناخت . . . پس مواظب این مورد همباشین . . .
اخباریکه منشنیدم ، حاکی از اون بودن که شرکت Microsoft با ارائه ی Windows 7 دیگه قرارهازسیستم عاملهای 32 Bit بکشهبیرون !!!
مسئله ی بعدی، مشکلات نرم افزاریای خواهندبود که ممکنه برای User یک Windows 64 Bit ی بوجود بیاد !!
البته الاندیگه نسبت به چند ماه قبل ، این قضیه دیگه مشکلمحسوب نمیشه ، چون نرم افزار های 64 Bit دارن توی بازار پر میشن . . .
ولی ممکنه هنوز با Fire Wall و Anti Virus تونمشکل داشتهباشین . . . چون برای Windows 64 Bit ی هنوز جنس خوبی نیومده تو بازارکه بشه بهش کاملا اعتماد داشت . . . ( البته شایددوستان اطلاعات به روزتری داشتهباشن ! )
نکته ی آخریکه توی یکی از سایت ها خوندم و به صحتش اطمینان ندارن، اینه که Virus هایی که برای Windows نوشته میشن ، اکثرا نسخه های 32 Bit ی رومورد حمله قرار میدن ! ؛ ولی از این قضیه مطمئنم که 4 یا 5 سال پیش ،اولین Virus برای Windows 64 Bit ی توی اینترنت منتشر شده بود .
__________________________________________________
محدودیتی که در دامنهپردازشهای 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 گیگابایت به 40 2 یعنی 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 بیتی اجرا شوند و از مزایای ارتقاء سیستم عامل و دسترسیبه حافظه بیشتر بهره ببرند.
پردازنده (CPU)
هر دو شرکتاینتل وAMDازهمان آغاز تولید پردازندههای 64 بیتی، تمام تمرکز خود را برروی پردازندههایی کهدر رده کامپیوترهای سرور مورد استفاده قرار میگیرد، گذاشتند. پردازنده اُپترون (Opteron) محصول شرکتAMDوXeonمحصول اینتل هر دو به همین منظور طراحی و تولید شدند.
پس از آن استفاده از تکنولوی 64 بیتی در ردهکامپیوترهای کلاینت نیز مدنظر هر دو شرکت قرار گرفت و از آنجا که سروصدای ظهورسیستمعامل 64 بیتی ویندوزXPبهتدریج نوید یک دگرگونی در کارایی این رده از کامپیوترها را میداد، این دو شرکتپردازندههای 64 بیتی جدیدی را با قیمت ارزانتر برای کار در کلاینتها روانه بازارکردند. پردازندهAthlon 64و پنتیوم 4 سریEM46Tاز جمله این پردازندههای جدید بودند.
ضمن اینکه در رده سرور نیز هر دو به ارتقاء پردازندههای ویژه خودپرداختند. پردازندههای اُپترون و پردازندههای ایتانیوم از اینتل نتیجه این ارتقاءمحسوب میشوند که از آخرین دستآوردهای تکنولوژی 64 بیتی بهشمارمیروند.
هماکنونAMDپردازندههایOp teronرا برای استفاده در کامپیوترهای دسکتاپ و سرور با سیستمعامل 64 بیتی، پردازندههایAthlon 64را جهت استفاده درکامپیوترهای دسکتاپ و کیفی با سیستمعامل 32 یا 64 بیتی و پردازندههایTurionرا برای استفاده در کامپیوترهای کیفی با سیستمعامل 64 بیتی به بازار عرضه میکند. اینتل هم انواع پردازندههای نوعXeonخصوصاً سریMPرابرای کار در محیط 32 یا 64 بیتی و انواع پردازندههای رده ایتانیوم را برای سرورهایبا سیستمعامل 64 بیتی تولید میکند.
نرمافزار
با تحولی که دردنیای پردازندهها و سیستمعاملها در حال وقوع بود، قاعدتاً دنیای نرمافزار نیزباید شاهد تغییراتی در نحوه انجام پردازشها و سرعت و کارایی اجرا میشد. در اولینگام کلیه سرویسهایی که به همراه ویندوز 2003 نسخه 64 بیتی ارایه شد همگی با اینتکنولوژی جدید همراه شدند.
این سرویسها که متعلق به مقوله نرمافزار به حساب میآمدند، ازاکتیودایرکتوری گرفته تاTerminal serviceو وبسرورIISباامکانات جدید محیط 64 بیتی مثل استفاده از فضای بسیار بزرگ حافظه، افزایش سرعتعملیاتI/Oواستفاده مناسب و بهینه از زمانCPUکاملاً هماهنگ شدند.
ازطرفی دیگر بلافاصله خبر از ارایه شدن نسخههای جدید برخی نرمافزارهای سمت سرورمایکروسافت برای کار در محیط 64 بیتی رسید. نسخه 64 بیتیSQL Server2000و بعد از آن حرف و حدیثهای مربوط به نسخه 2005که مرزهای سرعت و کارایی را پشتسر میگذارد، از این دست به شمار میروند. در همینحال خبرهای دیگری حاکی از اقبال این دگرگونی از سمت برنامهنویسانبود.
محیط برنامهنویسیمحبوب داتنت اینبار با سروصدای جدیدی وارد معرکه شد وVisual Studio2005را برای نوشتن برنامههای کاربردی 64 بیتی بهعلاقمندان ارایه کرد. از سوی دیگر رقبای مایکروسافت هم بیکار ننشستند. اوراکل بامحصولoracle 10gو آیبیام با تولیدDB2 64و بسیاری دیگر از سازندگاننرمافزار و خصوصاً سازندگان برنامههای سرور محیط بزرگ (Enterprise) با سعی و تلاش خود نشان دادند که پلتفرم جدیدپردازشهای 64 بیتی برای آنها از اهمیت ویژهای برخوردار است. به هر حال در آیندهنزدیک شاهد رونق فناوری محاسبات 64 بیتی در بسیاری از نرمافزارهای مختلف خواهیمبود.
اصولا سیستم عامل های 64بیتی به دنبال ساخته شدن سخت افزارهای 64 بیتی ( مخصوصا پردازنده ها ) ساخته شدنحالا چرا پردازنده های 64 بیتی ساخته شدن ؟ یه توضیح خیلی کوتاه :
كلمه بیت مخفف عبارتbinary digitاست. اعداد دودويي ياباينري يعني ھمان روشي است كه يك كامپیوتر داده ھا را با آن ذخیره كرده يا در قالبآن انتقال مي دھد. يك بیت مي تواند مقداري بین صفر يا يك را به خود بگیرد. اگرتعدادي از بیت را پشت سرھم رديف كنیم ، به يك كد باينري مي رسیم مثل١٠٠١٠١١٠٠٠١٠١كه مي تواند بیانگر يك دستورالعمل رياضي مثل جمع يا تفريق، يك محل خاصاز حافظه جھت آدرس دھي، و يا يك داده مشخص مثلا عدد ١٢٫٤٥٦ باشد. يك پردازنده ٣٢بیتي، مثل پنتیوم قادر است بااستفاده از اين رشته صفر و يك، تا عدد ٢ به توان ٣٢ راكد گذاري كند يا در اصطلاح، آن را به مبناي باينري ببرد. طبیعي است كه اين میزانبراي يك پردازنده ٦٤ بیتي به ٢ به توان ٦٤ مي رسد و اين بدان معني است كه يكپردازنده ٦٤ بیتي، مي تواند سقف بسیار بالاتري از اعداد را در واحد زمان پشتیبانيكند. بنابراين اگر يك پردازنده ٣٢ بیتي بخواھد عددي بیشتر از ٢ به توان ٣٢ راپردازش كند يا انتقال دھد، بايد در دو سیكل زماني اين كار را انجام دھد كه وقتبیشتري را نسبت به يك پردازنده ٦٤ بیتي صرف مي كند. بدين ترتیب يك پردازنده ٦٤بیتي، صرف نظر از آن كه چند سیكل زماني در ثانیه بیشتر از يك پردازنده ٣٢ بیتيدارد، در ھر كدام از اين سیكل ھاي زماني نیز قادر است دو برابر يك پردازنده ٣٢ بیتيعمل پردازش را انجام دھد.