مايكروسافت جزئياتي از اجراي ويندوز روي تراشه‌هاي ARM منتشر كرد

روزي كه مايكروسافت اعلام كرد ويندوز روي پردازنده‌هاي ARM قابل اجرا خواهد بود، سؤالات زيادي مطرح شد و حالا به‌مرور در حال پاسخگويي به آن‌ها است.


در دسامبر ۲۰۱۶ مايكروسافت همگان را شگفت‌زده كرد. نتيجه همكاري مايكروسافت با كوالكام، نسخه‌اي از ويندوز ۱۰ بود كه مي‌توانست روي پردازنده‌‌هاي ARM نصب شود و برنامه‌هاي Win32 را نيز اجرا كند. يك سال بعد اولين دستگاه‌ها با اين قابليت رونمايي شدند. دستگاه‌هاي ارائه‌شده توسط شركت‌هاي مختلف، داراي تراشه مركزي اسنپدراگون ۸۳۵ كوالكام هستند و قرار است تا بهار سال ۲۰۱۸ وارد بازار شوند.

تاكنون افراد بسيار كمي اين دستگاه‌ها را از نزديك ديده و با آن‌ها كار كرده‌اند، بنابراين اطلاعات ما بيشتر از سمت توليدكنندگان اين محصولات و مايكروسافت به دست آمده است. به‌تازگي مايكروسافت با ارائه يك سري مستندات، توضيحاتي درباره محدوديت‌هاي دستگاه‌هاي ويندوزي مبتني بر پردازنده‌هاي ARM ارائه كرده است.

مايكروسافت در تلاش قبلي‌اش نسخه‌اي از ويندوز ۸ با عنوان RT معرفي كرده بود. اين نسخه كه روي اولين دستگاه‌هاي سرفيس نصب بود، تنها مي‌توانست برنامه‌هايي را اجرا كند كه در فروشگاه اختصاصي مايكروسافت قرار داشتند. اما حالا اوضاع فرق كرده و ويندوز ۱۰ اس كه روي دستگاه‌هاي مبتني بر ARM به‌صورت پيش‌فرض نصب است، امكان اجراي برنامه‌هاي فروشگاه مايكروسافت را دارد؛ با اين تفاوت كه تعدادي از نرم‌افزارهاي Win32 كه براي استور بازسازي شده‌اند نيز در فروشگاه مايكروسافت قرار گرفته است و البته اين نسخه قابليت ارتقاء به نسخه پرو نيز دارد. اما با سابقه‌اي كه از ويندوز آرتي در ذهن‌ها به جا مانده است، كنجكاويم ببينيم ويندوز ۱۰ اس براي اجرا روي پردازنده‌هاي ARM چه محدوديت‌هايي دارد.

اپليكيشن‌هاي x64 اجرا نمي‌شوند

اولين محدوديتي كه همه ما از آن آگاه هستيم عدم اجراي برنامه‌هاي نوشته‌شده براي نسخه ۶۴ بيتي ويندوز يا همان x64‌ است؛ چراكه شبيه‌ساز استفاده‌شده براي اجراي برنامه‌هاي Win32 روي ARM، همان شبيه‌سازي است كه برنامه‌هاي Win32 را روي پردازنده‌هاي x64 اجرا مي‌كند (Windows on Windows-WoW). همانطور كه مشخص است، شبيه‌ساز ذكرشده فقط امكان اجراي برنامه‌هاي نوشته‌شده براي نسخه ۳۲ بيتي ويندوز را دارد و از اجراي برنامه‌هاي ۶۴ بيتي عاجز است.

خبري از Hyper-V نيست

يكي از قابليت‌هاي ويندوز ۱۰ پرو يا نسخه‌اي از آن كه با عنوان ويندوز ۱۰ اس شناخته مي‌شود، قابليت Hyper-V است. اين ويژگي به كاربران اجازه مي‌دهد با استفاده از نرم‌افزارهاي جانبي، يك رايانه مجازي (Virtual Machine) روي سيستم عامل خود اجرا كنند. بر اساس مستندات منتشرشده، اين قابليت در پردازنده‌هاي ARM پشتيباني نخواهد شد و حتي نرم‌افزارهاي جانبي نمي‌توانند آن را براي كاربران فراهم كنند.

مشكل در اجراي اپليكيشن‌هاي موبايل

