هكذا تمكن أحد المطورين من تشغيل نظام التشغيل Mac OS X على جهاز Nintendo Wii

  • تمكن أحد المطورين من تشغيل نظام التشغيل Mac OS X 10.0 Cheetah مباشرة على جهاز Nintendo Wii بدون محاكاة.
  • يكمن السر في أن كلا الجهازين يشتركان في بنية PowerPC، على الرغم من اختلاف الأجيال والتصميمات اختلافًا كبيرًا.
  • تطلب المشروع برنامج إقلاع مخصص، وتصحيحات لنواة XNU، وإنشاء برامج تشغيل مخصصة للفيديو وUSB والتخزين.
  • على الرغم من أنها ليست مفيدة للاستخدام اليومي، إلا أنها تفتح الباب لإعادة استخدام الأجهزة القديمة واستكشاف أنظمة التشغيل الكلاسيكية في أوروبا وبقية أنحاء العالم.

نظام التشغيل ماك أو إس إكس على جهاز نينتندو وي

قد تبدو بعض الأفكار في البداية وكأنها مزحة بين الأصدقاء، لكنها تنتهي بأن تصبح مشاريع جادة للغاية. هذا بالضبط ما حدث مع تجربة برايان كيلر، وهو مطور برامج تمكن من تشغيل نظام التشغيل Mac OS X 10.0 Cheetah على جهاز Nintendo Wii، وهي وحدة تحكم تم إطلاقها في عام 2006 ومصممة لألعاب العائلة، وليس لتصبح جهاز كمبيوتر مكتبي.

لم يكن عمل كيلر مجرد خدعة بسيطة، بل تحول إلى رحلة تقنية مليئة بالعقبات والوثائق والحلول الإبداعية. والنتيجة هي جهاز Wii قادر على عرض سطح مكتب نظام التشغيل Mac OS X Cheetah مع واجهة Aqua، ودعم لوحة المفاتيح والماوس عبر منفذ USB، والتشغيل المباشر للأجهزة، بدون أي طبقات افتراضية بينهما، وهو أمر لفت انتباه مجتمع الأجهزة القديمة في أوروبا وبقية العالم.

جهاز ألعاب متواضع لم يطمح أبدًا لأن يكون جهاز ماك

عندما تم إطلاق جهاز نينتندو وي في أوروبا عام 2006، لم يكن التركيز على القوة الخام. بينما تفاخرت مايكروسوفت وسوني بـ رسومات عالية الوضوح مع Xbox 360 و PlayStation 3تميزت نينتندو بصندوق أبيض صغير، وذاكرة سعتها 88 ميجابايت ومعالج 729 ميجاهرتز، مع التركيز على عناصر التحكم بالحركة وألعاب العائلة.

على الورق، بدت تلك المواصفات بعيدة كل البعد عما يحتاجه نظام سطح مكتب مثل نظام التشغيل Mac OS X، خاصةً مع واجهة مستخدم جذابة بصريًا مثل Aqua. ومع ذلك، يكمن السر في الداخل: يستخدم جهاز Wii معالج PowerPC 750CL، المعروف باسم Broadway، وهو سليل مباشر لرقائق PowerPC 750CXe التي استخدمتها شركة Apple في بعض أجهزة iMac و iBooks من أوائل العقد الأول من القرن الحادي والعشرين.

لا يحول هذا التشابه المعماري جهاز Wii إلى جهاز Mac، ولكنه يزيل أحد أصعب الحواجز في هذا النوع من المشاريع: تتحدث وحدة المعالجة المركزية ونظام التشغيل بشكل أساسي نفس اللغة الأساسية.ومنذ ذلك الحين، أصبح كل شيء آخر مسألة تكييف أجهزة معينة للغاية مع برامج لم تكن مصممة لها أبدًا.

يتميز جهاز نينتندو ببنية فريدة نوعًا ما، حيث تنقسم الذاكرة إلى الذاكرة MEM1 (24 ميجابايت) للمهام الأساسية والذاكرة MEM2 (64 ميجابايت) للرسومات والاستخدامات الأخرىتُدار كل هذه العمليات بواسطة شريحة هوليوود، التي تُركز معظم منطق النظام. علاوة على ذلك، فإن منافذ الإدخال والإخراج مُصممة خصيصًا لأجهزة التحكم والألعاب وملحقات أجهزة الألعاب، وليس لمحركات الأقراص الصلبة أو لوحات المفاتيح أو الفأرات كما هو الحال في أجهزة ماك التقليدية.

قبل هذه التجربة، كان جهاز Wii بالفعل بمثابة أرض اختبار لأنظمة أخرى: في مجال تعديل أجهزة الألعاب، كان من الممكن تشغيل لينكس، ونت بي إس دي، وحتى ويندوز إن تيكما يشارك المجتمع أدلة حول أفضل المحاكيات لنظام التشغيل Macكانت حالة نظام التشغيل Windows NT هي التي شجعت كيلر في النهاية على محاولة شيء اعتبره الكثيرون مستحيلاً: نقل نظام التشغيل Mac OS X Cheetah إلى جهاز Wii.

