سؤال هل قام نظام تشغيل Windows بدعم أي من أبنية الأجهزة بخلاف الإصدار x86؟


يقول Microsoft Windows Internals ، الإصدار الرابع:

تحدد بنية معالج Intel x86 أربعة امتيازات   مستويات ، أو حلقات ، لحماية رمز النظام والبيانات من الوجود   الكتابة إما عن غير قصد أو ضار بواسطة رمز أقل   امتياز. يستخدم Windows مستوى الامتياز 0 (أو الحلقة 0) لوضع kernel   وامتياز المستوى 3 (أو الحلقة 3) لوضع المستخدم. السبب ويندوز   يستخدم مستويين فقط هو ذلك بعض هياكل الأجهزة التي كانت   مدعومة في الماضي (مثل Compaq Alpha و Silicon Graphics MIPS)   نفذت اثنين فقط من مستويات الامتياز.

هل هذا يعني أن Windows كان يدعم ألفا و MIPS مرة واحدة؟


66
2018-04-07 08:03


الأصل


قد يكون من الصعب تصديق ذلك ، ولكن مايكروسوفت كانت واحدة من أكثر شركات "العمارة المفتوحة" في العالم. وكان MS-DOS الأصلي متوافق مع عشرات من منصات مختلفة و أنظمة تشغيل أخرى، وقد صمم ويندوز في نفس السياق. تم إنشاء برنامج Excel على جهاز ظاهري يعمل على العديد من الأنظمة الأساسية المختلفة. لم يكن هذا الأمر من قبيل المصادفة - هكذا أصبح IBM PC (والمستنسخات) المعيار الواقعي بهذا الانتشار وبسرعة ، وكيف كانت Microsoft هي الجهة التي توفر البرامج الأساسية. ما هي الخيارات التي تختارها - النظام الذي يمكنه تشغيل جميع تطبيقاتك ، أو النظام الذي احتفظ به في شركتك؟ :) - Luaan
لقد قمت بنفسي بتثبيت Windows على كل من Alpha و MIPS ولكن ذلك كان منذ وقت طويل. عندما كنت متدربًا في Microsoft ، كانت إحدى مهامي هي تشغيل مجموعات اختبار Visual Basic على الأجهزة التي لم يكن لدى المطورين على مكاتبهم. - Eric Lippert
Luaan - وليس فقط "العمارة المفتوحة" ولكن أيضا "نظام التشغيل المفتوح"! وإلا كيف يمكنك أن تفسر أنه في وقت واحد كان شكل يونيكس المرخص لها رسميا هو الأكثر شيوعا تثبيت يونكس في العالم - انظر Xenix في ويكيبيديا. - davidbak
وحتى اليوم ، هناك إصدارات من Windows تعمل على معماريات أخرى غير x86 / x64 ، وهي viz Windows RT لأجهزة ARM. - TigerhawkT3
Luaan لقد كانت أيضًا مشكلة حقيقية تحتاج إلى حل نظرًا لأن نسخ IBM PC القديمة لم تكن دائمًا متوافقة تمامًا مع IBM PC. مرة في اليوم ، وكان "التوافق IBM بنسبة 100 ٪" أ نقطة بيع لبائعي الأجهزة. نحن نأخذ هذا النوع من الأمور اليوم الممنوح ، ولكن في النصف الأول من الثمانينات أو نحو ذلك ، لم تكن مضمونة على الإطلاق. مايكروسوفت لم تتحرك حقا في سوق التجزئة نظام التشغيل من قبل MS-DOS 5.0 التي ضربت السوق في عام 1991. نعم ، بعد عام من قصة النجاح الرائدة في Windows 3.0. - α CVn


الأجوبة:


أطلقت مايكروسوفت نظام التشغيل Windows NT 3.1 في عام 1993 كأول إصدار بحتة 32 بت من نظام التشغيل Windows.

تم تطوير Windows NT كنظام تشغيل متعدد العمارة. تدعم معالجات CPU مختلفة في البداية ، بما في ذلك IA-32 و DEC Alpha و MIPS و PowerPC.

كانت الفكرة الأصلية أن يكون لديك قاعدة شيفرة مشتركة مع طبقة تجريد الأجهزة المخصصة (HAL) لكل نظام أساسي. ومع ذلك ، تم إسقاط دعم MIPS و Alpha و PowerPC في وقت لاحق ويندوز 2000.


82
2018-04-07 08:14



IIRC ويكيبيديا الصفحة تحتوي على برايمر لائق على تفاصيل البنيات ، من فعل ذلك ، ولماذا لم يأت إلى السوق. - Journeyman Geek♦
أعتقد أن منصة التطوير الأصلية كانت i860. كان هذا اختيارًا متعمدًا لإيقاف تصميم "386-isms" في التصميم. لفترة من الوقت أصدرت مايكروسوفت تطبيقات لمعماريات مختلفة. لدي قرص مضغوط من Word لـ Windows 6 مصمم لـ Windows NT على i386 و Alpha و MIPS و PowerPC. - Ed Avis
أذكر أني كنت أحاول شراء برامج من Microsoft تعمل على أنظمة Alpha NT ، لم يكن موظفو مبيعات Microsoft في المملكة المتحدة يعرفون ما هي وحدة المعالجة المركزية (Alpha CPU). أعطتنا DEC الآلات رخيصة جداً كمزود خدمة إنترنت ، وفي النهاية قمنا بوضع unix عليها واستخدامها كـ X-Terms بدلاً من ذلك للمشروع للمنفذ إلى NT. - Ian Ringrose
"كانت الفكرة الأصلية أن يكون لديك قاعدة شيفرة مشتركة مع طبقة تجريد الأجهزة المخصصة (HAL) لكل نظام أساسي" تجعل الأمر يبدو وكأنه لا يوجد HAL فعلي حول هذه الأيام ، والذي قد يكون غير صحيح. بالنسبة لواحد من أنظمة Windows NT ، تدعم هذه الأيام أيضًا ARM في هذه الأيام ، وحتى إذا كنت تدعم x86 فقط ، فهناك نطاق واسع من المراجعات لـ x86 (أكبرها هو x64) و bugfixes للمعالجات المختلفة واللوحات الرئيسية وأي شيء آخر. - Voo
كان هناك أيضا منفذ طرف ثالث إلى Sparc. لاحقاً ، تم تنشيط دعم PowerPC لـ XBox360. قبل ذلك بقليل ، تمت إضافة دعم IA64. بعد ذلك ، تم إضافة دعم AMD64. أحدث إضافة هو دعم ARM. ال أصلي وكان منصة تطوير i860. لم يكن الهدف من الإطلاق إطلاقه لهذا النظام الأساسي ، فقد تم إجراؤه بحت لأنه كان "غريبًا" ومختلطًا إلى حدٍ كبير من x86 و PowerPC و MIPS و Co ، لضمان قابلية النقل. - Jörg W Mittag


على حد علمي ، هناك 8 معمارية أساسية (وعدد من المتغيرات الفرعية) لا يزال يدعم 2 منها فقط اليوم مع Windows 10.

Windows 1.0 إلى 3.11 و Windows 95 و 98 و Millenium Edition

x86 (متغيرات 16 بت و 32 بت ، بما في ذلك 8086 و 80186 و 80286 و 80386 و 80486 و Pentium و Pentium Pro و Pentium II و Pentium III و P4 و Core و Core Duo و Core-I ومختلف تصميمات Celeron و Atom.) يتضمن أيضا مختلف AMD و NEC CPU متوافقة.

ويندوز CE

MIPS ، x86 ، ARM (بفضل @ pjc50).
(لست متأكداً مما إذا كان CE قد تم تشغيله على Alpha ، PowerPC.)

نظام التشغيل Windows NT

