ونوس بهار

پرواز اندیشه در فضای مجازی

ونوس بهار

پرواز اندیشه در فضای مجازی

آخرین نظرات
  • ۷ مهر ۹۶، ۱۷:۳۸ - محمدحسین میرزایی
    بله
پیوندها


اگر شما هم از ویندوز ۶۴ بیتی استفاده می‌کنید، در درایو C یا درایو نصب ویندوز خود حتما به دو فایل با عنوان (Program Files (x86 و Program Files برخورد کرده‌اید که یکی از این فایل با عنوان (x86) برای برنامه های ۳۲ بیتی است. چرا ویندوز دو فایل برای این کار اختصاص داده و چرا همه برنامه‌ها را در یک فایل نصب نمی‌کند؟


حتما برای شما هم این سوال پیش آمده است که چرا ویندوز محل نصب برنامه‌ها را جدا کرده است؟ چرا برنامه های ۳۲ بیتی باید در یک فولدر جداگانه نصب شوند؟ اگر کاربری در مراحل نصب برنامه های ۳۲ بیتی، محل نصب را در C:\Program Files قرار دهد، چه اتفاقی می‌افتد؟ فایل‌های برنامه های نصب شده در این دو فولدر چه تفاوتی با هم می‌کنند؟


به نظر ما مایکروسافت بی دلیل این کار را انجام نداده است. جواب کوتاه به این سوالات این است: مایکروسافت این کار را انجام داده است تا برنامه های ۳۲ بیتی به همان شکل سابق نصب شده و کار کنند بدون آنکه قوانین و اصول نصب برنامه های ۶۴ بیتی بر روی آن‌ها اعمال شود.


توجه داشته باشید که فایل‌های اجرا شدنی و DLL در ویندوز ۳۲ بیتی با ویندوز ۶۴ بیتی متفاوت است؛ لذا این کار انجام می‌شود تا فایل‌های ۳۲ بیتی از فایل‌های ۶۴ بیتی قابل تشخیص و تفکیک باشند. یک برنامه ۳۲ بیتی نمی‌تواند یک فایل DLL 64 بیتی را شناسایی و بارگذاری کند. در نتیجه راهی لازم بود تا مطمئن شویم یک برنامه ۳۲ بیتی (که به احتمال زیاد قبل از برنامه های ۶۴ بیتی برنامه نویسی شده و هیچگونه سازگاری‌ای با برنامه های ۶۴ بیتی ندارد) به اشتباه یک فایل DLL 64 بیتی را شناسایی نمی‌کند.


در صورت وقوع این مساله، برنامه ۳۲ بیتی تلاش می‌کند فایل ۶۴ بیتی را اجرا کند و چون قادر به انجام این کار نیست یک پیغام خطا به کاربر می‌دهد و اجرای برنامه متوقف می‌شود. ساده‌ترین راه برای این مساله جدا کردن مسیر فایل‌هاست. راه دیگر می‌توانست این باشد که هر برنامه ۶۴ بیتی، فایل‌های اجرایی و DLL خود را در جایی مخفی کند که برنامه های ۳۲ بیتی به آن دسترسی نداشته باشند، مثلا یک دایرکتوری با نام bin64. اما این کار درنهایت منجر به آشفتگی و بی نظمی سیستم‌های ۶۴ بیتی می‌شد.


با دانستن این مطالب سوالات دیگری در ذهن افراد شکل خواهد گرفت. مثلا اینکه چرا از مسیر C:\Program Files\x86 استفاده نشده است؟ باید گفت پاسخ مشخصی به اینگونه سوالات وجود ندارد، این چیزی است که مایکروسافت انتخاب کرده است و شاید دلیل خاصی هم برای آن نباشد. چه بسا برنامه های بسیاری وجود دارند که برای نصب به یک مسیر مشخص احتیاجی نداشته و در هر مسیری می‌توانند نصب شوند.


منابع: How-To GeekFixed by Vonnie

  • علیرضا فروردین

مایکروسافت

ویندوز

نظرات  (۱)

عالی.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی