لنبدأ!
C Language و x86 Assembly
بالطبع ، تحتاج فقط إلى أساس تجميع بسيط. بالنسبة للغة C ، لا تحتاج إلى الكثير من المعرفة لفهم العملية من الملفات المصدر إلى الملفات القابلة للتنفيذ.
أوامر linux الأساسية
في تجميع kernel البسيط ، استخدمنا بعض الأدوات تحت linux ، مثل nasm ، وبالطبع هناك أيضًا في windows ، بما في ذلك gcc . لكن عملية التجميع تتم في جهاز linux الظاهري.
ما هي الأدوات التي سنستخدمها؟
Notepad++ ، sublime ، وما إلى ذلك ، أبسط المفكرة على ما يرام.sublime نفسها في شكل 16 ، كما أن الجهاز الظاهري يحتوي أيضًا على أدوات لمساعدتنا على تحليل.linux Virtual Machine ، نحن نستخدم Ubuntu i386 هنا. تحتاج إلى تثبيت أدوات nasm و vim و gcc و readelf ، إلخ.بالطبع ، لا داعي للقلق. عند استخدام هذه الأدوات أو المواد ، سيكون هناك ارتباطات تشعبية في المقالة ، يمكنك تنزيلها ومراجعتها. في الوقت نفسه ، هناك أيضًا الكثير من المعلومات على الإنترنت لكي تقرأها.
ما هي النتيجة النهائية؟
أخيرًا ، بالطبع ، ليس نظام تشغيل كامل للغاية. هذا أشبه باستكشاف البحث وفهم OS ، وكذلك العلاقة بين لغة C والتجميع ، وأخيراً ، إنه فهم لمدى تعامل الأجهزة والبرمجيات معها.
في 7 أجزاء ، أكملنا فقط تشغيل الطاقة والطاقة ، ونقوم بتحميل قطاع التمهيد الرئيسي ، ثم تحميل المزيد من المعلومات في الذاكرة. أخيرًا ، قمنا ببساطة بتنفيذ تنفيذ وضع الحماية من الوضع الحقيقي. هذا كل شيء ، لكن النموذج الأولي لنظام التشغيل هو نفسه تقريبًا.
طوال العملية ، أشرنا إلى بعض مقاطع الفيديو والكتب المدرسية الإلكترونية
[1] "نظام تشغيل محلي الصنع 30 يومًا"
[2] "تنفيذ نظام تشغيل Oranges "
[3] 51CTO
إلخ.
المرجع الرئيسي هو الكتب الإلكترونية [2] . المحتوى في [1] أكثر شمولاً ، والنتيجة النهائية أكثر اكتمالا.
يتم تحميل الملفات والملاحظات المصدر إلى GitHub معًا. إذا كان لديك أي أسئلة ، يمكنك أيضًا الاتصال بي على [email protected] . كل مجلد هو بنية مستقلة ، ولا يتم تحميل الملفات الثنائية المترجمة ، ولكن يتم تحميل التعليمات البرمجية والأدوات المصدر.