
إن أنظمة التشغيل الحديثة في العالم الحقيقي معقدة للغاية بحيث لا يمكن تعليمها للطلاب الجامعيين وأنظمة التشغيل التعليمية الأخرى ليست كاملة وقابلة للاستخدام ولا تعمل على أجهزة حقيقية. من خلال تزويد الطلاب بنظام تشغيل عمل غير معقد للعب معه ، سيكونون قادرين على تقدير وفهم المفاهيم الكامنة وراء نظام التشغيل بشكل أعمق.
وبالتالي ، يهدف هذا المشروع إلى تطوير نظام تشغيل تعليمي بسيط ولكنه تشغيلي لتدريس دورات أنظمة التشغيل الجامعية. ICS-OS هي شوكة من Dex-OS من قبل جوزيف دايو.
أحدث صورة مرنة: ICS-OS-floppy.img
اختبار الصورة المرنة في QEMU.
$qemu-system-i386 -fda ics-os-floppy.img
Ubuntu 16.04 64 بت هي آخر بيئة بناء العمل تم اختبارها. يمكن استخدام VirtualBox لتشغيل هذا الإصدار من Ubuntu. ومع ذلك ، فإن Docker هي بيئة الإنشاء الموصى بها لأن إصدارات جديدة من Ubuntu لم تعد تعمل بعد الآن.
ICS-OS هو نظام تشغيل 32 بت ويتطلب بيئة بناء 32 بت. تحتاج إلى تثبيت Docker و Docker-Cormpose لإنشاء kernel ICS-OS وتطبيقات المستخدم.
قم بتشغيل الأمر التالي للدخول إلى بيئة البناء:
$docker-compose run ics-os-build
أو إذا كنت تستخدم المكون الإضافي Docker-Cormin:
$docker compose run ics-os-build
سيتم إسقاطك إلى قذيفة حيث يمكنك إجراء البناء. يتم تعيين مجلد ICS-OS داخل الحاوية. وبالتالي ، يمكنك إجراء التعديلات خارج الحاوية (في محطة أخرى) وسوف تنعكس التغييرات داخل بيئة البناء.
#cd /home/ics-os
#make clean
#make
#exit
اصنع الصورة المرنة ثم التمهيد.
$sudo make floppy
$make boot-floppy
بدلاً من ذلك ، يمكنك تشغيل الصورة المرنة مباشرة باستخدام QEMU.
$qemu-system-i386 -fda ics-os-floppy.img
انظر LAB 01 للحصول على مناقشة أكثر اكتمالا حول كيفية إعداد بيئة البناء.
يتم استخدام هذا المشروع في معهد علوم الكمبيوتر ، جامعة الفلبين لوس بانوس لـ CMSC 125. يتم الاحتفاظ بها من قبل مجموعة أبحاث الأنظمة.
ابدأ من خلال قراءة دليل مطور kernel.
لا تنس التحقق من الويكي.
يمكنك طرح الأسئلة عن طريق تقديم مشكلة.
إذا وجدت مورده مفيدًا في بحثك أو تدريسك ، فيرجى الاستشهاد بالورقة.
جاك هيرموسيلا. ICS-OS: نهج برمجة kernel لتدريس مفاهيم نظام التشغيل. مجلة تكنولوجيا المعلومات الفلبينية ، 2 (2): 25-30 ، 2009.
يمكنك أيضًا استخدام إدخال Bibtex التالي.
@article{hermocilla-ics-os-pitj2009,
author = {Hermocilla, J. A. C.},
title = {ICS-OS: A Kernel Programming Approach to Teaching Operating System Concepts},
journal = {Philippine Information Technology Journal},
volume = {2},
number = {2},
year = {2009},
issn = {2012-0761},
pages = {25--30},
publisher = {Philippine Society of Information Technology Educators and Computing Society of the Philippines },
address = {Philippines},
pdf = {https://jachermocilla.org/publications/hermocilla-pitj2009-ics-os.pdf}
}