ما هي بعض الموارد من أجل الشروع في نظام التشغيل ؟ [مغلقة]

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

  •  09-06-2019
  •  | 
  •  

سؤال

شيء واحد لطالما أردت القيام به هو تطوير بلدي جدا نظام التشغيل (ليس بالضرورة الهوى مثل لينكس أو ويندوز, ولكن أفضل من بسيط محمل التمهيد الذي قمت به بالفعل).

أواجه صعوبة في العثور على الموارد/الأدلة التي تتخذ لكم في الماضي كتابة بسيطة "مرحبا العالم" نظام التشغيل.

أنا أعرف الكثير من الناس ربما يوصي أنظر لينكس أو BSD;لكن رمز قاعدة نظم مثل الذي (يفترض) كبيرة بحيث لا تعرف من أين تبدأ.

أي اقتراحات ؟

تحديث:لجعله أسهل بالنسبة للأشخاص الذين الأراضي على هذا المنصب من خلال جوجل هنا بعض OS تنمية الموارد:

موارد أخرى:

وجدت لطيفة الموارد اسمه MikeOS, "MikeOS هو أداة تعليمية لشرح كيفية بسيطة أنظمة تشغيل العمل.ويستخدم 16-بت الوضع الحقيقي على BIOS الدخول بحيث أنها لا تحتاج إلى مجمع السائقين"

تحديث 11/14/08

لقد وجدت بعض الموارد في Freebyte دليل...مجانية و غير مجانية أنظمة التشغيل التي تربط مجموعات مثل OSKit و ExOS المكتبة.هذه تبدو مفيدة السوبر في البدء في التشغيل والتنمية.

تحديث 2/23/09

ريك طوكيو أوصت nanoos في هذا السؤال.Nanoos هو نظام التشغيل مكتوب في C++.

تحديث 3/9/09

دينة قدمت بعض المعلومات المفيدة في تجاوز سعة مكدس مناقشة تطمح نظام التشغيل للمطورين: حواجز الطرق في إنشاء مخصص لنظام التشغيل ويناقش ما المزالق التي قد تواجهها أثناء تطوير نظام التشغيل و نظام التشغيل التنمية هو المزيد من المناقشة العامة.

تحديث 7/9/09

رطل قدم رابط Pintos المشروع, تعليم نظام التشغيل مصممة للطلاب التعلم بتطوير نظام التشغيل.

تحديث 7/27/09 (لا يزال قويا!)

أنا تعثرت على على الانترنت نظام التشغيل الحال من بيركلي يضم 23 المحاضرات.

توموس هو مفترق الطرق MikeOS ويشمل ذلك قليلا مدير الذاكرة و دعم الماوس.كما MikeOS ، فإنه يهدف إلى أن يكون مشروع تعليمي.هو مكتوب في NASM المجمع.

تحديث 8/4/09

وجدت الشرائح وغيرها من المواد الذهاب جنبا إلى جنب مع الانترنت بيركلي المحاضرات المذكورة أعلاه.

تحديث 8/23/09

كل الأسئلة الموسومة osdev على ستاكوفيرفلوو

نظام التشغيل/161 هو أكاديمي نظام التشغيل مكتوب في c الذي يعمل على محاكاة الأجهزة.هذا هو نظام التشغيل مماثلة في الناتشوز.شكرا Novelocrat!

tangurena توصي http://en.wikipedia.org/wiki/MicroC/OS-II, وهو نظام التشغيل تم تصميم النظم المضمنة.هناك رفيق الكتاب وكذلك.

تطوير نواة لينكس روبرت الحب هو اقترح أندرس.بل هو "المشهود على نطاق واسع من الداخل نظرة على نواة لينكس."

تحديث 9/18/2009

شكرا تيم S.فان هارين يقول لنا عن الكون, وهو نظام التشغيل مكتوب تماما في c#.

tgiphil يخبرنا عن تمكن نظام التشغيل التحالف (وزارة الشؤون الاجتماعية) الإطار, "مجموعة من الأدوات والمواصفات البرمجية المصدر إلى تعزيز التنمية إدارة نظم التشغيل على أساس مشترك لغة وسيطة."

