كيفية عمل نظام تشغيل للكمبيوتر (بالصور)

جدول المحتويات:

كيفية عمل نظام تشغيل للكمبيوتر (بالصور)
كيفية عمل نظام تشغيل للكمبيوتر (بالصور)

فيديو: كيفية عمل نظام تشغيل للكمبيوتر (بالصور)

فيديو: كيفية عمل نظام تشغيل للكمبيوتر (بالصور)
فيديو: الحلقة 307: تحويل قائمة إبدأ في ويندوز 8 الى ويندوز 7 2024, يمكن
Anonim

يسمح نظام التشغيل للمستخدم بالتفاعل مع أجهزة الكمبيوتر. يتكون النظام من مئات الآلاف من أسطر التعليمات البرمجية. عادةً ما يتم إنشاء نظام التشغيل باستخدام لغات البرمجة C # و C و C ++ ولغات التجميع. يتيح لك نظام التشغيل تصفح جهاز الكمبيوتر الخاص بك أثناء حفظ الأوامر وتنفيذها. لا تعتقد أن إنشاء نظام تشغيل أمر سهل. يتطلب الكثير من المعرفة لتحقيق ذلك.

خطوة

قم بعمل نظام تشغيل للكمبيوتر الخطوة 1
قم بعمل نظام تشغيل للكمبيوتر الخطوة 1

الخطوة 1. أولاً وقبل كل شيء ، تعرف على البرمجة

لغة التجميع مهمة للغاية ؛ يوصى بشدة أن تتعلم لغة تكميلية أخرى عالية المستوى مثل لغة سي.

قم بعمل نظام تشغيل للكمبيوتر الخطوة 2
قم بعمل نظام تشغيل للكمبيوتر الخطوة 2

الخطوة 2. حدد الوسائط التي تريد استخدامها لتحميل نظام التشغيل

يمكن أن تكون هذه الوسائط محرك أقراص مضغوطة أو محرك أقراص DVD أو محرك أقراص فلاش أو محرك أقراص ثابتة أو قرص مرن أو كمبيوتر شخصي آخر.

قم بعمل نظام تشغيل للكمبيوتر الخطوة 3
قم بعمل نظام تشغيل للكمبيوتر الخطوة 3

الخطوة 3. تحديد الفكرة الأساسية ل SO

على سبيل المثال ، في Windows ، الفكرة الأساسية هي واجهة المستخدم الرسومية سهلة الاستخدام والكثير من الأمان.

قم بعمل نظام تشغيل للكمبيوتر الخطوة 4
قم بعمل نظام تشغيل للكمبيوتر الخطوة 4

الخطوة 4. حدد منصة المعالج التي سيدعمها نظام التشغيل الخاص بك

IA-32 و ARM و x86_64 هي الأنظمة الأساسية الأكثر شيوعًا لأجهزة الكمبيوتر الشخصية. لذلك ، كلهم هم خيارك الأفضل.

قم بعمل نظام تشغيل للكمبيوتر الخطوة 5
قم بعمل نظام تشغيل للكمبيوتر الخطوة 5

الخطوة 5. حدد ما إذا كنت تفضل القيام بكل شيء بنفسك من البداية ، أم أن هناك نواة متاحة بالفعل وتريد البناء عليها

على سبيل المثال ، يعد Linux من البداية مشروعًا للأشخاص الذين يرغبون في إنشاء توزيعة Linux الخاصة بهم.

قم بعمل نظام تشغيل للكمبيوتر الخطوة 6
قم بعمل نظام تشغيل للكمبيوتر الخطوة 6

الخطوة 6. قرر ما إذا كنت ستستخدم محمل الإقلاع الخاص بك أو محمل الإقلاع المصمم مسبقًا مثل Grand Unified Bootloader (GRUB)

سيتطلب ترميز أداة تحميل التشغيل بنفسك معرفة واسعة بالأجهزة ونظام الإدخال والإخراج الأساسي (BIOS). نتيجة لذلك ، قد تعيق هذه الخطوة الجدول الزمني الفعلي لبرمجة kernel.

قم بعمل نظام تشغيل للكمبيوتر الخطوة 7
قم بعمل نظام تشغيل للكمبيوتر الخطوة 7

الخطوة 7. حدد لغة البرمجة التي تريد استخدامها

من الجيد أن يكون لديك نظام تشغيل بلغة مثل Pascal أو BASIC ، ولكن يجب عليك استخدام C أو Assembly. التجميع ضروري للغاية ، لأن بعض الأجزاء المهمة في نظام التشغيل تتطلب ذلك. من ناحية أخرى ، تحتوي لغة C ++ على كلمات رئيسية تتطلب تشغيل SO كامل.

