كيفية برمجة أنظمة التشغيل الخاصة بك (OS)

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


لا توجد بالفعل أي مجالات تطوير أكثر صعوبة من تطوير أنظمة التشغيل. إنها “قمة البرمجة”.

يحاول عدد قليل من المبرمجين إنشاء نظام تشغيل والعديد من أولئك الذين يقومون بالمحاولة لا ينتجون نظامًا فعالًا.

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

ما هو نظام التشغيل?

لا تحتوي أجهزة الكمبيوتر الأقدم على أنظمة تشغيل.

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

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

واستجابة لذلك ، بدأ أصحاب أجهزة الكمبيوتر المركزية الفردية في تطوير برامج النظام التي سهلت كتابة البرامج وتشغيلها وأنشئت أنظمة التشغيل.

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

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

تاريخ موجز لأنظمة التشغيل

تم إنشاء أول نظام تشغيل من قبل شركة جنرال موتورز في عام 1956 لتشغيل جهاز حاسب مركزي IBM واحد. وحذو حذو أصحاب حاسب آي بي إم الآخرين حذوهم وأنشأوا أنظمة التشغيل الخاصة بهم.

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

في الستينيات ، كانت شركة آي بي إم أول شركة تصنيع أجهزة كمبيوتر تتولى مهمة تطوير أنظمة التشغيل وبدأت في توزيع أنظمة التشغيل على أجهزة الكمبيوتر الخاصة بهم..

ومع ذلك ، لم تكن IBM هي المورد الوحيد الذي أنشأ أنظمة التشغيل خلال هذا الوقت. أصدرت شركة Control Data Corporation و Computer Science Corporation و Burroughs Corporation و GE و Digital Equipment Corporation و Xerox جميع أنظمة التشغيل المركزية في الستينيات أيضًا.

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

العديد من أنظمة التشغيل الحديثة ، بما في ذلك Apple OS X وجميع نكهات Linux ، تعود جذورها إلى Unix.

تم تطوير Microsoft Windows استجابة لطلب من IBM لنظام تشغيل لتشغيل مجموعة أجهزة الكمبيوتر الشخصية الخاصة به.

لم يكن أول نظام تشغيل تم بناؤه بواسطة Microsoft يسمى Windows ، بل كان يسمى MS-DOS وتم إنشاؤه في عام 1981 عن طريق شراء نظام التشغيل 86-DOS من Seattle Computer Products وتعديله ليلبي متطلبات IBM.

تم استخدام اسم Windows لأول مرة في عام 1985 عندما تم إنشاء واجهة مستخدم رسومية وإقرانها بـ MS-DOS.

Apple OS X و Microsoft Windows والأشكال المختلفة من Linux (بما في ذلك Android) تسيطر الآن على الغالبية العظمى من سوق أنظمة التشغيل الحديثة.

أجزاء نظام التشغيل

تتكون أنظمة التشغيل من جزأين رئيسيين:

  • النواة ؛
  • برامج النظام.

ال نواة هو قلب نظام التشغيل. إنه أول برنامج يتم تحميله عند بدء تشغيل الكمبيوتر ، ويدير موارد الكمبيوتر ، ويعالج الطلبات من برامج النظام والتطبيقات.

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

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

ما تحتاج إلى معرفته

قائمة الأشياء التي تحتاج إلى معرفتها قبل محاولتك تطوير نظام التشغيل طويلة جدًا. أهم ثلاثة أشياء تحتاج إلى إتقانها قبل الانتقال إلى تطوير نظام التشغيل هي:

  • المعرفة الأساسية بعلوم الكمبيوتر ؛
  • نظرية برمجة الكمبيوتر وأفضل الممارسات ؛
  • لغات برمجة منخفضة المستوى وعالية المستوى.

تعلم علوم الكمبيوتر

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

إليك بعض الموارد لتبدأ بها:

Coursera: علوم الحاسب 101 هي الدورة التي يجب أن تأخذها أولاً إذا كنت جديدًا تمامًا في مجال برمجة الكمبيوتر وعلوم الكمبيوتر.

إذا كان لديك القليل من المعرفة والخبرة تحت حزامك ، فتخط هذه الدورة لصالح Udacity لخيارات edX. ومع ذلك ، إذا كنت جديدًا تمامًا في هذا المجال ، فإن هذه الدورة التدريبية تأخذ نهجًا لا خبرة سابقة فيه لإدخال علوم الكمبيوتر ومواضيع البرمجة.

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

edX: مقدمة في علوم الكمبيوتر هي الدورة الأكثر اكتمالا وتعمقا في علوم الكمبيوتر في هذه القائمة. تم تصميم هذه الدورة المجانية والسريعة من قبل جامعة هارفارد وتعكس المحتوى المقدم في الدورة بنفس الاسم المقدم في حرم جامعة هارفارد.

ستتعرف في هذه الدورة بعيدة المدى على الخوارزميات وهياكل البيانات وإدارة الموارد وهندسة البرمجيات وإلقاء نظرة على لغات البرمجة مثل C و PHP و JavaScript.

تعلم برمجة الكمبيوتر

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

Udacity: عملية تطوير البرمجيات هي دورة ممتازة يجب على الجميع اتباعها إذا لم يسبق لهم أن قاموا بمشروع برمجة صعب على نطاق واسع من قبل. ستتعلم في هذه الدورة أدوات وتقنيات سير العمل والإدارة مثل Git وكيفية إعداد بيئة تطوير متكاملة.

تعلم لغات البرمجة

من أجل تطوير نظام تشغيل ، ستحتاج إلى إتقان لغتين برمجة على الأقل:

  • لغة تجميع منخفضة المستوى ؛
  • لغة برمجة عالية المستوى.

