لم أشارك بموضوع منذ وقت طويل، لذلك هذه مشاركة، لموضوع يهمني وإن كنت - بصراحة - لا أفهمه، صناعة أنظمة التشغيل من الصفر، كيف يمكن فعل ذلك من خلال الحاسوب نفسه؟ بمعنى كيف تطور نظاماً لحاسوب لا يحوي نظاماً دون أن تعتمد على حاسوب آخر؟ عموماً، الرابط الذي أود المشاركة به هو هذا:
http://interim.mntmn.comالحاسوب هو رازبيري باي، لكن النظام مبرمج من الصفر وهو نظام من نوع Language-based system، أي أن لغة البرمجة نفسها هي نظام التشغيل وبالتالي يمكن الوصول لها من أي مكان في الواجهة، وفي الماضي كانت حواسيب مختلفة تفعل ذلك مثل Lisp Machines وكذلك بعض الحواسيب التي تعمل بلغة Smalltalk.
إن كان لديك اهتمام بهذا الموضوع فشاركني بأي مقال أو كتاب أو معلومة.
التعليقات
الحاسوب نفسه يجب ان يحتوى على نظام تشغيل ليعمل, لتستطيع كتابة الاكواد عليه هذا أولا!
أعتقد ان أسهل طريقة هي استخدام محاكى Emulator للراسبيرى بى اى, لا اعرف ان كان احداها متوفرا, لكن راسبيرى جهاز بسيط و ضعيف و بالتالى محاكاته لن تأخد الكثير من موارد الحاسوب.
قرأت في مقالات عديدة عن الموضوع، هناك حواسيب يمكن أن تكتب لها نظام تشغيل من الصفر دون الاستعانة بحاسوب آخر، وتسمى العملية Bootstrapping، وهذا رابط في ويكيبيديا:
أول برنامج يكتب يسمى في الغالب loader ووظيفته تشغيل برامج أخرى، ومن هناك يمكن برمجة محرر نصي ولغة البرمجة، وهكذا يبني المبرمج كل شيء من الصفر، هذا أمر ممكن في حواسيب الماضي، لكن لا أدري بخصوص حواسيب اليوم.
فى الماضى كانوا يكتبون البرنامج على لغة التجميع على ورق, ثم يجمعه (يحوله الى لغة الألة) يدويا و يدخله الى الحاسوب.
حواسيب أبل الأولية برمجها ستيف ووزنياك بهذه الطريقBootstrapping. طبعا مع تعقيد أنظمة التشغيل حاليا, هذا شبه مستحيل.
بعض الحواسيب القديمة توافرت بها برامج صغيرة لادخال التعليمات بلغة الألة.
فى بعض الأحيان كانوا يصنعون برنامج محاكاة خاص لكتابة نظام التشغيل عليه (فعلوا ذلك لبرمجة ويندوز NT).
تحتاج الى Editor به قدرات جيدة, و compiler, و الكثير من المراجع على الانترنت, و الى Emulator او Virtual Machine لتسهيل الtest دون الانتقال الى ماكينة أخرى.
إنشاء نظام تشغيل يمكن أن مستحيلاً
إذا كنت تقصد نواة نظام تشغيل أو محمل إقلاع يجب أن تكون لغة الأسمبلي متواجدة بالجهاز .
بسم الله الرحمن الرحيم
لا يوجد مستحيل من بعد اذن الله
المشكله فقط ان نظام التشغيل يحتاج لمجموعه قويه من المبرمجيين لعمل نظام مختلف تماما عن ما هو موجود حاليا سواء ويندوز او لينكس (لان ابل ماك هو لينكس او مشابه ينكس) , واعتقد انه لا حاجه لعمل نواه وكور لنظام تشغيل جديد لان النظاميين رائعيين , فاذا اردت عمل نظام جديد من الصفر فيجب عليك فهم تكويين برامج كل من النظاميين اقصد البرامج الداخليه المكونه للنواه Kernel والكور core , لعمل لينكس من الصفر خطوه خطوه اتبع اللينك التالي
أظن أنه اختلط عليك مصطلح التوزيعة والنظام
عمل التوزيعة من الصفر يعني أنه تعمل على نواة لينوكس فأنت هنا في مراحل إنشاء النظام الأخيرة
خذ مثلا كل التوزيعات المبنية على نواة لينوكس تعتبر نظام واحد
ونظام أندرويد منبي على نواةةلينوكس لكنه نظام مستقل
ونظام كروم الذي تطوره جوجل نظام مستقل مع أنه مبني على لينوكس
إنشاء توزيعة من الصفر لا يعني أنها مبنية على أنها نظام من الصفر
بل أنها ما بعد النواة مبنية من الصفر .
بسم الله الرحمن الرحيم
ولكن لينكس من البدايه التي كتبها الكاتب العالمي جيرارد بيكمانس هو عالم حاسوب هولندي , الذي وضعت موقعه في المقال ماذا كان يشرح
لينك لينكس من البدايه ويكيبيديا العالميه كالتالي
بسم الله الرحمن الرحيم
ليس من المنطق بناء نواه من الصفر , بل يمكن المساعده في بناءها او اصلاحها , كما يحدث فعليا مع لينوس ومن يعمل اسفل يده من ملايين المبرمجيين , وبالتالي المساعده في بناء النواه افضل من بناء نواه من البدايه , لانه لايمكن عمل ذلك بعدد صغير من الافراد , ولا حاجه لبناء منافس لنواة لينكس , ولكن الافضل تقويتها , وانا افهم ما تقوله تماما
بسم الله الرحمن الرحيم
هناك شيء غريب عندما نتحدث عن التوزيعات , واختلافها عن نظام التشغيل , وهو يبدوا كان عمل توزيعه شيء بسيط , ولو نظرة الى لينك لينكس من البدايه وقمت باتباع الخطوات لبناء نظام تشغيل او توزيعه كما تريد ان تسميها , فستجد انها ستاخذ وقت طويل جدا , وهناك سؤال اخر وهو , ما تسمية نظام تشغيل ابل ماكنتوش ؟ , فاذا اخذنا بالاعتبار لمعنى كلمة توزيعه , فهل هذا معناه ان نقول توزيعة ابل ماكنتوش ؟ وهي مبنيه على نواة شبيهات ينكس , وشبيهات ينكس , كانت مصدر ظهور جنو هورد , الذي تحول الى جنو لينكس فيما بعد , وشبيه لنكس اخر والذي تحول الى بي اس دي , وغيرها
انظر اللينكات التاليه من ويكيبيديا
أخي توزيعات لينوكس متوافقة مع بعضها. ونظام كروم مبني على نواة لينوكس لكنه لا يعتبر جزءاً منه وكذلك أندرويد
تسمية نظام لها أسسها يا سيدي العزيز
اول مرة اقرأ عن الموضوع .. ما فهمته من الرابط الذي شاركته ومن هنا
انه عدل على kernel بحيث بعد التهئية يفتح Shell Lisp REPL. دالة uart_repl في هذا الملف
لكود تهيئة ل Shell Lisp REPL
تجده هنا
مترجم Lisp هو قام بكتابته بحيث يقرا الاوامر ويحوها الى كود الة
... ملخص ...
1- تهيئة النواة
2- تنفيذ دالة uart_repl
3- الدالة تقرا كود lisp تحولة الى لغة النظام وبعدها تنفذ الكود
4- تطبع النتيجة
5- العودة الى خطوة 2
هذا ملخص بحثي بعد ساعتين.