فرصت مطالعه ندارید؟ چکیده این مطلب را همینجا گوش دهید:
پشتیبانی رو به عقب (Backwards Compatibility) یکی از شاهکارهای مهندسی مایکروسافت در سیستمعامل ویندوز است. اما آیا تا به حال به این فکر کردهاید که قدیمیترین نرمافزار دارای رابط گرافیکی (GUI) که هنوز هم بدون نیاز به هیچگونه تغییر، شبیهساز یا مادینگ روی آخرین نسخه ویندوز ۱۱ اجرا میشود کدام است؟ از آنجایی که نسخههای ۶۴ بیتی ویندوز دیگر از برنامههای ۱۶ بیتی پشتیبانی نمیکنند، باید به دنبال آثار باستانی دوران اولیه NT بگردیم.
| ویژگی | جزئیات |
|---|---|
| موضوع | بررسی قدیمیترین برنامههای GUI ویندوز روی ویندوز ۱۱ |
| سیستمعامل مقصد | ویندوز ۱۱ (نسخه ۶۴ بیتی) |
| ابزار جانبی (در صورت نیاز) | ماژول DLL شبیهساز صدا یا ابزار ترجمه دستورات |
| هزینه | رایگان (استفاده از فایلهای سیستمی قدیمی) |
| وضعیت دسترسی ایران | بدون محدودیت |
ماجرای شگفتانگیز FreeCell از سال ۱۹۹۳
کاوشهای اولیه برای یافتن یک اپلیکیشن اصیل ما را به نسخه اولیه Win32s و فایل معروف بازی ورق هدایت میکند. اگر نسخهای از فایل FREECELL.EXE با تاریخ ساخت ۲۲ فوریه ۱۹۹۳ را پیدا کنید، متوجه میشوید که این برنامه کاملاً روی ویندوز ۱۱ اجرا میشود و بدون هیچ مشکلی میتوانید آن را بازی کنید.

در زمان نگارش این بررسی، این اپلیکیشن قدمتی بیش از ۳۳ سال و ۸ ماه دارد؛ یعنی تقریباً همسنوسال بسیاری از کاربران امادهای کامپیوتر است! این کشف ساده نشان میدهد که چگونه ساختار پایهای معماری Win32 برای دههها دستنخورده باقی مانده است.
موانع فنی اجرای برنامههای سالهای اولیه NT
اگر کمی بیشتر در آرشیوهای اینترنت و نسخههای پیشنمایش ویندوز NT 3.1 کنکاش کنید، با خطاهای عجیبی روبهرو میشوید. نسخههای اولیه سال ۱۹۹۱ از فرمت پیشنویس PE استفاده میکردند که با ویندوز مدرن سازگار نیست. همچنین ساختارهای تا اواسط سال ۱۹۹۲ از قرارداد فراخوانی جایگزین برای فراخوانیهای API ویندوز استفاده میکردند که باعث تداخل و کرش کردن برنامه میشد.
برای درک بهتر این موضوع فنی، کد زیر نحوه مدیریت پشته (Stack) را در نسخههای اولیه نشان میدهد:
# بررسی سناریوی مدیریت پشته در کدهای سیستمی قدیمی
# شبیهسازی نحوه ارسال متغیرها به حافظه موقت در معماری قدیمی
hwnd_value = 1024
stack_pointer = 4000
# کسر فضای حافظه برای ارسال آرگومانها
stack_pointer -= 4
print("مقدار پشته پس از ثبت متغیر:", stack_pointer)
توضیح کد: این اسکریپت ساده مدلسازی ذهنی نحوه تخصیص و کاهش فضای پشته (Stack Allocation) را نشان میدهد که در ساختارهای قدیمی ویندوز تفاوتهایی با استانداردهای امروزی داشت. در نسخههای مدرن ویندوز این فرآیندها بهصورت خودکار مدیریت میشوند، اما برنامههای بسیار قدیمی با ناسازگاریهای پشته مواجه میشدند.
مروارید پنهان: CDPLAYER.EXE از سال ۱۹۹۲
در میان تمام نسخههای آزمایشی، بیلدهای قدیمی ساخت ۱۶ نوامبر ۱۹۹۲ یک شاهکار به نام CDPLAYER.EXE داشتند. برخلاف سایر برنامهها که به دلیل خطاهای زمان اجرای C کرش میکردند، این برنامه از کتابخانه سیستمی crtdll.dll استفاده میکرد. جالب اینجاست که ویندوز ۱۱ هنوز هم این فایل را در پوشه SysWOW64 خود نگه داشته است!
وقتی این برنامه را اجرا میکنید، به دلیل نبود درایو دیسک نوری روی سیستمهای مدرن امروزی، با خطای عدم شناسایی درایو مواجه میشوید:
با این حال، با قرار دادن یک فایل کوچک cdemu.dll برای شبیهسازی دادههای صوتی، میتوانید ببینید که یک برنامه نزدیک به ۳۴ سال پیش چگونه موسیقی پخش میکرده است. علاقهمندان به دنیای نرمافزار میتوانند برای ساختاردهی به پروژههای خود از ابزارهای مختلفی نظیر آموزش پایتون از صفر با مخزن محبوب 30 Days of Python نیز بهره ببرند.
راه میانبر: شبیهسازی نرمافزارهای بسیار کهنه
اگر بخواهیم به عقبتر برگردیم، برنامههای ۱۶ بیتی کاملاً از رده خارج شدهاند. اما با استفاده از لایههای سازگاری جانبی میتوانید برنامههای بسیار کهنهتری مانند بازی REVERSI.EXE متعلق به ۱۵ نوامبر ۱۹۸۵ (مربوط به ویندوز 1.01) را روی ویندوز ۱۱ اجرا کنید.

این روشها نشان میدهند که تاریخچهی سیستمعاملها چقدر پر از جزئیات جذاب و شگفتانگیز است. برای توسعهدهندگانی که به ساخت ابزارهای متنی یا مدیریت داده علاقهمندند، مطالعهی مباحثی مثل ساخت مدیر پسورد امن پایتون؛ رمزنگاری محلی و آفلاین نیز پیشنهاد میشود.
پرسشهای متداول
آیا اجرای این فایلهای قدیمی به سیستم آسیب میزند؟
خیر، این فایلها کاملاً ایزوله هستند و به دلیل عدم دسترسی به بخشهای حساس هسته جدید ویندوز، خطری برای سیستم ندارند.
چرا ویندوز ۱۱ برنامههای ۱۶ بیتی را بهصورت مستقیم اجرا نمیکند؟
زیرا در ویندوزهای ۶۴ بیتی مدرن، زیرسیستم NTVDM برای اجرای کدهای ۱۶ بیتی بهصورت کامل حذف شده است و پردازندههای مدرن حالت ۱۶ بیتی ویندوزی را پشتیبانی نمیکنند.
آیا برای اجرای فایل FreeCell نیاز به نصب ابزار خاصی است؟
خیر، فایل اجرایی نسخههای اولیه Win32 بدون هیچ ابزار جانبی مستقیماً روی ویندوز ۱۱ اجرا میشود.
جمعبندی
بررسی قدیمیترین نرمافزارهای گرافیکی ویندوز نشان میدهد که تعهد مایکروسافت به سازگاری با گذشته تا چه حد عمیق است. اجرای برنامههایی مانند FreeCell و CDPLAYER از اوایل دهه ۹۰ میلادی روی ویندوز ۱۱، تجربهای جذاب برای علاقهمندان به تاریخ فناوری و توسعه نرمافزار به شمار میرود که بدون نیاز به شبیهسازهای سنگین امکانپذیر است.



