كنت اتساءل هل يمكن انشاء نظام تشغيل بلغة البايثون ؟ ارجوالاجابة بسرعة !
انشاء نظام تشغيل بلغة البايثون
أندرويد يستخدم نواة لينكس كما هي. نظام OS X الذي تعمل عليه أجهزة ماك من أبل يستعمل نواة يونكس مفتوحة المصدر اسمها دارون.
النواة شيء كبير جدا جدا ومرهق وممل ويحتاج تعاون ومشاركة من الشركات المصنعة. هي شيء لا يمكنك رؤيته كمستخدم. لنأخذ شيء بسيط وهو مجدول المهام
على نواة نظام التشغيل أن تعطي كل برنامج
فترة بسيطة يعمل فيها مثلا 10 ميلي ثانية ثم يذهب إلى ذيل المهام المجدولة وتنتقل لبرنامج آخر حتى تعمل معا بطريقة متعددة المهام
عندما يحتاج البرنامج إلى شيء غير متوفر الآن مثل الوصول لقرص صلب أو شبكة ... يتم تعليقه وإرساله إلى ذيل المهام المجدولة قبل انتهاء المدة المخصصة له (لأنه هيك هيك مستني)
يجب مراعاة الأولويات الخاصة (وهو رقم يضبط من -20 إلى 19)
يجب مرعاة البرنامج ذي المهمة الأسرع أو الأقصر تنفيذا
يجب مراعاة العدالة بين المهمات
يجب أن لا يؤدي تقديم الأولويات السابقة بحيث تحجب الخدمة كليا عن مهمة ما لأن أولويتها قليلة.
يجب مراعاة الأقدمية أي المهمة التي تضاف أولا تنفذ أولا يجب أن لا تزيد مدة الانتظار عن حد معين
التنقل بين المهمات المختلفة يعني فيما يعني حفظ مسجلات الحاسوب قبل الجدولة ثم استعادتها عند العودة للمهمة دون أن تحس المهمة أو المستخدم أنه يجري توقيف المهمة والتبديل بين المهمات.
الشاهد وأنه وبعد 15 مليون سطر من الكود (دون حساب التعليقات) كما في نواة لينكس 3.2 وبعد كل هذا الكود ستحصل على شاشة سوداء لا تفعل شيء.
بأي حال وحتى لا أطيل عليك. نعم يمكن كتابة كود متدني في بايثون مثلا تم كتابة مفسر بايثون JIT المسمى PyPy من خلال جزء بسيط ومحدود من بايثون اسمه RPython ولأنه بسيط ومحدود يمكن عمل الكود الصمغ بينه وبين لغة الآلة بسهولة. لكنه لن يكون شيء محفز ولا مجدي وليس من ورائه أي طائل طالما أن نواة لينكس تفي بالغرض. لتعمل نظامك الخاص على بايثون على عمل شيء مثل RPython ثم عمل الكود الذي يصله بلغة الآلة ثم تبدأ بكتابة نظام التشغيل.
التعليقات