كنت اتساءل هل يمكن انشاء نظام تشغيل بلغة البايثون ؟ ارجوالاجابة بسرعة !
انشاء نظام تشغيل بلغة البايثون
ويندوز ليس مجرد نظام تشغيل مثلا لعبة الشدة وبرنامج الرسام ليس لهما علاقة بنظام التشغيل. ويندوز هو منصة مكونة من العديد من المكونات النوية micro kernel وتعريفات العتاد هي أقل شيء يهتم له مستخدم ويندوز.
لكن بما أنك قلت مثل ويندوز وإن عدنا إلى السؤال فالجواب الأقرب من بين الخيارين هو أندرويد وفي هذه الحالة الجواب نعم.
نواة نظام التشغيل (كمية كبيرة تزيد عن كذا مليون سطر من الكود الممل) تتعلق بأشياء غير مرئية للمستخدم تتعلق بالأقفال وتوزيع الأولويات وتوفير الطاقة.
انا اتكلم عن انشاء مثلا النوات و وضع توزيعة عليها
اختراع شيء ك يونكس او انشاء نظام من الاول بدون الاستعانة بشيء
أندرويد يستخدم نواة لينكس كما هي. نظام OS X الذي تعمل عليه أجهزة ماك من أبل يستعمل نواة يونكس مفتوحة المصدر اسمها دارون.
النواة شيء كبير جدا جدا ومرهق وممل ويحتاج تعاون ومشاركة من الشركات المصنعة. هي شيء لا يمكنك رؤيته كمستخدم. لنأخذ شيء بسيط وهو مجدول المهام
على نواة نظام التشغيل أن تعطي كل برنامج
فترة بسيطة يعمل فيها مثلا 10 ميلي ثانية ثم يذهب إلى ذيل المهام المجدولة وتنتقل لبرنامج آخر حتى تعمل معا بطريقة متعددة المهام
عندما يحتاج البرنامج إلى شيء غير متوفر الآن مثل الوصول لقرص صلب أو شبكة ... يتم تعليقه وإرساله إلى ذيل المهام المجدولة قبل انتهاء المدة المخصصة له (لأنه هيك هيك مستني)
يجب مراعاة الأولويات الخاصة (وهو رقم يضبط من -20 إلى 19)
يجب مرعاة البرنامج ذي المهمة الأسرع أو الأقصر تنفيذا
يجب مراعاة العدالة بين المهمات
يجب أن لا يؤدي تقديم الأولويات السابقة بحيث تحجب الخدمة كليا عن مهمة ما لأن أولويتها قليلة.
يجب مراعاة الأقدمية أي المهمة التي تضاف أولا تنفذ أولا يجب أن لا تزيد مدة الانتظار عن حد معين
التنقل بين المهمات المختلفة يعني فيما يعني حفظ مسجلات الحاسوب قبل الجدولة ثم استعادتها عند العودة للمهمة دون أن تحس المهمة أو المستخدم أنه يجري توقيف المهمة والتبديل بين المهمات.
الشاهد وأنه وبعد 15 مليون سطر من الكود (دون حساب التعليقات) كما في نواة لينكس 3.2 وبعد كل هذا الكود ستحصل على شاشة سوداء لا تفعل شيء.
بأي حال وحتى لا أطيل عليك. نعم يمكن كتابة كود متدني في بايثون مثلا تم كتابة مفسر بايثون JIT المسمى PyPy من خلال جزء بسيط ومحدود من بايثون اسمه RPython ولأنه بسيط ومحدود يمكن عمل الكود الصمغ بينه وبين لغة الآلة بسهولة. لكنه لن يكون شيء محفز ولا مجدي وليس من ورائه أي طائل طالما أن نواة لينكس تفي بالغرض. لتعمل نظامك الخاص على بايثون على عمل شيء مثل RPython ثم عمل الكود الذي يصله بلغة الآلة ثم تبدأ بكتابة نظام التشغيل.
على مستوى التطبيقات نعم.
على مستوى النواة (التخاطب مع العتاد) لا.
لاحظ أندرويد:
على مستوى التطبيقات: جافا.
على مستوى النواة: سي.
نظم الشتغيل في السابق كانت عباره عن نواه (وضيفه النواة هي السيطرة على العتاد اي التحكم بالعتاد لانه لا يستحمل اخطاء حيث يمكن ان يعطب) وهذه النواة توفر اداوات او دوال تجعل استخدام العتاد "Hardware" امن وهي تسيطر على المشاكل وتنظم تدفق البيانات وتسلسل الاعمال على المعالج والذاكره وغيرها من خلال الطاقه 01010101
بعد ذالك يتم بناء طبقة تعتمد على النواة تحوي على القشرة التي تتحكم بشكل ما يظهر لك "واجهة المستخدم" وكذالك دوال برمجيه تستفد من دوال النواة ولكنها اقرب للانسان من الاله وتعمل بشروط صاحب النظام
اما جوابا على سؤالك فهو التالي
اذا كان الهدف انشاء نظام من النواة فما فوق هذا غير ممكن لانك تحتاج للغة معالج والمسماة لغة تجميع Assembly والتي بدورها تتحدث مع المعالج بالطاقه 01010101
اما اذا كان الهدف بناء ما فوق النواة وذالك بالاعتماد على نواة مثل لينكس فهنا الامر ممكن ولكن ستحتاج لاستخدام اللغة التي التي تفهمها النواة اولا لكي تجعلها تفهم البايثون او الجافا او اي لغه واللغة التي تفهمها النواة في الغالب هي C وستكون اغلب مكتباتها في النظام ولكن بهذه الحاله انت تولد طبقه جديده اخرى ولهذا تسمى تلك الغات بالطبيعية Native لان النظام يفهمها بدون مترجمات وسطيه اضافيه او بدون اله افتراضيه virtual machine كما في جافا
وللتوضيح اكثر ناخذ مثال الجافا
الكود الذي تكتبه بالجافا لا تفهمه غير الجافا نفسها فتقوم بتحويله الى bytecode "هذا ما تفهمه التها الافتراضيه" عبر ماكنتها الافتراضيه Java virtual machine وهذا البايت كود مهمته التحقق من الكود والتاكد منه وترجمته وهناك اكثر من طريقه لذالك مثلا JIT والتي يستخدمها اندرويد حاليا وستتغير مع الاصدار القادم لاندرويد L وبعد الترجمه والتاكيد يرسل الى المعالج ليعمل وهي نفس طريقه عمل البايثون تقريبا ولهذا تعتبر لغات بطيئه "بايثون ابطئ من جافا" ولكنها تعمل في مكان يمكن وضع الاله الافتراضيه فيه
طبعا هذا كله كان الدوره الطبيعيه لهذه اللغات، اما اذا كنت تطمح لتغيير بنيتها لتجعلها تتكلم مع العاتد مباشرتا بدون الحاجه لنظام اخر تعمل عليه فهذا بحث اخر وهو ما ذكره اعضاء هنا كمثال مشروع jnode وهو مفتوح المصدر يمكنك ان تستخدمه او تغيره مجانا
اسف على الاطاله :)
تعلم C ، فهي الأنسب لأنظمة التشغيل، و أنوية مثل Linux و أنوية أشهر الأنظمة مثل أنظمة BSD و ماك تستخدم C ، و أسمبلي عند الحاجة.
هذه الويكي ستساعدك:
لا.
و بالنسبة لمشروع هو وفر البنية التحتية من برامج و أدوات أساسية تضيفها لنواة ليصبح عندك نظام كامل قابل للاستخدام.
كذلك مشروع جنو وفر نواة اسمها GNU Hurd.
سؤالك مثل: هل يمكن عمل سيارة تسير بدون محرك؟
بالطبع لا تسير سيارة لدون محرك (نوات لينكس )
انا كنت اقصد هل يمكن عمل ظام مثل جنو ومن ثم دمج النواة ليصبح صالح للاستخدام
هل يمكن ؟ نعم يمكن . ويمكن أيضا إنشاء برامج بالبايثون تشتغل على الهاردوير من دون وجود نظام تشغيل أصلا ...
هل ذلك أمر جيد ؟ أعني برمجة نواة نظام تشغيل بالبايثون ؟ لا أعرف ولا أظن أحدا قام بذلك ..و أعتقد أن القيام بذلك سيكون أسهل من أن تفعله بالأسومبلي.. لكن لا أظن أنه سيكون بكفاءة نواة مكتوبة بالأسومبلي...
وعلى كل حال فهناك بعض المحبين للغة بايثون برمجوا "تطبيقات" تشتغل على الهارد دون وجود أي نواة وأي نظام تشغيل ..
لا يمكن أخي / مستحيل
اذا كنت تريد برمجة نظام تشغيل حقا
فلا عليك الا بال C++ أو java
هذه هي لغات الوحيدة لبرمجة أنظمة التشغيل
و اعرف أن برمجة نظام تشغيل ليس بالأمر السهل اطلاقا
اخي جافا لن تبرمج نظام تشغيل لانها تشتغل ضمن VM
هناك بعض المشاريع بها لكنه بسيط وحجمه اكثر من 1 جيجا لانه تم دمج جميييييييع مكتبات اللغة فيه
اذن الخيار الانسب هو السي بلس بلس
اخي من قال ان ال جافا تستخدم في برمجة انظمة التشغيل فال جافا لغة بطيئة جدا و لا تستخدم لتعامل في low level مثل ال c و c++ اضف الى هذا ان كل الانظمه المشهوره ولغات البرمجه المشهوره بنيت على c ومنها الجافا
ههههههههههههههههههههههه
ألا تعرف أن الكثير من الأنظمة مبرمجة بجافا بكاملها ؟؟
و أشهرها و أفضلها مبرمج Jnode و الأندرويد
هههههههه اخي انا من يجب ان يضحك اخبرت بأن Jnode حجمه اكبر من سنك
اما اندرويد فهو مبرمج بنواة لينكس المبرمجة بالسي
راجع معلوماتك ولا تتطاول بلسانك
من قال لك هذه المعلومة ؟؟
Jnode ما زال تحت التطوير و لم يتم ايقاف تطويره و كانت أخر نسخة في نهاية 2013
الأندرويد مبرمج بجافا بكامله 90 بالمئة انا متأكد جدا جدا
الكل يعرف أخي فلا داعي لتطويل الكلام و قول كلام سنندم عليه
راجع معلوماتك من قال لك ان جي نود توقف عن التطوير.........
اندرويد 90 في المائة بالجافا هههههه
اقرأ
التطبيقات هي التي تمت برمجتها بالجافا وهي تمثل نسبة 90 في المائة
التطبيقات وليس النظام
(اعمل مسودة قبل التحدث فلسانك أطول منك)
يا أخي ألا تفهم
نظام ا ل أ ن د ر و ي د مبرمج بالجافا بنسبة 80 بالمئة و الباقي بلغة C
و ان كان يوجد طريقة لتبيلغ لقفل عضويتك لطبقتها الأن
للأسف لا يوجد
غيرت رأيي نسيت أن جزء منه مبرمج بالسي
أنا حتى الأن لم أشتمك و لم أقل لك و لا كلمة مسيئة فقط "الا تفهم"
و لكن من بداية النقاش و كلامك ممتلئ بالكلام المسيئ
سأغير ردودي ولكن يجب أولا أن تغير ردودك
لأنك أسأت كثيرا
+
ماهذه المدونة التي ليس فيها حتى طريقة التبليغ ؟؟
- لايمكن تعديل الردود سأغيرها بكلمة آسف على كل شيئ اتمننى تقبل اعتذاري
2.ليست مدونة هو مجتمع عربي يمكّن المستخدمين من طرح مواضيع بغرض النقاش وتبادل الأفكار
وشكرا
لماذا لا يمكن تغييرها ؟؟؟
أنا ايضا أسف
لقد تشاجرنا على شيئ سخيف من يهتم ان كان نظام الأندرويد مبرمج بالجافا أو لا
كل لغات يمكنها فعل الشيئ ذاته تقريبا
أسف جدا أخي
لنبدأ صفحة جديدة
لا أعلم صراحة, يبدو كذلك
ادخل حسابتهم وطالع مساهماتهم وتعليقاتهم المليئة بالتسليب
اذا وصل التسليب حد معين (40 على ما اظن) يتم حظر الحساب تلقائيا
التعليقات