تصميم عملية تمهيد مخصصة لنظام التشغيل Mac OS X على جهاز Wii

كانت إحدى أكبر عقبات المشروع في بداية النظام. لا يمتلك جهاز Wii أي شيء مماثل... Open Firmware أو BootX، آليات التمهيد الكلاسيكية لأجهزة Mac PowerPCلذا فإن محاولة فرض تلك الأساليب على وحدة التحكم لم تكن منطقية من الناحية العملية.

بدلاً من تكييف ما هو موجود بالفعل، اختار كيلر إنشاء برنامج إقلاع مخصص بالكاملصُمم هذا البرنامج خصيصًا للقيام بما هو ضروري للغاية: تهيئة المكونات الأساسية لجهاز Wii وتحميل نواة نظام التشغيل Mac OS X Cheetah من بطاقة SD. يعمل هذا البرنامج كحلقة وصل بين بيئة الجهاز ونواة نظام Apple.

كانت نواة نظام التشغيل Mac OS X في ذلك العصر تعتمد على تنسيق Mach-O لملفاتها التنفيذية، بما في ذلك نواة XNU نفسها. وكان تحميل تلك النواة بشكل صحيح على جهاز Wii تحديًا كبيرًا: كان على كيلر أن قم بحقن المعلمات الأساسية مباشرة في النواة واستخدم حيل تصحيح الأخطاء غير المعتادة، مثل وضع رقع تضيء مؤشر LED الأمامي لوحدة التحكم في نقاط معينة في عملية بدء التشغيل لتحديد وقت حدوث التجميد.

بالإضافة إلى عملية بدء التشغيل، كان من الضروري تعديل خريطة الذاكرة. هذه هي الطريقة التي يتوقع بها نظام التشغيل Mac OS X العثور على ذاكرة الوصول العشوائي (RAM) والأجهزة الأخرى. لا يتطابق ذلك إطلاقاً مع توزيع MEM1/MEM2 الخاص بجهاز Wiiلذلك، كان من الضروري تكييف النواة بحيث "تفهم" تخطيط ذاكرة وحدة التحكم دون أن تتعارض مع بقية الأجهزة.

كما يوضح المطور نفسه في الوثائق التي نشرها على مدونته وعلى منصة GitHub، تضمنت العملية عددًا لا يحصى من الاختبارات وإعادة التشغيل والتغييرات التدريجية. وكان الهدف هو جعل نواة XNU، المصممة لأجهزة ماكنتوش من أوائل العقد الأول من القرن الحادي والعشرين، سيتقبل البدء في بيئة مختلفة تمامًا دون فقدان الاستقرار.

وحدات التحكم والفيديو وUSB: لغز الأجهزة

بمجرد تجاوز مرحلة بدء التشغيل الأساسية، ظهرت المشاكل المعتادة عند محاولة تثبيت نظام تشغيل على جهاز غير متوقع: تحكميستخدم جهاز Wii تصميمًا بمعالج PowerPC رئيسي وشريحة ثانوية تعتمد على ARM، وهي المسؤولة عن إدارة بعض الأجهزة الطرفية، مما يزيد من تعقيد المهمة.

لكي يعمل نظام التشغيل Mac OS X بشكل مقبول، كان على كيلر تطوير برامج تشغيل مخصصة لعدة مكونات رئيسية. بدأ بـ الوصول إلى فتحة بطاقة الذاكرة SDيُعدّ هذا الأمر ضروريًا لكي يتعرّف النظام على وسيط التخزين الذي يُحمّل منه البيانات والذي تُحفظ عليه. وبدون هذا الوسيط، لن يتمكّن النظام من إتمام عملية الإقلاع.

كانت مشكلة إخراج الفيديو من القضايا المهمة الأخرى. لم يكن لدى جهاز Wii ونظام التشغيل Mac OS X Cheetah نفس التوقعات فيما يتعلق بالتنسيقات وتمثيل الألوان، مما أدى إلى انحرافات لونية ومشاكل في عرض واجهة Aquaكان على كيلر تعديل طريقة عرض نظام أبل على الشاشة لتتوافق مع ما يمكن أن تعرضه وحدة التحكم.

لم يكن دعم الإدخال سهلاً أيضاً. تطلّب تشغيل لوحة مفاتيح وفأرة USB على جهاز Wii بنظام التشغيل Mac OS X البحث والتعديل. كود تعريف USB الذي يزيد عمره عن عقدين من الزمنيروي المطور نفسه كيف اضطر إلى البحث في قنوات IRC عن الكود المصدري لبرنامج تشغيل USB قديم من أجل تكييفه مع خصائص أجهزة نينتندو.