x86 ، x64 (أو amd64 ، يتم استخدام كلا الاسمين) ، MIPS ، ألفا ، IA32 ، IA64 ، PowerPC.
تم إسقاط الدعم لـ MIPS و Alpha و PowerPC في نظام التشغيل Windows 2000. كان Itanium الخادم فقط تبدأ مع نظام التشغيل Windows 2000 و 32 بت (IA32) تم إسقاط لعام 2008 و 64 بت (IA64) مع خادم 2012 إذا كنت أذكر بشكل صحيح. لا يزال الإصدار x86 فقط (محدود إلى بعض أجهزة netbook / الأجهزة اللوحية) و x64 صالحًا حاليًا لنظام التشغيل Windows 10.

هاتف ويندوز

ARM ، (ربما أيضا MIPS؟)

ويندوز 10 ل IoT

x64 ، ARM


46
2018-04-07 13:31



يدعم Windows NT كـ Windows 10 للهواتف ARM. - Tamoghna Chowdhury
يعني "IA-32" فقط "32-بت x86" ، وهو الإصدار الوحيد من x86 المعتمدة من قبل Windows NT حتى جاء x64 / AMD64. يمكن القول أن x64 / AMD64 هو مجرد إصدار من x86 ، على الرغم من أن Windows لديه أدوات شاملة خاصة للتعامل مع الاختلافات. "IA-64" ، من ناحية أخرى ، هي بنية 64 بت جديدة تمامًا والتي تعمل بالطاقة رقائق Itanium. لم يكن هناك أي شيء مثل إيتانيوم 32 بت. - IMSoP
كان ويندوز CE ليس متغير NT ، أو منفذ NT. كان لديها نواة فريدة ومختلفة جدا ، بما في ذلك بنية عملية وخريطة ذاكرة مختلفة تماما. كان الكثير من رمز NT استدار إلى ذلك من نظام التشغيل ، على سبيل المثال ، مكدس الشبكة بالكامل والكثير الكثير ، وبالطبع على مستوى المستخدمين دعم واجهة برمجة التطبيقات لنظام التشغيل Windows. - davidbak
تم تشغيل Windows CE أيضًا على بعض المتغيرات الخاصة بسلسلة Hitachi Super-H. مثال مشهور هو Sega Dreamcast (SH4) ، لكنني أعتقد أيضًا أن هناك بعض أجهزة المساعد الرقمي الشخصي (PDA) القائمة على SH3 التي تشغل Windows CE. - Michael
Windows Phone هو اسم تسويقي. حتى WP7 كان جزءًا من خط CE ، WP8 هو مشتق NT. وبالمثل ، فإن Windows 10 IOT هو أيضاً نواة NT مخصصة ، وكذلك الجيل الثالث من XBoxen. - MSalters


يدعم Windows XP 64 بت و Windows Server 2003-2008R2 بنية Intel Itanium IA-64.


21
2018-04-07 11:52





تستخدم أجهزة Windows Surface اللوحية التي تم إصدارها في عام 2012 بنية ARM 32 بت، تم تسمية هذه النسخة المحددة ويندوز RT:

وهو في الأساس عبارة عن إصدار من Windows 8.x تم تصميمه من أجل بنية ARM 32 بت (ARMv7).

[...]

نظرًا إلى البنية المختلفة للأجهزة المستندة إلى ARM مقارنة بالأجهزة x86 ، فإن Windows RT له قيود توافق البرامج.

لقد تم وقف Windows RT.

مصدر: ويكيبيديا.


15
2018-04-07 13:09





ويندوز 10 IoT كور يعمل على معمارية ARM 32 بت (IA-32 ، ARMv7) ، مثل Raspberry Pi 3. ويأتي مع بعض القيود رغم ذلك.

مصادر:


3
2018-04-07 17:56





ال ويندوز NT يدعم الخط مختلف البنى على مر السنين.

MIPS ، و ألفا كانت مدعومة من 3.1 إلى 4.0 (ألفا في الواقع جعلها بقدر ما يطلق سراح مرشح ل ويندوز 2000لكنها لم تصل إلى الإصدار النهائي). شوهد PowerPC في 4.0 فقط.

تم دعم IA64 (Itanium) في نظام التشغيل Windows XP. وقد تم دعمه أيضًا في سطر الخادم من Server 2003 إلى Server 2008 R2.

