ما هي مثيرة للاهتمام الصغيرة نواة لينكس المشاريع للمساعدة في معرفة المصدر ؟

StackOverflow https://stackoverflow.com/questions/135637

سؤال

ما المشاريع الصغيرة تقترح المبتدئ مع النواة ، ولكن شخص ما لديه الكثير من أنظمة C التجربة ؟ والهدف من ذلك هو تطوير الألفة مع النواة البرمجية المصدر ، منشأة للتجريب مع الأفكار المجنونة.

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

هل كانت مفيدة؟

المحلول

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

كنت قد تنظر أيضا في:

  • إضافة أخرى (بسيط جدا) وضع جدولة لتنفيذ سياسة تجد مثيرة للاهتمام."واحد تنفيذ حكم كل منهم" من الصعب جدا (وحتى أكثر صعوبة الاتفاق على) ، ولكن بسيط O(N) جدولة ، حتى بدائية O(1) جدولة يمكن القيام به نسبيا ببساطة, حسابيا يتحدث.وحتى مع ذلك ، فإنه يتطلب بدس من خلال الكثير من التعليمات البرمجية.

  • كتابة برنامج تشغيل الجهاز لفترة بسيطة جدا قطعة من الأجهزة الخارجية مثل متحكم 8 بت الذي يتصل عبر المسلسل ، أو حتى شيء يمكنك بناء نفسك.إذا كان لديك أي تجربة الأجهزة ربما محاولة لكتابة برنامج تشغيل جهاز الذي يمكن أن تحاكي وحدة تحكم NES (بت الانفجار عدد قليل من الأسلاك باستخدام منفذ تسلسلي وربما المسلسل إلى تحول مواز التسجيل).أنت أيضا يمكن أن تفعل شيئا مثل قيادة حقا بسيطة الجزء 7 أدى العرض (مثل لديك في ساعة منبه) أو مجموعة صغيرة منهم.

نصائح أخرى

على نواة مشروع النظافة لديه بعض عظماء.

في خطر بدءا من لهب الحرب:أنصح لك البقاء بعيدا عن نواة لينكس رمز.إذا كنت ترغب في الحصول على أيديكم القذرة مع برمجة النواة ، انتقل مع FreeBSD, NetBSD أو سولاريس, على سبيل المثال.رمز هو أنظف بكثير و أفضل تنظيما (وهذا بالطبع رأي شخصي), تهدف في الواقع ، وحتى موثقة.بالإضافة إلى أنها يكون مصحح أخطاء kernel (لاحظ أن لينوس هو ضد كل نواة مصححات ومستقرة نواة API ، الأمر الذي يجعل أي نواة الهدف المتحرك للعمل الخاص بك).هذه OS-es حتى يكون لديك قائمة من المشاريع في كل من المواقع على شبكة الإنترنت ، وأنا شخصيا لدي تجربة جيدة للغاية مع الناس على OpenSolaris منتديات نت القوائم البريدية.

أنت تقول أن لديك تجربة مع ج-نظرة على الويب البرمجية المصدر مستودعات لينوكس و سولاريس أو بعض BSDs ، مقارنة كود ، جعل الرأي الخاصة بك.ما أقوله هو, أعتقد أن هناك أكثر من مفتوحة المصدر UNIX من لينكس, و على الأقل يجب أن ننظر إليها قبل الذهاب لينكس.

مكان جيد للبدء هو المشروع تستند إلى Unix v6."Xv6 بسيطة يونكس مثل تعليم نظام التشغيل"

هناك أيضا cynix, بسيطة IA-32 متجانسة يونكس مثل النواة (غير المشرف عليها)

تعليمي كبير هو "لفة الخاص بك لعبة UNIX-استنساخ نظام التشغيل".

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top