أثمر هذا العمل في النهاية عن تثبيت نظام التشغيل Mac OS X بشكل كامل وقابل للتشغيل على جهاز Wii، مع سطح مكتب وظيفي، حركة مؤشر الماوس، إدخال لوحة المفاتيح، والتعرف على التخزينإنه ليس نظامًا مصممًا للاستخدام المكثف، ولكنه كامل بما يكفي لاعتبار التجربة نجاحًا تقنيًا.

بلغ تفانيه حدًا جعل كيلر يأخذ جهاز التحكم معه في رحلته لمواصلة العمل خلال إجازته في هاواي، مستغلًا كل لحظة فراغ لتطوير المشروع. وقد مكّن هذا الإصرار المجتمع من استشارة برنامج تعليمي مفصل وشفرة مصدرية للمنفذ منشورة علنًايُعد هذا مفيدًا بشكل خاص للمطورين والمتحمسين الأوروبيين الذين يرغبون في دراسة الحالة أو تجربة شيء مماثل مع جهاز الألعاب الخاص بهم.

نظام التشغيل ماك أو إس إكس 10.0 تشيتا: نظام التشغيل القديم من أبل في هيكل جهاز وي

لم يكن اختيار النظام لهذه التجربة مصادفة. كان نظام التشغيل Mac OS X 10.0 Cheetah هو النظام المستخدم. أول نسخة تجارية من نظام التشغيل الحديث من شركة آبلتم إصداره في عام 2001 وتم بناؤه على نواة داروين القائمة على نظام التشغيل UNIX، وقد مثل قفزة كبيرة للأمام من نظام التشغيل Mac OS 9 الكلاسيكي، وذلك بفضل تعدد المهام الاستباقي وحماية الذاكرة ونهج النظام الأكثر قوة.

كان برنامج شيتا أيضاً بمثابة البوابة إلى واجهة أكوا الرسومية، مع مؤثرات بصرية أكثر تعقيدًا للوقت والشفافيات ومحرك رسومات Quartz القائم على ملفات PDFإن تشغيل كل ذلك على جهاز Wii، دون الوصول إلى تسريع الرسومات المتقدم لجهاز Mac في ذلك الوقت، أجبر جزءًا كبيرًا من عملية العرض على الاعتماد على وحدة المعالجة المركزية، مما أدى إلى انخفاض الأداء الناتج عن ذلك.

من الناحية التقنية، يستخدم النظام نواة XNU الهجينة Mach/BSD، ونظام الملفات HFS+، ومكتبات Carbon و Cocoaتعايشت هذه الأنظمة لدعم التطبيقات الكلاسيكية والبرامج الحديثة على حد سواء. ولضمان عمل كل ذلك على جهاز Wii، كان من الضروري تطبيق إطار عرض ودقة عرض متوافقة مع متطلبات النظام، مع تكييف تصميمات لعبة Aqua مع بيئة الجهاز.

والنتيجة هي نظام تشغيل Mac OS X 10.0 يمكنه الإقلاع على جهاز Nintendo Wii، وعرض سطح المكتب بالكامل، والاستجابة لإدخال المستخدم، على الرغم من مع أوقات تحميل طويلة وبعض التأخير عند التعامل مع النوافذ والقوائمبالنظر إلى أننا نتحدث عن أجهزة بذاكرة وصول عشوائي إجمالية أقل من 100 ميجابايت ومعالج أساسي للغاية، فإن التجربة هي أقرب إلى عرض تقني منها إلى بيئة عمل مريحة.

إلى جانب الأداء، يُبرز هذا المشروع مرة أخرى دور جهاز شيتا كقطعة تاريخية في تطور شركة آبل. إن رؤية هذا الإصدار يعمل على جهاز مختلف تمامًا مثل جهاز وي يُتيح للمرء تقدير ذلك، من منظور أوسع. إلى أي مدى تطور نظام macOS في السنوات الأخيرة وماذا كان يعني ذلك التغيير في العصر في أوائل العقد الأول من القرن الحادي والعشرين؟

تحدٍ بدأ بعبارة "هذا مستحيل"

يبدو أن أصل كل هذا نابع من الفضول أكثر من كونه دافعًا عمليًا. ووفقًا للمجتمع الذي تابع المشروع، قرر كيلر إطلاقه عندما ادعى أحدهم أن كان من المستحيل تشغيل نظام macOS على جهاز Wiiبالنسبة لأي شخص متحمس لأنظمة التشغيل، يبدو ذلك أشبه بدعوة.