لقد قامت Microsoft بنقل Windows إلى ARM ، ولكن بعد ذلك أصابتها بشكل مصطنع الأنظمة الناتجة بطرق مختلفة. مع Windows RT (إصدار ARM من Windows 8) ، كان النظام مكتملًا إلى حد كبير ، ولكن تم إغلاق تطبيقات سطح المكتب لجهات خارجية. مع اختلافات ARM المختلفة لـ Windows 10 ، يبدو أن سطح المكتب قد اختفى تمامًا.


3
2018-04-07 13:20





يدعم Windows NT (مثل kernel في Windows RT و WP8 و WP8.1 و Windows 10 للهواتف) ARM v7-A (32 بت) و ARM v8-A (64 بت) (Windows 10 للهواتف الموجودة حاليًا على Lumia 950 / 950XL مع Qualcomm Snapdragon 810 chipset) حالياً بالإضافة إلى x86 (بما في ذلك x86-64 (Windows AMD64) و i386 / i586 / i686 (Windows x86)). هذا بالإضافة إلى البنى المدعومة تاريخياً المذكورة في إجابات أخرى مثل Alpha و MIPS و Itanium و PowerPC.

كما هو مذكور في إجابة أخرى ، لا يمكن تشغيل تطبيقات سطح المكتب Win32 أصلاً على Windows NT على ARM (على سبيل المثال ، بدون x 86 على مضاهاة ARM) إذا كانت مترجمة للغة x 86 (كما هي في الغالب). ومع ذلك ، كما ذكرهاuser 2284570 ، يمكن تشغيل الملفات التنفيذية الأصلية لـ ARM أو المكتبات الحيوية في Windows NT لـ ARM فقط إذا كانت (ثنائيات التوزيع) قد تم توقيعها رقمياً بواسطة Microsoft ، حيث تعوق المكاتب p توزيع مطوري الجهات الخارجية للتطبيقات الأصلية لـ ARM (على عكس سياسة x86 أو غيرها من البنى المعتمدة سابقا على سبيل المثال). اختارت Microsoft عدم دعم تطبيقات Win32 التي تستهدف x86 (برنامج Windows Desktop) على مستوى ثنائي عبر مضاهاة على Windows for ARM حيث ستكون عقوبة الأداء الخاصة بالمضاهاة كبيرة تمامًا ومقارنتها تمامًا مع أداء ARM المثالي في ميزانية طاقة ضيقة (منخفض TDP ).

ملحوظة: واجهة برمجة التطبيقات (API) التي أشير إليها هنا هي Win32 محلي API ، وليس .NET WINAPI (تمكن) الإصدار. يشير توافق التطبيق إلى التوافق على المستوى الثنائي هنا ، وليس التوافق على مستوى المصدر ، إذا لم يكن ذلك واضحًا.

ومع ذلك ، مع ظهور النظام الأساسي Windows RT والآن النظام الأساسي العالمي لـ Windows (UWP) ، أصبح بناء برنامج agnostic المعمارية لـ Windows أمراً محتملاً (سبق أن تمت محاكاة البرنامج أو إعادة تشغيله ليعمل على Windows على أبنية مختلفة) .


1
2018-04-07 13:49



رفضت MS السماح بتطبيقات سطح المكتب لجهات خارجية على الذراع حتى إذا تم إعادة تجميعها لها. كان هذا تقييدًا اصطناعيًا بحتًا (كما يتضح من حقيقة أن أحدهم وجد طريقة لتجاوزه) - plugwash
plugwash لقد ذكرت في الواقع مصداقية القيود المفروضة على تشغيل تطبيقات سطح المكتب التي تم تجميعها لـ ARM في الفقرة الثانية. ارجوك اقراها. - Tamoghna Chowdhury


يستخدم نظام التشغيل Windows NT للتشغيل على رقائق MIPS و Alpha. لقد قمت بتشغيل NT4 على ألفا. كان عليك فلاش برنامج ثابت مختلف لتشغيل NT بدلاً من VMS.


-1
2018-04-07 13:21