لا يمكن بأى حال من الاحوال كتابة نظام تشغيل بالجافا, هذا مستحيل تماما لأن الجافا تحتاج الى ماكينة جافا الافتراضية و هى أصلا برنامج يعمل على نظام تشغيل! سوف تقوم بتصميم نظام تشغيل يحتاج الى نظام تشغيل اخر كى يعمل!
حتى لو افترضنا أنه تم بطريقة ما كتابة Compiler للغة جافا يقوم بترجمة اكواد الجافا لnative code, فسوف تصطدم بعدم قدرة الجافا على ادارة الذاكرة بشكل مباشر و هى شىء أساسى لكتابة نظام تشغيل.
لا يمكن بأى حال من الاحوال كتابة نظام تشغيل بالجافا, هذا مستحيل تماما لأن الجافا تحتاج الى ماكينة جافا الافتراضية و هى أصلا برنامج يعمل على نظام تشغيل! سوف تقوم بتصميم نظام تشغيل يحتاج الى نظام تشغيل اخر كى يعمل!
هذا ما قلت أول مرة
حتى لو افترضنا أنه تم بطريقة ما كتابة Compiler للغة جافا يقوم بترجمة اكواد الجافا لnative code, فسوف تصطدم بعدم قدرة الجافا على ادارة الذاكرة بشكل مباشر و هى شىء أساسى لكتابة نظام تشغيل.
أتفق معك ، لكن مبرمجيه كانوا ينوون إبراز قدرات جافا لا أكير ولا أقل
نظم التشغيل تبدأ من Boot Sector, و هو برنامج صغير على الSector 0 من القرص و له حجم محدد و غالبا ما تتم كتابته على الاسمبلى, يقوم فقط بتحميل الLoader, و هذا قد يكون مكتوبا بالسى او الاسمبلى, و وظيفته تحميل الكيرنل, يقوم الLoader بتحميل الكرنل و التى تبدأ بالعمل, و الكرنل غالبا تكون مكتوبة بالكامل على السى.
الكيرنل كما قال الأخ @فادى لا يمكن بناؤها بالجافا أما البرامج عمومًا فيمكن بأي لغة فأي نظام تشغيل هو مكون من برامج + الكيرنل فالبرامج مثل : الرسام ، الواجهة الرسومية ، نوتباد وغيرها وهذه بأي لغة برمجة ويمكن استبدالها في حال أن النظام يسمح بذلك أما الكيرنل فهي التي تشغل هذه البرامج وتصل بينها وبين المكونات الداخلية للحاسب
لست مضطرا حاليا الى التعمق فى الأسمبلى لبرمجة نظام تشغيل حاليا,
و لكن عليك ان تفهمها و تفهم معمارية المنصة التى تعمل عليها, لأنك سوف تستخدمها حتى فى السى, و أحيانا سوف تضطر الى تضمين سطر او سطرين من الأسمبلى فى اكواد السى. كما ان برمجة الBoot Sector غالبا ما تتم على الأسمبلى, يمكن برمجتها على السى لكن هذا غير عملى.
و هل تظن أن لغة السي سهلة عندما يتعلق الأمر ببرمجة أنظمة التشغيل ،هي مثلها مثل الأسمبلي في هذا المستوى البرمجي ،أنت أصلا لن تستعمل المكتبات الجاهزة للغة السي لهذا ستكون البرمجة مشابهة جدا للغة لأسمبلي.