في السنوات الأخيرة، انتشرت مبادرات مماثلة في المنتديات والمجتمعات الأوروبية المخصصة للأجهزة القديمة، في محاولة لإعادة تشغيل الأنظمة القديمة على أجهزة الألعاب المنزلية أو الحواسيب الصغيرة أو المعدات التي لم تكن مدرجة في خطط الشركات المصنعة. وهي لا تسعى بالضرورة إلى تقديم حل عملي بقدر ما تسعى إلى ذلك. استكشف حدود الأجهزة وتعرف أكثر على كيفية عمل الأنظمة من الداخل.

في هذه الحالة، أصبح مشروع "تشيتا" على جهاز "وي" مثالاً توضيحياً للغاية لما يعنيه تكييف نظام تشغيل معقد مع منصة مختلفة تماماً: تعديل النواة، وفهم خريطة الذاكرة، وكتابة برامج التشغيل، والتعامل مع خصائص كل مكون. كل هذا موثق بشكل علني ليتمكن المجتمع من تحليله.

بالنسبة لطلاب علوم الحاسوب والمطورين والمتحمسين في إسبانيا وفي جميع أنحاء أوروبا، فإن الاطلاع على مثل هذا المستودع المفصل والسرد التقني يمثل فرصة تعليمية قيّمة. يتيح لك الكود المصدري المنشور على GitHub وشروحات المؤلف متابعة الخطوات خطوة بخطوة. كيفية تفكيك وإعادة بناء نظام مثل نظام التشغيل Mac OS X في بيئة غير مألوفة.

بغض النظر عن الحكاية، تُسهم هذه المشاريع أيضاً في الحفاظ على البرامج التاريخية. فتشغيل نسخة قديمة من نظام التشغيل ماك أو إس إكس على أجهزة بديلة يُسهم في الحفاظ عليها. لا ينبغي حصر الأمر في لقطات الشاشة أو مقاطع الفيديو القديمة فقط.لكنها تبقى نظاماً يمكن للمرء أن يتفاعل معه حقاً، حتى وإن كان ذلك تجريبياً فقط.

أجهزة قديمة بعمر جديد

إحدى الرسائل الأساسية لهذه التجربة هي أن الأجهزة القديمة، بعيدًا عن كونها مجرد قطعة خردة أخرى تتراكم عليها الأتربة، يمكن أن تصبح منصة مثيرة للاهتمام للغاية للمشاريع التقنيةجهاز Wii، الذي أصبح من السهل العثور عليه الآن في سوق الأجهزة المستعملة الأوروبية بأسعار مخفضة، يتناسب تمامًا مع هذه الفكرة.

بفضل معمارية PowerPC، واستهلاكها المنخفض للطاقة، وبنيتها المرنة نسبيًا لتحميل البرامج المخصصة، تُعدّ هذه المنصة خيارًا جذابًا للمطورين الراغبين في تجربة أنظمة التشغيل، أو برامج التشغيل، أو حتى المشاريع التعليمية. إنها بيئة متواضعة، نعم، ولكن يتطلب ذلك تحسين استخدام الموارد وفهم وظيفة كل مكون بشكل جيد للغاية.وهو أمر مفقود في الأجهزة الحالية، التي تتمتع بقدرات فائقة.

في السياقات التعليمية أو التعلم الذاتي، يُعد امتلاك منصة غير مكلفة للتجربة دون الخوف من إتلاف جهاز كمبيوتر العمل ميزة قيّمة. تُظهر مشاريع مثل مشروع كيلر أنه من الممكن إعادة استخدام أجهزة الألعاب القديمة لأغراض تتجاوز الترفيه بكثير، بدءًا من دراسات النواة لاستكشاف البنى الكلاسيكية.

لا يعني ذلك أن جهاز Wii سيصبح "جهاز Mac جديدًا" للاستخدام اليومي، ولا أن تثبيت برنامج Cheetah منطقي للمهام اليومية. يوضح المطور نفسه أن الأمر مجرد عرض تقني، مع قيود كبيرة في الأداء، وتوافق التطبيقات، ودعم الأجهزةلكن كتمرين فكري وأداة تعليمية، فقد حقق المشروع غرضه على أكمل وجه.

من منظور معين، تلخص هذه القصة إلى حد كبير اتجاهاً سائداً: فبينما يتجدد السوق باستمرار مع ظهور نماذج جديدة من أجهزة الألعاب والحواسيب، لا تزال شريحة من مجتمع التقنية تجد قيمة في لإعطاء الأجهزة القديمة حياة ثانية، واستغلال إمكانياتها إلى ما هو أبعد مما تخيله مبتكروها.إن هذا المزيج من الفضول والمعرفة والمثابرة هو في النهاية ما يجعل من الممكن لجهاز نينتندو وي عرض سطح مكتب نظام التشغيل ماك أو إس إكس 10.0 شيتا اليوم.

محاكيات لنظام التشغيل mac
المادة ذات الصلة:
أفضل المحاكيات لنظام التشغيل Mac