چه تفاوتی بین پوشه ی Program Files و پوشه ی (Program Files (x86 وجود دارد

چه تفاوتی بین پوشه ی Program Files و پوشه ی  (Program Files (x86 وجود دارد
  • 1396/7/5
  • زهرا معبودی
  • 2

در ابتدا باید به شما بگوییم که خوش شانس هستید که هر دو پوشه بر روی سیستم عامل ویندوز شما نصب است. اگر به این دو پوشه سر بزنید حتماً متوجه خواهید شد که مقداری از نرم افزارهایی که نصب کردید در یکی از این دو پوشه و مابقی نرم افزارها در پوشه ی دیگر قرار ذخیره شده اند.

ویندوز ۶۴ بیتی و ۳۲ بیتی

در قدیم فقط نسخه ۳۲ بیتی ویندوز موجود بود. در نسخه ی ۳۲ بیتی ویندوز – حتی در نسخه ۳۲ بیتی ویندوز ۱۰- شما فقط پوشه ی Program Files را خواهید دید.

بصورت پیش فرض ویندوز در هنگام نصب نرم افزارها این پوشه را به عنوان محل نصب به شما پیشنهاد خواهد داد. اگر این پوشه را انتخاب کنید تمام فایلهای اجرایی، اطلاعات و دیگر فایلها در این پوشه ذخیره میشود. به عبارت دیگر، نرم افزارها در پوشه ی Program Files نصب خواهند شد.

 ویندوز 32 بیتی و86 بیتی

در نسخه ی ۶۴ بیتی از ویندوز نرم افزارهای ۶۴ بیتی درون پوشه ی Program Files نصب میشوند، البته ویندوز ۶۴ بیتی از نرم افزارهای ۳۲ بیتی نیز پشتیبانی میکند و از آنجا که مایکروسافت ترجیح میدهد نرم افزارهای ۳۲ بیتی و ۶۴ بیتی با هم مخلوط نشوند و در یک محل قرار نگیرند به همین دلیل نرم افزارهای ۳۲ بیتی درون پوشه ی Program Files (x86) ذخیره میشوند. چیزی که باعث میشود ویندوز ۶۴ بیتی بتواند نرم افزارهای ۳۲ بیتی را اجرا کند زیرسیستمی بنام WOW64 است که از کلمات “Windows 32-bit on Windows 64-bit” گرفته شده است.

وقتی یک نرم افزار ۳۲ بیتی را بر روی یک ویندوز ۶۴ بیتی اجرا میکنید لایه شبیه سازی WOW64 دسترسی فایلها را از Program Files به Program Files (x86) تغییر میدهد. بدین ترتیب نرم افزارهای ۳۲ بیتی هنگام تلاش برای دسترسی به Program Files به پوشه ی Program Files (x86) هدایت میشوند و نرم افزارهای ۶۴ بیتی نیز از Program Files استفاده میکنند.

در هر پوشه چه فایلهایی وجود دارد ؟

بطور خلاصه در سیستم عامل ویندوز ۳۲ بیتی شما فقط پوشه ی Program Files را دارید که تمامی نرم افزارهای نصب شده، که ۳۲ بیتی هستند، در آن ذخیره میشوند.

امادر ویندوز ۶۴ بیتی نرم افزارهای ۶۴ بیتی در پوشه ی Program Files و نرم افزارهای ۳۲ بیتی در پوشه ی Program Files (x86) ذخیره خواهند شد.

البته اینطور بنظر میرسد که نرم افزارها بصورت تصادفی در این پوشه ها ذخیره میشوند در صورتیکه همانطور که بیان کردیم، نرم افزارهای ۶۴ بیتی در پوشه Program Files و نرم افزارهای ۳۲ بیتی در پوشه Program Files (x86) قرار دارند.

چرا این ۲ پوشه جدا از یکدیگر قرار دارند ؟

قابلیت سازگاری موجود در نرم افزارهای ۳۲ بیتی قدیمی باعث میشود تا آنها حتی متوجه نشوند که بر روی نسخه ۶۴ بیتی ویندوز در حال نصب هستند. و به همین دلیل دسترسی آنها را خارج از کدهای ۶۴ بیتی قرار میدهد.

نرم افزارهای ۳۲ بیتی نمیتوانند DLLها و یا همان کتابخانه های ۶۴ بیتی را اجرا ککند و اگر سعی کنند تا بجای فایل کتابخانه ۳۲ بیتی DLLهای ۶۴ بیتی دسترسی داشته باشند احتمالا نرم افزار از کار بیافتد. همین اتفاق در مورد نرم افزارهای ۶۴ بیتی نیز صدق میکند. ایجاد دو Program Files جداگانه به علت تفاوت در معماری پردازنده هاست که اینکار موجب جلوگیری از رخ دادن خطاهای احتمالی میشود.

به عنوان مثال فرض کنید ویندوز فقط از یک Program Files استفاده میکرد. یک نرم افزار ۳۲ بیتی احتمال دارد برای اجرا شدن به مسیر C:Program FilesMicrosoft Office رفته و سعی در اجرای DLLهای موجود در آنجا کند. خب طبیعی است که اگر شما نسخه ۶۴ بیتی Microsoft Office را نصب کرده باشید نرم افزار احتمال دارد از کار افتاده و یا بذرستی عمل نکند. با پوشه های جداگانه این نرم افزار به هیچ وجه آن فایل DLL را پیدا نخواهد کرد زیرا نرم افزار Microsoft Office 64 بیت در آدرس C:Program FilesMicrosoft Office  و نرم افزار Microsoft Office 32 بیتی در آدرس C:Program Files (x86)Microsoft Office خواهد بود.

این ویژگی همچنین به کمک برنامه نویسانی می آید که از یک نرم افزار دو نسخه ۳۲ بیتی و ۶۴ بیتی آنرا تولید کرده اند. مخصوصا زمانیکه باید به دلیلی هر دو نرم افزار را بر روی یک سیستم نصب نمایند. نسخه ی ۳۲ بیتی بصورت خودکار در آدرس C:Program Files (x86) ذخیره خواهد شد و نسخه ی ۶۴ بیتی نیز در آدرس C:Program Files نصب میشود. اگر یک پوشه در ویندوز موجود بود احتمالا برنامه نویس مجبور میشد تا به صورت دستی نسخه ی ۶۴ بیتی را پوشه دیگری نصب کند تا از تداخل فایلها پیشگیری کند. که البته هیچ استانداردی نیز برای اینکه برنامه نویس کدام پوشه را برای اینکار انتخاب کند وجود نخواهد داشت.

چرا پوشه نرم افزارهای ۳۲ بیتی با برچسب x86 مشخص شده اند.

شما همیشه عبارت های ۳۲-bit و ۶۴-bit را مشاهده نخواهید کرد. بلکه در عوض گاهی اوقات کلمات x32 و x86 را به عنوان نوع معماری پردازنده خواهید دید. دلیل این امر این است که در کامپیوترهای قدیمی از پردازنده ۸۰۸۶ اینتل استفاده میشد. البته تراشه اصلی ۱۶ بیتی بود که در نسخه های جدیدتر به ۳۲ بیتی تبدیل شدند. اکنون x86 به معماری قبل از ۶۴ بیت، که یا ۳۲ بیت است یا ۱۶ بیت، اشاره دارد. X64 نیز به معماری جدید ۶۴ بیت اشاره دارد.

Windows 32-bit on Windows 64-bit

با این توضیحات معنی Program Files (x86) را خواهید فهمید. این پوشه برای نرم افزارهایی است که از معماری قدیمی تر پردازنده های x86 استفاده میکنند. البته به این نیز دقت کنید که سیستم عامل ۶۴ بیتی توانایی اجرای کدهای ۱۶ بیتی را ندارد.

بطور کلی این قضیه چندان مهم نیست

مهم نیست که یک نرم افزار در پوشه Program Files ذخیره شده است یا در پوشه ی Program Files (x86) . ویندوز بصورت خودکار نرم افزار را در پوشه ی صحیح نصب میکند. پس نیازی نیست که فکرتان را درگیر این موضوع کنید. نرم افزارهایی که نصب میکنید در منوی استارت قابل رویت هستند. فارغ از اینکه کجا نصب شده اند بدرستی عمل خواهند کرد. هم نرم افزارهای ۳۲ بیتی و هم ۶۴ بیتی باید اطلاعات مربوط به خود را در پوشه های AppData و یا ProgramData ذخیره کنند، نه در پوشه ی Program Files . فقط کافیست این اجازه را به نرم افزارها بدهید تا خودشان پوشه ی درست را انتخاب کنند.

گاهی نیاز دارید که محلی که یک نرم افزار در آن ذخیره شده است را بدانید. برای مثال فرض کنید باید به پوشه ی Steam رفته و از یکسری از فایلها نسخه پشتیبان تهیه کنید. اگر Steam نصب شده نسخه ۳۲ بیتی باشد باید در c:Program Files (x86) بدنبال آن بگردید.

اگر مطمئن نیستید که نرم افزار نصب شده ۶۴ بیتی است و یا ۳۲ بیتی احتمال لازم است که هر دو مسیر را برای پیدا کردن آن جست و جو کنید.

Task Manager.

البته میتوانید برای اینکار در ویندوز ۱۰ از Task Manager نیز کمک بگیرید.

در نسخه های ۶۴ بیتی ویندوز، نرم افزارهای ۳۲ بیتی با یک عبارت اضافی (۳۲-bit) در جلوی آن در قسمت Task Manager مشخص هستند که این موضوع را بیان میکنند که برای پیدا کردن آنها باید سری به مسیر C:Program Files (x86) بزنید.

نظر شما در رابطه با این مقاله چیست؟ دیدگاه های خود را با گویا آی تی در میان بگذارید و این مطلب را روی شبکه های اجتماعی نشر دهید

دیدگاه خود را وارد کنید
تعداد دیدگاه ها : 2 دیدگاه
  1. با سلام و تشکر از مقاله خوبتان. من همیشه این سوال برایم وجود داشت که چرا در ویندوز ۶۴ بیتی، مسیر نصب ۳۲ بیتی بوجود می آید. خوشبختانه با این مقاله ابهام برطرف شد. باز هم ممنون.

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *