الســــــــــــــــــلأم عليكم ورحمة الله وبركاته
منذ مده ليست بقصيره لاحظت العديد من الجهود لبرمجة نظام تشغيل عربي متكامل , مروراً بمشروع الخوارزمي وتجدونه علي
هذا الموقع http://www.alkhawarezmi.com/ حتى الكثير من المواضيع التي كتبت محاولة منها تجميع فريق عمل حتى يتم
برمجته نظام الاحلام ! من وجهة نظري انه يجب علينا قبل التفكير ببرمجة نظام تشغيل يجب علينا معرفة الكثير من الامور التي تخص
الحاسوب, و سوف احاول تلخيصها في هذه المقاله بإذن الله .
المعرفه في الكيان المادّي Hardware
حسناً لا بد من الفهم الجيد للقطع الاساسيه للحاسوب , مثلاً المعالج (CPU) , ذاكرة الوصول العشوائي (RAM) و غيرها من القطع
الاساسيه , لاننا سوف نتعامل معها عند برمجة نظام التشغيل , مثلاً عند برمجة "ادارة الذاكره" في النظام , لا بد من ان يكون لدينا فهم
لـ ذاكرة الوصول العشوائي, إذاً لا بد من الفهم الجيد للـ hardware حتى نتمكن من التعامل معها .
المعرفه في لغات البرمجه:-
بالطبع حتى نتمكن من كتابة اي برنامج فإننا بحاجه إلى لغة برمجه نكتب بها هذا البرنامج, و على الارجح لغة C هي المفضله من اجل
كتابة نظم التشغيل , كذلك لا بد من لغة التجميع Assembly, قد يعتقد البعض ان المعرفه بـ لغة الـ C يعني التعامل مع احد البيئات
التي توفرها الشركات كـ Visual C او C++ Builder , او حتى استخدام المكتبات الرسوميه مثل GTK , بالطبع هذا الاعتقاد غير صحيح !
في الحقيقه اذا كنت محترف في العمل على بيئة Visual C فذلك لن ينفعني كثيراً , لن تنفعني إلا معرفتي في اساسيات الـ C , لانني
عندما ابرمج نظام تشغيل لن اتمكن من استخدام اي مكتبة جاهزه مقدمه من الـ Visual C مثلاً, اما بالنسبه للغة التجميع فهي مهمه
جداً, ولا بد من اتقانها بشكل جيد حتى نتمكن من كتابة نظام التشغيل , مثلاً الـ Boot loader لا يمكننا كتابته إلا بإستخدام لغة
التجميع , كذلك لغة التجميع تقدم لنا خدمات BIOS التي قد تساعدنا في كتابة بعض مكتباتنا الخاصه بـ نظام التشغيل .
دراسة مفاهيم نظم التشغيل:-
هذه الخطوه تعتبر خطوه هامه و قد تكون اطول مده تقضيها في اثناء مرحلة العمل ما قبل كتابة نظام التشغيل , مفاهيم نظم التشغيل
مثل معرفة ما هي عملية الـ Boot (الاقلاع) و معرفة كيف تعمل و دراستها بشكل جيد و اخيراً قراءة بعض الـ Boot loader المفتوحة
المصدر و البسيطه حتى تتعرف كيف يتم برمجة الـ Boot loader , و اتباع هذا الاسلوب مع باقي المفاهيم , مثل ادارة الذاكره , انظمة
الملفات و غيرها الكثير .
هذه بعض التلميحات الموجهه للمشاريع التي تنوي بناء نظم التشغيل, و اعتذر اذا كان هناك اي خطأ في الحقيقه خبرتي
في هذه الامور ليست قويه و لكنها تسمح لي بكتابة مثل هذه المواضيع وأن شاء الله يكون الأنتقاد بناء للجميع.