تحديث 9/24/2009

ستيف وجدت بعض الموارد من أجل التنمية على ويندوز باستخدام Visual Studio, تحقق BrokenThorn دليل الإعداد مع VS 2005 أو OSDev في مقابل القسم.

تحديث 9/5/2012

kerneltrap.org لم يعد متاحا.نواة لينكس v0.01 متاح من kernel.org

تحديث 12/21/2012 الأساسية OS التنمية البرنامج التعليمي صمم ليكون الفصل الدراسي المشروع.ويرشدك من خلال بناء نظام التشغيل مع المكونات الأساسية.بداية جيدة جدا للمبتدئين.ذات الصلة ورقة.شكرا Srujan!

تحديث 11/15/2013

كتابة بسيطة نظام التشغيل من الصفر.شكرا جيمس مور!

تحديث 12/8/2013

كيفية جعل الكمبيوتر نظام التشغيل شكرا ddtoni!

تحديث 3/18/2014

ToAruOS OS بنيت في معظمها من الصفر ، بما في ذلك واجهة المستخدم الرسومية

تحديث سبتمبر 12 2016

الكتابة الخاصة بك لعبة نظام التشغيل

تحديث 10 ديسمبر 2016

كتابة بسيطة نظام التشغيل من الصفر (شكرا لك @تايلر ج)

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

المحلول

هناك الكثير من الروابط بعد هذا لمحة موجزة ما هو المشاركة في كتابة OS X86.

الرابط الذي يظهر أن الواعدة (www.nondot.org/sabre/os/articles) لم تعد متوفرة ، لذلك سوف تحتاج إلى كزة من خلال Archive.org الإصدار إلى قراءتها.

في نهاية اليوم محمل يأخذ رمز الجهاز من نواة يضعها في الذاكرة, و يقفز إلى ذلك.يمكنك وضع أي رمز الجهاز في النواة التي تريدها ، ولكن معظم برامج C نتوقع OS لذلك عليك أن تخبر المترجم أنه لن يكون كل ذلك ، أو ال bootloader أن خلق بعض من ذلك.

النواة ثم يفعل كل رفع الأحمال الثقيلة ، وأظن أنها المثال نواة تريد.ولكن هناك طريق طويل لنقطعه بين وجود نواة تقول "مرحبا العالم" إلى وجود النواة الذي يحمل الأوامر interpretor ، ويوفر خدمات القرص ، الأحمال وإدارة البرامج.

قد ترغب في النظر في الاشتراك في ACM للوصول إلى الأدب السن - هناك الكثير من المواد في أواخر 80 و 90 في وقت مبكر في أوائل الحوسبة المجلات حول كيفية خلق بديل OSs.هناك من المحتمل الكتب التي هي من طبعة من هذا العصر كذلك.كنت قد تكون قادرة على الحصول على نفس المعلومات مجانا من خلال الاطلاع على فهارس المجلات (التي تتوفر على هذا الموقع - انقر فوق "فهرس" بالقرب من مجلة الاسم) ثم يسأل الناس مع نسخة.

وأخيرا أعلم أن كأول ميت (لذلك يقول الأنبياء الإنترنت الموت) ولكن سوف تجد أن العديد من الصخرية القديمة خبراء من تلك الحقبة لا تزال تعيش هناك.يجب البحث في مجموعات google (لديهم dejanews القديمة مستودع) و أتوقع أنك ستجد كثير من الناس يسألون نفس الأسئلة عقد أو 1.5 قبل أن تطلبه الآن.يمكنك حتى تشغيل عبر لينوس تورفلدز العديد من الاستفسارات المساعدة كما انه تم تطوير لينكس أصلا.إذا كان البحث لا تجلب أي شيء تسأل في المناسبة الأخبار (ربما يبدأ مع شركات.القوس, ولكن البحث عن تلك مع نظام التشغيل في الاسم).

نصائح أخرى

Minix هو أصغر كثيرا ، مصممة لأغراض التعلم ، كتاب للذهاب معها هو فكرة جيدة جدا.