تُستخدم لغات التجميع للتواصل مباشرة مع وحدة المعالجة المركزية. يتكلم كل نوع من أنواع وحدة المعالجة المركزية لغة الآلة ولا توجد سوى لغة تجميع واحدة مقابلة لكل نوع من أنواع وحدة المعالجة المركزية. إن بنية الكمبيوتر الأكثر شيوعًا هي x86 ، وقد تم تطويرها في الأصل بواسطة Intel ويتم استخدامها الآن من قبل مجموعة واسعة من الشركات المصنعة لشرائح الكمبيوتر بما في ذلك AMD و VIA وغيرها الكثير. في هذا الدليل ، سنوجهك في اتجاه تعلم لغة التجميع x86.

تعمل لغات البرمجة عالية المستوى مع بنى كمبيوتر متعددة. لغة C هي لغة البرمجة الأكثر استخدامًا والموصى بها لكتابة أنظمة التشغيل. لهذا السبب ، سنوصي بالتعلم واستخدام C لتطوير نظام التشغيل. ومع ذلك ، يمكن أيضًا استخدام لغات أخرى مثل C ++ و Python.

x86 لغة التجميع

ال x86 دليل التجميع مكان رائع لبدء تعلم لغة التجميع. يقدم هذا المستند القصير نظرة عامة موجزة عن لغة التجميع x86 وسيهيئ المسرح للموارد الأكثر تقدمًا التي ستنتقل إليها إلى التالي.

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

فن لغة التجميع بقلم راندي هايد هو نص مبدع آخر في عالم تعليم لغة التجميع. تم كتابة النص في الأصل خصيصًا لدورات البرمجة الخاصة بـ Hyde في Cal Poly و UC Riverside ، وتم إصدار النص باعتباره كتابًا إلكترونيًا بتنسيق HTML في منتصف التسعينات ويتم التعرف عليه على أنه عمل محدد داخل هذا المجال. تتم استضافة النص أيضًا كسلسلة من ملفات PDF بواسطة مجموعة Yale FLINT Group.

إذا كنت ترغب في استخدام كتاب مدرسي تقليدي للتعرف على لغة التجميع x86 ، فإن اثنين من النصوص الأكثر استخدامًا والموصى بها بشدة هما:

  • لغة التجميع خطوة بخطوة: البرمجة باستخدام Linux بواسطة Jeff Duntemann ؛
  • برمجة لغة التجميع X86 الحديثة بواسطة دانيال كوسورم.

ج

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

احصل على نظرة عامة سريعة على لغة البرمجة C من خلال إكمال ذلك البرنامج التعليمي C. لن يحولك هذا المورد إلى خبير ، ولكنه سيمنحك فهمًا أساسيًا جيدًا للغة ويهيئك للتعامل مع الموضوعات والموارد الأكثر تحديًا.

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

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

  • لغة البرمجة C بواسطة Kernighan و Ritchie ؛
  • C دليل المطلق للمبتدئين بقلم بيري وميلر.

دروس تطوير نظام التشغيل

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

لينكس من الصفر سيرشدك خلال عملية بناء نظام تشغيل لينكس كامل. لن ينتج هذا البرنامج التعليمي تمامًا نظام تشغيل كامل ، ولكنه سيمنحك أساسًا قويًا من التعليمات البرمجية لإنشاء نظام تشغيل كامل. معالجة البرامج التعليمية المتقدمة مثل Beyond Linux من Scratch أو Automated Linux من Scratch أو Cross Linux من Scratch أو Linux المتصلب من Scratch لبناء نظام التشغيل الأساسي الخاص بك إلى برنامج مفيد.

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

سلسلة تطوير أنظمة التشغيل من Broken Thorn Entertainment عبارة عن سلسلة من 25 برنامجًا تعليميًا يرشدك خلال عملية إنشاء نظام تشغيل من الألف إلى الياء. احذر من المبتدئين: تفترض هذه السلسلة أنك تعرف بالفعل طريقك حول IDE وأنك مبرمج لغة لغة C.

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

  • أنظمة التشغيل الحديثة بواسطة تانينباوم وبوس ؛
  • تصميم نظام التشغيل UNIX من قبل موريس باخ ؛
  • مفاهيم نظام التشغيل من قبل Silberschatz ، Galvin ، و Gagne.

مجتمعات تطوير أنظمة التشغيل

بينما تشرع في رحلة لتصبح مطورًا لنظام التشغيل ، هناك عدد قليل من الأماكن حيث يمكنك العثور على مطوري أنظمة تشغيل آخرين للتعلم منهم والتفاعل معهم:

  • OSDev.org هو موقع ويكي به قدر كبير من المعلومات حول تطوير نظام التشغيل بالإضافة إلى منتدى حيث يمكنك الالتقاء والحصول على تعليقات من المبرمجين الآخرين ذوي التفكير المماثل.
  • قناة تطوير نظام التشغيل على reddit هي مجتمع رائع حيث يمكنك التعرف على تطوير نظام التشغيل والاستمتاع بلحظة من الراحة عندما تصبح مهمة تطوير نظام التشغيل صعبة بعض الشيء.
  • علوم الكمبيوتر والمبرمجون و StackOverflow من StackExchange هي أماكن يمكنك طرح أسئلة فنية على المبرمجين الآخرين عندما تواجه مشكلة لا يبدو أنها تكتشفها بنفسك.

ملخص

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

الخطوات التالية – هل تبحث عن مضيف ويب؟ انظر دليلنا لاستضافة المواقع & مضيفينا الموصى بهم.

انظر أيضًا أدلةنا الأخرى حول لغات البرمجة.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map