لتجميع نظام تشغيل من كود C أو C ++ ، ستستخدم بالطبع مترجمًا واحدًا أو الآخر. لذلك ، من الجيد الرجوع إلى دليل المستخدم / الدليل / التوثيق لمترجم C / C ++ الذي تختاره ، سواء كان مدرجًا في البرنامج أو متاحًا على موقع الموزع. أنت بحاجة إلى معرفة الكثير من الأشياء المعقدة حول المترجم ، وبالنسبة لتطوير C ++ ، فأنت بحاجة إلى معرفة مخطط إدارة المترجم و ABI الخاص به. من المتوقع أن تفهم التنسيقات القابلة للتنفيذ المختلفة (ELF ، و PE ، و COFF ، والثنائي الأساسي ، وما إلى ذلك) ، وتفهم أن تنسيق Windows الحصري ، PE (.exe) ، محمي بحقوق الطبع والنشر

قم بعمل نظام تشغيل للكمبيوتر الخطوة 8
قم بعمل نظام تشغيل للكمبيوتر الخطوة 8

الخطوة الثامنة. حدد واجهة برمجة التطبيقات الخاصة بك (API)

واجهة برمجة تطبيقات جيدة للاختيار من بينها هي POSIX لأنها موثقة جيدًا. تتمتع جميع أنظمة Unix بدعم جزئي على الأقل لـ POSIX. لذا يجب أن يكون توصيل برامج Unix بنظام التشغيل الخاص بك أمرًا سهلاً.

قم بعمل نظام تشغيل للكمبيوتر الخطوة 9
قم بعمل نظام تشغيل للكمبيوتر الخطوة 9

الخطوة 9. حدد التصميم الخاص بك

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

قم بعمل نظام تشغيل للكمبيوتر الخطوة 10
قم بعمل نظام تشغيل للكمبيوتر الخطوة 10

الخطوة العاشرة: ضع في اعتبارك تطوير فريق والعمل فيه

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

قم بعمل نظام تشغيل للكمبيوتر الخطوة 11
قم بعمل نظام تشغيل للكمبيوتر الخطوة 11

الخطوة 11. لا تمسح القرص الصلب بالكامل

تذكر أن حذف محرك الأقراص سيؤدي إلى محو جميع البيانات الموجودة عليه بشكل لا رجوع فيه! استخدم GRUB أو مدير تمهيد آخر لمضاعفة تمهيد نظامك بنظام تشغيل آخر حتى يعمل نظام التشغيل لديك بشكل كامل.

قم بعمل نظام تشغيل للكمبيوتر الخطوة 12
قم بعمل نظام تشغيل للكمبيوتر الخطوة 12

الخطوة 12. ابدأ بخطوات صغيرة

ابدأ بأشياء صغيرة مثل عرض النص وتوقف مؤقتًا قبل الانتقال إلى أشياء مثل إدارة الذاكرة والعمل المركب. تأكد أيضًا من عمل الإصدارين 32 بت و 64 بت.

قم بعمل نظام تشغيل للكمبيوتر الخطوة 13
قم بعمل نظام تشغيل للكمبيوتر الخطوة 13

الخطوة 13. احتفظ بنسخة احتياطية من آخر كود مصدر عمل

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

قم بعمل نظام تشغيل للكمبيوتر الخطوة 14
قم بعمل نظام تشغيل للكمبيوتر الخطوة 14

الخطوة 14. ضع في اعتبارك اختبار نظام التشغيل الجديد الخاص بك باستخدام جهاز افتراضي

بدلاً من إعادة تشغيل جهاز الكمبيوتر الخاص بك في كل مرة تقوم فيها بإجراء تغييرات أو بعد إرسال الملفات من جهاز الكمبيوتر الخاص بالتطوير إلى جهاز الاختبار الخاص بك ، يمكنك استخدام تطبيق جهاز ظاهري لتشغيل نظام التشغيل الخاص بك أثناء تشغيل نظام التشغيل الحالي. تتضمن تطبيقات VM الحالية: VMWare (الذي يحتوي أيضًا على منتج خادم متاح مجانًا) ، وبدائل مفتوحة المصدر ، و Bochs ، و Microsoft Virtual PC (غير متوافق مع Linux) ، و Oracle VirtualBox.

قم بعمل نظام تشغيل للكمبيوتر الخطوة 15
قم بعمل نظام تشغيل للكمبيوتر الخطوة 15

الخطوة 15. قم بتشغيل "الإصدار المرشح" أو الإصدار التجريبي

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

قم بعمل نظام تشغيل للكمبيوتر الخطوة 16
قم بعمل نظام تشغيل للكمبيوتر الخطوة 16

الخطوة 16. يجب أن يكون نظام التشغيل سهل الاستخدام أيضًا

تأكد من إضافة ميزات سهلة الاستخدام ، واجعلها جزءًا لا يتجزأ من تصميمك.