تحديث:أعتقد Minix 3 هو جزء من هدف مختلف ، ولكن Minix 2 (وطبعا النسخة الأولى) كانت لأغراض التدريس.

كما شخص الذي كتب في الوقت الحقيقي نظام التشغيل متعددة المهام من الصفر...

لوحة المفاتيح debounce روتين تشغيل لوحة المفاتيح, برنامج تشغيل القرص, برنامج تشغيل فيديو, نظام الملفات, وأخيرا boot-loader - وهذا فقط على إطلاقه للمرة الأولى مع أي شيء للقيام به!

...لا أستطيع أن أؤكد بما فيه الكفاية كم هو مهم للحصول على دراية الأجهزة!لاسيما إذا كنت تريد حقا أن تفعل كل شيء بنفسك بدلا من مجرد التقاط بدائية نظام شخصا آخر قد وضعت بالفعل بالنسبة لك.على سبيل المثال, الاتصال Intel و نطلب منهم للحصول على بطاقة وحدة المعالجة المركزية الخاصة بك نوع من وحدة المعالجة المركزية!هذا وسوف تحدد لك - "دبوس الرافضة", يقطع, opcodes ، سمها ما شئت!

تذكر الأجهزة يجعل كل ذلك ممكنا.دراسة الأجهزة.لن تندم على ذلك.

.

كتابة متحكم نظام التشغيل.أوصي إلى x86 على أساس متحكم.حديث السراج هو فقط ضخمة.تعلم الأساسيات أولا.

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

أيضا هناك بعض الدروس العظيمة في BoneFide, لقد استخدمت الشروع في العمل التعليمي من قبل نخالة, وأنا الآن أبحث في الآونة الأخيرة واحدة على أساس ما لفة الخاص بك لعبة UNIX-استنساخ نظام التشغيل.

لقد الثانية التحقق من:"أنظمة التشغيل :تصميم وتنفيذ"

وإذا كنت ترغب في وضع على النوافذ تحقق jolson بلوق وظيفة.

تحرير:من أجل التنمية على ويندوز باستخدام Visual Studio, تحقق BrokenThorn دليل أو OSDev ويكي.

ممتازة مورد المواد من معهد ماساتشوستس للتكنولوجيا الحال 6.828:نظام التشغيل الهندسة.

XV6 - بسيطة يونكس مثل تعليم نظام التشغيل مكتوب في ANSI C x86 http://pdos.csail.mit.edu/6.828/2012/xv6.html

XV6 مصدر - كما كتيب مطبوع مع أرقام الأسطر http://pdos.csail.mit.edu/6.828/2012/xv6/xv6-rev7.pdf

XV6 كتاب يشرح الأفكار الرئيسية من نظام التشغيل التصميم http://pdos.csail.mit.edu/6.828/2012/xv6/book-rev7.pdf

المواد المدمجة:92 صفحة المصدر 96 صفحات التعليق.

أنا أحب ذلك أكثر من Minix الكتاب!هو جوهرة حقيقية!

قد ترغب أيضا في إلقاء نظرة على SharpOS وهو نظام التشغيل الذي يكتبونه في c#.

هناك موارد جيدة أساسيات نظم التشغيل في الكتب.منذ ليس هناك الكثير من الدعوة إلى إنشاء نظام التشغيل الجديد من الصفر لن تجد طن من الهاوي نوع المعلومات على شبكة الإنترنت.

أوصي النص القياسي كتاب "أنظمة التشغيل الحديثة" من قبل تانينباوم.قد تكون أيضا قادرة على العثور على نظام التشغيل "عناصر" من قبل Calingaert مفيدة - انها رقيقة لمحة عامة عن الكتاب الذي يعطي رسم تقريبي ما OS هو من وجهة نظر المصمم.

إذا كان لديك أي مصلحة في أنظمة الوقت الحقيقي (و على الأقل يجب أن نفهم الخلافات وأسباب الوقت الحقيقي نظام التشغيل) ثم أود أن أوصى أيضا "MicroC/OS-II" قبل Labrosse.

تحرير:

يمكنك تحديد ما تعنيه "التقنية"?هذه الكتب تعطي البرمجية الزائفة تفاصيل التنفيذ ، ولكن هل تبحث عن مثال OS, أو مقتطفات الشفرة على جهاز معين/اللغة ؟

-آدم

فقط قادمة من سؤال آخر.أود أن أذكر Pintos...تذكرت بلدي OS الحال مع الناتشوز و Pintos يبدو أن نفس الشيء يمكن أن تعمل على x86.

وجدت روبرت الحب نواة لينكس التنمية جدا للاهتمام.فإنه يخبرك عن كيفية النظم الفرعية المختلفة في نواة لينكس يعمل في أسفل إلى الأرض الطريق.لأن المصدر هو متاح لينكس هو مرشح رئيس الوزراء عن شيء الإختراق على.

وهنا بعض البعض تجاوز سعة مكدس الصفحات يستحق أن يدرج في هذا النقاش:

حواجز الطرق في إنشاء مخصص لنظام التشغيل
تطوير نظام التشغيل x86 العمارة

بداية التقطيع بعيدا في Minix.انها أصغر بكثير من لينكس (الواضح) و انها مصممة مع التدريس الأغراض في العقل (بعضها على الأقل).لا Minix 3 على الرغم من أن قصة مختلفة.

بالفعل الإجابة, ولكن عندما أخذت أنظمة التشغيل في كلية بدأنا مع مبكرة نواة لينكس وأضاف التبسيط الميزات الحديثة (الأساسية أنظمة ملف الذاكرة الظاهرية, تعدد المهام, mutexes).متعة جيدة.تحصل على تخطي بعض مجنون حقا انخفاض مستوى الجمعية فقط الاشياء التلويث w/ محمية وضع جداول صفحة في حين لا يزال تعلمت بعض من الشجاعة.

http://kerneltrap.org/node/14002 http://kerneltrap.org/files/linux-0.01.tar.bz2

أنظمة التشغيل الحال فى الجامعة كان لنا بناء عدد من النظم الفرعية ل نظام التشغيل/161, بسيطة, BSD-مثل النواة الذي يوفر بعض الأساسيات في حين ترك الحرية لاستكشاف مختلف تصميم الفضاء القرارات في تنفيذ أعلى مستوى الخدمات.

قد ترغب في النظر في linuxfromscratch.

لينكس من الصفر (LFS) هو مشروع الذي يوفر لك خطوة بخطوة تعليمات بناء الخاصة بك مخصص نظام لينكس تماما من التعليمات البرمجية المصدر.

بسيط و التشغيل الأساسي للتنمية البرنامج التعليمي صمم ليكون الفصل الدراسي المشروع.ويرشدك من خلال بناء نظام التشغيل مع المكونات الأساسية.بداية جيدة جدا للمبتدئين.ذات الورق هنا.

وأود أن تشمل هذه الريبو How-to-Make-a-الكمبيوتر-نظام التشغيل بواسطة سامى Pesse.هو التقدم في العمل.مثيرة جدا للاهتمام.

واحدة بسيطة معقولة OS الدراسة µC/OS.الكتاب يحتوي على قرص مرن مع المصدر على ذلك.

http://en.wikipedia.org/wiki/MicroC/OS-II

تحقق من تمكن نظام التشغيل التحالف (وزارة الشؤون الاجتماعية) في المشروع www.mosa-project.org.يتم تصميم AOT/مترجم JIT و إدارتها بشكل كامل من نظام التشغيل في C#.بعض المطورين من غير نشطة SharpOS المشروع.

لقد غازل مع الكون, الذي هو "نظام التشغيل نفذ المشروع تماما في CIL متوافقة اللغات." هو مكتوب في C# ، بحيث كان الحق حتى زقاق بلدي.بالنسبة لشخص مثلي الذين لم تحاول بناء نظام التشغيل ، كان في الواقع بارد جدا لتكون قادرة على الحصول على "مرحبا العالم" نظام التشغيل في أي وقت من الأوقات.

تحقق من هذا الموقع: http://osix.net/modules/article/?id=359