مايكروسافت برنامه‌هاي يكپارچه (Universal Application) را معرفي كرد تا راهكاري براي برنامه‌نويسي و اجراي يك برنامه روي همه دستگاه‌هاي ويندوزي ارائه كند. از اين طريق توسعه‌دهندگان مي‌توانند برنامه را به‌صورت واكنش‌گرا (همانند صفحات وب) بنويسند. اين برنامه براي همه پردازنده‌هاي x86، x64 و ARM كامپايل و روي آن‌ها اجرا مي‌شوند. در واقع مايكروسافت با ارائه اين راهكار قصد داشت برنامه‌هاي ويندوز ۱۰ را روي گوشي هوشمند قابل اجرا كند يا به عبارت ديگر، اجراي برنامه‌هاي رايانه را تا دستگاه‌ها مبتني بر ARM گسترش دهد، بدون اين‌كه توسعه‌دهندگان نيازي به بازنويسي كد خود داشته باشند.

اما همه توسعه‌دهندگان بهترين استفاده را از اين راهكار مايكروسافت نكردند. بسياري از آن‌ها برنامه خود را با اين فرض نوشته‌اند كه دستگاه‌هاي داراي پردازنده ARM حتماگوشي هوشمند هستند؛ بنابراين برنامه‌هاي آن‌ها ممكن است به‌صورت افقي اجرا شود، داراي ايراد در رابط كاربري باشد يا پس از اجرا بسته شود. يكي از دلايلي كه موجب اين ايرادها مي‌شود مي‌تواند استفاده از API‌ اختصاصي گوشي هوشمند باشد. براي مثال فراخواني تابع HardwareButtons مي‌تواند ايجاد مشكل كند.

بعضي بازي‌ها اجرا نمي‌شوند

معلوم نيست كاربران لنوو Miix 630‌ بخواهند چه بازي‌هايي را روي پردازنده اسنپدراگون ۸۳۵ اين دستگاه اجرا كنند، اما طبق گفته مايكروسافت، بازي‌هايي كه نياز به نسخه‌هاي بالاتر از OpenGL 1.1 دارند يا از شتاب‌دهنده سخت‌افزاري OpenGL استفاده مي‌كنند، روي اين دستگاه اجرا نمي‌شوند.

مايكروسافت گفته است بازي‌هايي كه از درايور ضد تقلب استفاده مي‌كنند نيز روي اين دستگاه‌ها كار نخواهند كرد. رايانه‌هاي مبتني بر ARM از نسخه هاي ۹ تا ۱۲ DirectX پشتياني خواهند كرد.

 فقط درايورهاي ARM64 كار مي‌كنند

نرم‌افزارها را مي‌توان براي اجرا روي پردازنده ARM شبيه‌سازي كرد؛ اما درايورها را نه! تمام درايورهاي سطح كرنل، درايورهاي سطح كاربر، درايورهاي سطح فريم‌ورك و درايورهاي پرينت بايد به‌صورت اختصاصي براي نسخه مبتني بر معماري ARM سيستم عامل كامپايل شوند.

به عبارت ديگر، اگر شما يك درايور نوشته باشيد و بخواهيد افراد بتوانند از آن روي رايانه‌هاي مبتني بر ARM خود استفاده كنند، بايد آن را براي معماري ARM كامپايل كنيد و در اختيار آنان قرار دهيد. اين امر ممكن منجر به غير قابل استفاده شدن بسياري از ابزارهاي جانبي قديمي و خارج از پشتيباني شود.

ممكن است اپليكيشن‌هاي سفارشي‌سازي ويندوز كار نكنند

مايكروسافت در مستندات جديد به اين نكته اشاره كرده است كه « اجزاي بومي سيستم عامل نمي‌توانند اجزاي غيربومي را اجرا كنند.» برنامه‌هاي سفارشي‌كننده سيستم‌عامل شامل برنامه‌هاي ويرايش‌گر روش‌هاي ورودي (input method editors)، فناوري‌هاي كمك‌كننده (Assistive Technologies) و برنامه‌هاي ذخيره ابري هستند. به عبارت ديگر هر چيزي كه بخواهد shell ويندوز را تغيير بدهد ممكن روي پردازنده‌هاي ARM اجرا نشود.

انتظار نمي‌رود كه اين محدوديت‌ها در آينده نزديك برداشته يا رفع شود. براي مثال مايكروسافت براي اجراي برنامه‌هاي x64 روي رايانه‌هاي مبتني بر ARM تلاشي نخواهد كرد؛ چراكه مي‌خواهد توسعه‌دهندگان را تشويق كند از برنامه‌هاي Win32 به سمت برنامه‌هاي يكپارچه ويندوزي بروند.

در حال حاضر تنها پردازنده ARM كه امكان اجراي ويندزو را دارد، اسنپدراگون ۸۳۵ متعلق به شركت كوالكام است. واضح است كه اين شركت انحصار يا مالكيتي روي اين موضوع ندارد و احتمال دارد به‌زودي ساير رقبا مانند مدياتك، انويديا، سامسونگ و ديگران با همكاري مايكروسافت، كاري مشابه روي پردازنده‌هاي خود انجام دهند.

/ 0 نظر / 20 بازدید