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

إنشاء نظام تشغيل

يمكن إنشاء نظام تشغيل (Operating System) عن طريق الخطوات الآتية:

  • تعلُّم لغة البرمجة التي سيتم استخدامها لبرمجة النظام مثل: لغة بيسيك وباسكال وأشهرها لغة سي، ومن المهم استخدام لغة التجميع (ٍAssembly Language) لإنشاء نظام تشغيل؛ وذلك لأنّ بعض الأجزاء وأثناء برمجة نظام التشغيل تتطلب استخدامها، على عكس لغة C التي تحتوي على كلمات مفتاحية (Keywords) كما تحتاج إلى نظام تشغيل كامل البناء لاستخدامها،[١] وقد تمت كتابة أجزاء كبيرة من نظام تشغيل Windows 98 بلغة C .[٢]
  • استخدام مُترجم (Compiler) لترجمة نظام التشغيل المكتوب بلغة سي أو C وذلك بقراءة دليل استخدام اللغة التي تم اختيارها، ويجب أن تكون لدى المُبرمج معرفة شاملة عن المُترجم، كذلك هناك العديد من الأمور التي يجب على المُبرمج إتقانها مثل مخطط التقطيع وواجهة التطبيق الثنائية في لغة C ، ومعرفة الصِّيغ التنفيذية بشكل جيد (ELF, PE, COFF, plain binary)، وأن صيغة (.exe) تخضع لقانون حماية الملكية الفكرية.[١]
  • اختيار نوع الوسائط التي سيتم تحميلها على نظام التشغيل، والتي تشمل محركات الأسطوانات (CD drive) أو (DVD drive) أو الأقراص الصلبة (Hard disk) أو (Flash drive) أو أي جهاز حاسوب آخر.[١]
  • تحديد الفكرة الرئيسة التي سيقوم عليها نظام التشغيل، كنظام (Windows) الذي يعمل على فكرة واجهة استخدام بسيطة وحماية عالية.[١]
  • تحديد واجهة المعالج المناسبة التي سيدعمها نظام التشغيل، ومن أشهر المعالجات في هذا المجال ARM وx86_64 وIA-32 [١]المُطوَّر بِواسطة شركة (Intel) والذي يُستخدم إلى وقتنا الحالي.[٣]
  • اختيار طريقة بِناء نظام التشغيل المناسبة حيث يمكن البدء ببناء نظام تشغيل جديد من الصفر، كذلك يمكن بناء النظام إذا كان هناك نواة (أساس) للبناء عليها[١]، كنظام (Linux) المفتوح المصدر والذي يُعتبر من أهم نظم التشغيل بسبب قابليته للتعديل والتطوير.[٤]
  • تحديد ما إذا كان سيتم استخدام برنامج محّمل إقلاع موجود (pre-created boot-loader) مثل: (GRUB)، أو محمّل الإقلاع الخاص (Own boot-loader) والذي يجب معرفة المكوّنات المادية لجهاز الحاسوب عند استخدامه.[١]
  • تحديد واجهة لبرمجة التطبيقات (API)، ومن أشهر هذة الواجهات واجهة (POSIX) التي تدعم أنظمة Linux بشكل جزئي، وتمتاز بامتلاكها مستندات دعم موثقة جيداً.[١]
  • اختيار طريقة تصميم النظام، وهناك نوعان من التصاميم: أنوية أحادية المهام (Monolithic kernels) والتي تقوم بوضع كل الخدمات في النواة لذلك فهي أسرع، والأنوية المُصغَّرة المهام (Micro kernels) التي تقوم بدمج نواة صغيرة مع المستخدم لتطبيق الخدمات، وتتعامل مع كل خطأ على حدة لذلك فهي الأفضل والأكثر اعتمادية.[١]
  • الاحتفاظ بنسخة احتياطية تجنباً لفقدان النظام في حالة انهيار جهاز الحاسوب أو في حالة اختلال نظام التشغيل الذي يتم تطويره.[١]
  • اختبار نظام التشغيل في بيئة افتراضية بدلاً من إعادة تشغيل جهاز الحاسوب في كل مرة يتم فيها تعديل النظام، ويُمكن استخدام البيئة الإفتراضية لتشغيل النظام مع إبقاء نظام التشغيل الحالي قيد العمل، مثل (VMWare) و(Microsoft Virtual PC) و(Oracle VirtualBox).[١]
  • إصدار نسخة تجريبية للمستخدمين بحيث يتيح ذلك اكتشاف الأخطاء الممكنة وتعديلها، كذلك يفضّل أن يكون نظام التشغيل سهل الاستخدام للمستخدم.[١]
  • عدم حذف القرص الصلب بالكامل، لأنّ ذلك قد يؤدي الى حذف البيانات كاملةً، لذلك يُفضَّل استخدام برنامج محمِّل إقلاع مثل (GRUB) لتشغيل نظام التشغيل الخاص مع أي نظام تشغيل آخر يتم تطويره.[١]
  • التدرّج في العمل والبدء بأشياء صغيرة، كعرض النصوص ثمّ الانتقال الى إدارة الذاكرة وتعدد المهام وهكذا.[١]

تعريف نظام التشغيل

هو عبارة عن برنامج يتحكم ويدير الأجهزة والبرامج الموجودة على جهاز الحاسوب. ويجب أن تحتوي جميع أجهزة الحاسوب والأجهزة التي تشبهها على نظام تشغيل كالهواتف الذكية وأجهزة الحاسوب المحمولة والساعات الذكية والموجهات.[٥]

أمثلة على أنظمة التشغيل

تعمل أجهزة الحاسوب المحمولة واللَّوحية على إصدارات أنظمة تشغيل من أهمها: Microsoft Windows بجميع إصداراته، وApple’s macOS، وChrome OS، وBlackBerry Tablet OS، ونظام التشغيل مفتوح المصدر Linux.[٥]

المراجع

  1. ^ أ ب ت ث ج ح خ د ذ ر ز س ش ص “How to Make a Computer Operating System”, www.wikihow.com, Retrieved 2019-2-23. Edited.
  2. “Computer programming language”, www.britannica.com, Retrieved 2019-2-23. Edited.
  3. “IA-32”, www.computerhope.com,2017-11-10، Retrieved 2019-2-27. Edited.
  4. “Linux OPERATING SYSTEM”, www.britannica.com, Retrieved 2019-2-27. Edited.
  5. ^ أ ب Tim Fisher (2019-2-8), “Operating System”، www.lifewire.com, Retrieved 2019-2-25. Edited.