كما ذكر أعلاه ، OSDev ويكي هو (حتى الآن) أفضل مصدر للحصول على نظام التشغيل والتنمية.لأولئك منكم الذين يتحدثون الألمانية ، lowlevel.الاتحاد الأوروبي ويكي هو أيضا كبير.شيء غير معروف نسبيا Incitatus OS, بسيطة نواة صغيرة من userspace التطبيقات.انه لشيء رائع أن تستخدم من أجل الدخول في موضوع معقد من نظام التشغيل والتنمية.

Movitz هو يسب البيئة مكتوب في Common Lisp و تشغيل "على المعدن".للأسف بعض الروابط على Movitz الصفحة الرئيسية رفض الوصول, ولكن يمكنك العثور على تعليمات حول كيفية تحميل ترجمة التعليمات البرمجية المصدر من تراك الصفحة.أيضا, صورة جاهزة ويمكن الاطلاع على أرشيف هذه الصفحة.

IMHO هذا هو قصوى للاهتمام ، كما أنه يعيد Lisp machine مفهوم المتاحة حاليا الأجهزة.فشلت تجاريا ، ولكن هذا لا يثبت لي أن الفكرة كانت سيئة.

Unix الحاقدين دليل هو متعة الكتاب الذي شبه على محمل الجد تصرخ مفهوم Unix و مشتقاته.العديد من أقسام الجدل حول كيفية تحسين يسب آلة المفهوم.

هنا ورقة بعنوان "كتابة بسيطة نظام التشغيل من الصفر".ويغطي كتابة محمل, الدخول إلى x86-32 الوضع المحمي, و كتابة النواة الأساسية في C.يبدو أن القيام بعمل جيد في شرح كل شيء بالتفصيل.

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

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

  1. تحتاج إلى التركيز على الجمعية لغة C و C++.يجب أن تكون خبير في هذه اللغات.
  2. أول قراءة كتاب جيد على كيفية التشغيل يعمل[جوجل] ، ثم قراءة كل المعلومات من ويكي OS
  3. البحث في يوتيوب "كيفية إنشاء الخاصة بك نظام التشغيل في لغة التجميع" مشاهدة الفيديو ، على سبيل المثال.فيديو
  4. تحميل نظام التشغيل لينكس البرمجية المصدر و ترجمة ذلك بنفسك ومحاولة تعديل قانون نفسك
  5. الآن كنت من ذوي الخبرة نظام التشغيل محرر الآن تحميل Minix و QNX والبدء في تطوير معهم والحصول على مستندات من هنا Minix Doc و QNX Doc

الآن كنت قد اكتسبت درجة الماجستير(ليس تماما أكثر قليلا للذهاب) في خلق نظام التشغيل الآن توزيع هذا knownledge إلى أصدقائك و مع مساعدتهم في محاولة لخلق نظام تشغيل قوي مثل ماك, لينكس أو ويندوز

عندما كنت قد قدمت الأساسية لنظام التشغيل انها في الواقع من الصعب أن يستمر لأنه ليس هناك العديد من الموارد على صنع واجهات أو ترقية المكتبات.ولكن أعتقد أن نلقي نظرة على ToAruOS من شأنه أن يساعد كثيرا!

المدونة تحت سطح بأن نظام التشغيل هو جدا بسيط!ولكن في نفس الوقت كان قد استدار أشياء مثل القاهرة ، بيثون ، (ليس بعد ولكن قريبا) sdl, جعلت حصة الذاكرة و قام بنفسه القطعة أدوات.كل شيء مكتوب في C.

آخر للاهتمام نظام التشغيل سيكون pedigreeOS.انها مصنوعة من قبل JamesM (الرجل خلف jamesM هو نواة البرنامج التعليمي.في حين أنه يحتوي على ميزات أكثر ToaruOS هو أيضا أكبر و أكثر مربكة.

ولكن على أي حال هذه 2 نظام التشغيل سوف تساعدك كثيرا خصوصا ToAruOS.

عندما بدأت العمل على نظم التشغيل الأساسية أنا في حاجة إلى دليل أساسي مثل انطلاق الأساسية لنظام التشغيل.لقد ساعدني لا تفقد رأسي.

إذا كنت تريد أن تجعل من لا شيء على الإطلاق (نقية رمز التجميع)

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