نصائح

  • تحقق من المآزق المحتملة والأخطاء الأخرى. ستؤثر الأخطاء والمآزق والمشكلات الأخرى على مشروع إنشاء نظام التشغيل الخاص بك.
  • تأكد من تنفيذ ميزات الأمان كأولوية قصوى إذا كنت تريد أن يعمل النظام بشكل صحيح.
  • استخدم مواقع الويب مثل OSDev و OSDever لمساعدتك في تطوير نظام التشغيل الخاص بك. يرجى ملاحظة أنه بالنسبة لمعظم الأغراض ، سيكون مجتمع OSDev.org أكثر من سعيد إذا كنت تستخدم الويكي الخاص بهم ، ولم تنضم إلى المنتدى. إذا قررت الانضمام إلى منتدى ، فهناك شرط مسبق: يجب أن تعرف حقًا لغة C أو C ++ ولغة التجميع x86. يجب عليك أيضًا فهم مفاهيم البرمجة العامة والمعقدة مثل القوائم المرتبطة وقوائم الانتظار وما إلى ذلك. ينص مجتمع OSDev ، في لوائحه ، صراحةً على أن مجتمعه لم يتم إنشاؤه لرعاية مبرمجين جدد.
  • لا تنضم مع منتدى OSDev.org ثم طرح السؤال الواضح. سيُطلب منك قراءة الدليل فقط. اقرأ ويكيبيديا والتعليمات الخاصة بأي معدات تريد استخدامها.
  • إذا كنت تحاول تطوير نظام تشغيل ، فأنت بالتأكيد تعتبر "إله" البرمجة.
  • يجب عليك أيضًا قراءة دليل المعالج الخاص بهندسة المعالج التي حددتها ؛ سواء كانت x86 (Intel) ، ARM ، MIPS ، PPC ، إلخ. من السهل العثور على أدلة معمارية المعالجات باستخدام بحث Google ("دليل Intel" ، "دليل ARM" ، وما إلى ذلك).
  • بمجرد اكتمال جميع أعمال التطوير ، حدد ما إذا كنت تريد تحرير الكود كرمز مفتوح أو بموجب حقوق النشر.
  • لا تبدأ مشروع نظام تشغيل لبدء تعلم البرمجة. إذا كنت لا تعرف من الداخل والخارج عن C أو C ++ أو Pascal أو بعض اللغات المناسبة الأخرى ، بما في ذلك معالجة المؤشر ومعالجة البت منخفضة المستوى وتحويل البت ولغات التجميع المضمنة وما إلى ذلك ، فأنت لست جاهزًا لنظام التشغيل تطوير.
  • قد يكون إنشاء قسم جديد تمامًا "لتوسيع" SO خيارًا جيدًا.
  • إذا كنت تريد طريقة سهلة ، ففكر في توزيعات Linux مثل Fedora Revisor أو Custom Nimble X أو Puppy Remaster أو PCLinuxOS Mk LiveCD أو SUSE Studio و SUSE KIWI. ومع ذلك ، فإن نظام التشغيل الذي تقوم بإنشائه ينتمي إلى الشركة التي بدأت الخدمة أولاً (على الرغم من أنه لديك الحق في توزيعه بحرية ، قم بتعديله وتشغيله كما يحلو لك بموجب GPL).

تحذير

  • لن تحصل على نظام تشغيل كامل خلال أسبوعين. ابدأ بـ SO قابل للتمهيد ، ثم انتقل إلى الأشياء الأكثر برودة.
  • قد تؤدي كتابة نظام التشغيل بلا مبالاة على القرص الصلب إلى إتلافه تمامًا. كن حذرا.
  • إذا فعلت شيئًا غير موصى به ، مثل كتابة وحدات بايت عشوائية على منافذ الإدخال / الإخراج العشوائية ، فسوف تتعطل نظام التشغيل لديك ، ويمكن (من الناحية النظرية) حرق أجهزتك.
  • لا تتوقع أن يكون نظام التشغيل سهل الإنشاء. هناك الكثير من الترابطات المعقدة. على سبيل المثال ، لإنشاء نظام تشغيل قادر على التعامل مع معالجات متعددة ، يجب أن يكون لدى Memory Manager آلية "قفل" لمنع معالجات متعددة من الوصول إلى نفس المورد في نفس الوقت. يتطلب "القفل" المستخدم لهذا الغرض جدولة للتأكد من أن معالج واحد فقط يصل إلى الموارد الهامة في أي وقت ويجب على جميع الآخرين الانتظار. في الواقع ، يعتمد المجدول على وجود مدير الذاكرة. هذا مثال على التبعية في طريق مسدود. لا توجد طريقة معيارية لحل هذا النوع من المشاكل ؛ من المتوقع أن يكون كل مبرمج نظام تشغيل ماهرًا بما يكفي لمعرفة طريقته الخاصة في التعامل معه.

مصادر إضافية

  • إرشادات: Linux From Scratch
  • محمل الإقلاع: GRUB
  • تطبيقات الآلة الافتراضية: Bochs و VM Ware و XM Virtual Box.
  • دليل المعالج: دليل إنتل
  • مواقع تطوير SO: OSDev ، OSDever

موصى به: