مجموعة فرعية من نواة لينكس قابلة للتضمين

مجموعة نواة لينكس المدمجة ( ELKS )، المعروفة سابقًا باسم Linux-8086 ، هي نواة نظام تشغيل شبيهة بنظام لينكس . وهي مجموعة فرعية من نواة لينكس ، مصممة لأجهزة الكمبيوتر ذات 16 بت ذات موارد معالجة وذاكرة محدودة، مثل الأجهزة التي تعمل بمعالج Intel 8086 والمعالجات الدقيقة المتوافقة غير المدعومة من قبل نظام لينكس ذي 32 بت . [ 3 ] [ 4 ]

الميزات والتوافق

برنامج ELKS هو برنامج مجاني ومتاح بموجب رخصة جنو العمومية (GPL). وهو متوافق مع أجهزة الكمبيوتر القديمة ذات معالجات 16 بت (مثل 8086 و 8088 ) والعديد من أجهزة الكمبيوتر ذات معالجات x86 ذات معالجات 32 بت ، مثل أنظمة IBM PC المتوافقة ، بالإضافة إلى طرازات x86 الأحدث في الوضع الحقيقي . ومن المجالات المفيدة الأخرى الحواسيب الصغيرة أحادية اللوحة ، المصممة كأدوات تعليمية لمشاريع " التطوير المنزلي " ( تعديل الأجهزة )، وكذلك أنظمة التحكم المدمجة (مثل أنظمة الأتمتة ). [ 5 ]

كانت الإصدارات الأولى من نظام ELKS تعمل أيضًا على أجهزة المساعد الرقمي الشخصي Psion 3a و3aR SIBO (منظم ستة عشر بت) المزودة بمعالجات NEC V30 ، [ 5 ] [ 6 ] مما يوفر مجال تشغيل آخر محتملًا ( أجهزة إلكترونية ) في حال نقلها إلى هذه المنصة. وقد سُمّي هذا المشروع ELKSibo. [ 7 ] ونظرًا لقلة الاهتمام، أُزيل دعم SIBO من الإصدار 0.4.0.

يمكن تشغيل برامج ELKS الأصلية باستخدام محاكاة Elksemu، مما يسمح باستخدام كود 8086 على نظام Linux-i386. [ 8 ] كما توجد جهود لتوفير مكتبة متوافقة مع معيار Eiffel لنظام ELKS . [ 9 ]

تاريخ

بدأ تطوير نظام لينكس-8086 عام 1995 على يد مطوري نواة لينكس، آلان كوكس وتشاد بيج، كنسخة معدلة من نظام لينكس القياسي. وبحلول أوائل عام 1996، أُعيد تسمية المشروع إلى ELKS (مجموعة فرعية من نواة لينكس القابلة للتضمين)، وفي عام 1997 أُنشئ أول موقع إلكتروني [ 10 ] . وصدرت النسخة 0.0.63 من ELKS في 8 أغسطس من العام نفسه. وفي 22 يونيو 1999، أُتيحت النسخة 0.0.77 من ELKS، وهي أول نسخة قادرة على تشغيل واجهة مستخدم رسومية ( نظام نوافذ Nano-X ). وفي 21 يوليو، تم تشغيل ELKS على جهاز Psion PDA بمعمارية SIBO. وصدرت النسخة 0.0.82 من ELKS في 10 يناير 2000. وبإضافة منفذ SIBO ، أصبحت أول نسخة رسمية تعمل على أجهزة حاسوب أخرى غير قاعدة 8086 الأصلية. وفي 3 مارس من العام نفسه، سُجّل المشروع على موقع SourceForge . [ 11 ]

في 6 يناير 2001، أعلن كوكس أن نظام ELKS "ميتٌ فعليًا". [ 12 ] ومع ذلك، صدر الإصدار 0.0.84 في 17 يونيو 2001، وأضاف شاريلاوس (هاري) كالوغيرو دعم شبكات TCP/IP بعد سبعة أيام، وفي العام نفسه وصل ELKS إلى الإصدار 0.0.90 في 17 نوفمبر. في 20 أبريل 2002، أضاف كالوغيرو إدارة الذاكرة مع إمكانية تبديل الأقراص ، وتلاه بعد تسعة أيام إصدار ELKS 0.1.0، الذي يُعتبر أول إصدار تجريبي . [ 13 ] وبحلول نهاية العام، في 18 ديسمبر، تم إصدار EDE (إصدار توزيعة ELKS، وهو توزيعة مبنية على نواة ELKS)، وكان الإصدار نفسه 0.0.5. [ 14 ] في 6 يناير 2003، صدر الإصدار 0.1.2 من برنامج ELKS، وتلاه تحديث إلى الإصدار 0.1.3 في 3 مايو 2006، وهو أول إصدار رسمي بعد توقف طويل في التطوير. [ 13 ]

كان من المخطط تطوير نظام تشغيل FlightLinux، وهو نظام تشغيل في الوقت الحقيقي للمركبات الفضائية ، ولكن المشروع الذي كان مخصصًا له ( UoSAT-12 ) استقر في النهاية على نظام التشغيل qCF من شركة Quadron بدلاً من ذلك. [ 15 ]

الوضع الحالي والاستخدام

منذ يناير 2012، يخضع نظام ELKS للتطوير مجددًا. نُقل مستودع CVS إلى Git في فبراير 2012، وأُضيفت العديد من التصحيحات من القائمة البريدية Linux-8086 إلى المستودع الجديد. صدرت النسخة 0.1.4 في 19 فبراير 2012، من قِبل جودي بروشون تخليدًا لذكرى رايلي ويليامز، أحد المطورين المشاركين السابقين. تضمنت هذه النسخة صورًا مُحدثة لأقراص مرنة ، وإصلاح أخطاء التجميع في النسخة السابقة، وإزالة الأكواد غير المستخدمة. [ 16 ] في 10 مايو 2012، أضاف جودي بروشون برنامج BusyELKS إلى المستودع في محاولة لاستبدال الملفات الثنائية المستقلة والاستفادة من الكود المشترك (لا يدعم ELKS المكتبات المشتركة ). تحاول الملفات الثنائية المشابهة لبرنامج BusyBox توفير المساحة باستخدام الروابط الرمزية، وإزالة أجزاء الكود الزائدة، ودمج البرامج المنفصلة في ملف ثنائي واحد أكبر. [ 17 ] في 14 نوفمبر 2013، انتقل تطوير المشروع إلى GitHub . [ 18 ] أُضيفت دعم أساسي لشبكة Ethernet ونظام الملفات FAT في عام 2017. [ 19 ]

ساهم أكثر من 35 مطورًا في هذا المشروع منذ انطلاقه عام 1995. وفي مارس 2015، عاد تطوير مشروع ELKS إلى نشاطه، محققًا إنجازًا هامًا بتسجيل 1000 عملية إيداع في شفرة المصدر في 8 مارس 2015. وبحلول يونيو 2018، أُجريت العديد من إصلاحات الأخطاء والتحسينات مع 583 عملية إيداع إضافية، مما أدى إلى إصدار النسخة 0.2.1. وفي مارس 2019، أكمل المشروع انتقاله من مُصرّف BCC القديم إلى مُصرّف GCC-IA16 الأحدث ( مجموعة مُصرّفات GNU - معمارية Intel 16 )، وازداد نشاط التطوير مع تولي غريغوري هير منصب كبير المطورين. وخلال عامي 2019 و2020، انتقل ELKS من حالة "قابلة للتشغيل، غير مستقرة" إلى نظام مستقر شبيه بنظام Linux للأجهزة الصغيرة، مزودًا بتقنيات Ethernet وTCP/IP وFAT16/32 ومنفذ تسلسلي متعدد المستخدمين والعديد من الوظائف الأخرى. [ 20 ] مع إصدار ELKS 0.4.0 في نوفمبر 2020، تجاوز عدد الالتزامات 3000.

استنادًا إلى الأساس الذي وضعته النسخة 0.4.0، استمر نشاط التطوير خلال عام 2021، بقيادة غريغوري هير كمطور رئيسي، بدعم من 5 مساهمين نشطين. قدّم الفريق 220 تعديلًا برمجيًا من أكتوبر 2021 حتى إصدار النسخة 0.5.0 في 8 فبراير 2022. [ 21 ] بعد أربعة أشهر، في 7 يونيو 2022، تم إصدار النسخة 0.6.0، مما شكّل مستوى جديدًا من وتيرة الإصدارات، وأشار إلى مستوى عالٍ جدًا من النشاط. [ 22 ]

الإصدار 0.4.0

مثّل الإصدار 0.4.0 علامة فارقة رئيسية لنظام ELKS، حيث نقل النظام من مرحلة تجريبية إلى مرحلة مفيدة لغير المطورين، وتضمن التحسينات الرئيسية التالية:

  • ويكي التوثيق [ 23 ]
  • تحسينات رئيسية في النواة – الحجم، والاستقرار، والمتانة، والسرعة، واستدعاءات النظام، وميزات تصحيح الأخطاء.
  • حزمة بروتوكولات TCP/IP موثوقة تم تنفيذها كعملية في وضع المستخدم، وتدعم TCP و ICMP و ARP .
  • دعم الشبكات على مستوى المستخدم لبروتوكول telnet /telnetd ونقل الملفات.
  • دعم بروتوكول الإنترنت التسلسلي والإيثرنت (NE1K/ NE2K /WD8003) .
  • العديد من أوامر مستوى المستخدم الجديدة والمحدثة، بما في ذلك أوامر ash و sash shells .
  • العديد من التحسينات في سلسلة أدوات التطوير المتقاطع تدعم المزيد من نماذج الذاكرة، مما يسهل نقل المزيد من التطبيقات.
  • دعم قوي لأنظمة الملفات FAT16 /32 و Minix1 ، بما في ذلك الإقلاع من /root على أنظمة ملفات FAT.
  • تحسين دعم وحدة التحكم والتسلسل : وحدة تحكم تسلسلية، إدخال/إخراج تسلسلي متعدد عالي السرعة.
  • دعم MBR ، وخيارات الإقلاع عبر /bootopts.
  • تم تحديث نظام القوائم للتكوين والبناء على أنظمة Linux و MacOS، مما يسمح لغير المطورين بإنشاء صور مخصصة للأقراص المرنة التي تتراوح سعتها من 360 كيلوبايت إلى 2.88 ميجابايت.

الإصدار 0.5.0

شكّل الإصدار 0.5.0 علامة فارقة أخرى لبرنامج ELKS، حيث تضمن عددًا من التحسينات والإضافات الهامة، بالإضافة إلى دعم منصتين جديدتين هما جهاز الكمبيوتر الياباني PC-98 و 80186/80188 . وشملت التحسينات ما يلي: [ 24 ]

  • أدوات تصحيح أخطاء النواة والشبكة، وتحسينات سلسلة الأدوات ، وعمليات تنظيف لتسهيل النقل إلى منصات جديدة
  • تحسينات في استقرار وأداء حزمة الشبكة
  • برامج ftp/ftpd الأصلية، وتوسيع دعم بروتوكولات مستوى تطبيق الشبكة ليشمل telnet و ftp و http و tcp الخام ( netcat )
  • تحسين إعدادات وقت التشغيل عبر ملف الإعدادات /bootopts،
  • يدعم نظام XMS أنظمة 386 و 286 ، مما يتيح استخدام مخازن مؤقتة عالية للذاكرة.
  • برنامج تشغيل SSD جديد
  • دعم الملفات التنفيذية المضغوطة [ 25 ]
  • دعم بيئات الذاكرة المنخفضة جدًا (256 كيلوبايت)
  • تحسينات على المكتبة واستدعاءات النظام
  • دعم النواة لأحجام القطاعات المتغيرة ( لمنصة PC-98 )
  • ملفات تهيئة بدء التشغيل الجديدة للشبكات والتخزين الضخم
  • تحسين دعم الشبكات عند التشغيل في QEMU

ابتداءً من الإصدار 0.5.0، أصبح ELKS نظام لينكس صغيرًا متكاملًا، يُستخدم لاختبار وتشخيص وتشغيل أجهزة الكمبيوتر القديمة ذات الموارد المحدودة. وقد ساهمت قابليته المحسّنة للتنقل، والتي تجلّت في إضافة منصات جديدة، في زيادة وتيرة التطوير نحو الإصدار التالي.

الإصدار 0.6.0

صدر الإصدار 0.6.0 في 7 يونيو 2022، مُرسياً بذلك مستوىً جديداً لنظام ELKS، كما يتضح من دورة الإصدار الأقصر بكثير من المعتاد. وقد أدى التطور السريع للنظام وتحسينه، إلى جانب موثوقيته وسهولة استخدامه المكتسبة حديثاً، إلى زيادة الطلب على "إصدارات مُحدثة مُجمّعة" من قِبل المستخدمين الجدد.

تضمنت النسخة 0.6.0 العديد من التحسينات والتطويرات على مستوى النظام والتطبيق. وشملت الإضافات الجديدة ما يلي: [ 22 ]

  • مترجم لغة BASIC مع برامج تجريبية
  • صفحات الدليل
  • دعم موسع للمنصات الجديدة - PC98 و 80186/80188 ، ولا سيما دعم محركات الأقراص SCSI و IDE لمنصة PC98
  • إصلاحات/تحسينات على مستوى النواة والمكتبات والشبكات
  • أوامر جديدة، مثل tar و man و compress

تم تسليم 200 عملية إيداع من قبل الفريق بين الإصدارين 0.5.0 و 0.6.0، وأكثر من نصفها من قبل غريغوري هير.

الإصدار 0.7.0

تم إصداره في 3 أغسطس 2023. [ 26 ]

انظر أيضاً

مراجع

  1. "الإصدار 0.9.1" . 6 مايو 2026. تم الاطلاع عليه في 6 مايو 2026 .
  2. "ملف الترخيص على جيت هاب" . جيت هاب .
  3. بناء أنظمة لينكس المدمجة . كريم يغمور ( الطبعة الثانية). سيباستوبول [كاليفورنيا]: أورايلي ميديا. 2008. ص 7. ISBN   978-0-596-52968-0. OCLC 273049576 . {{cite book}}صيانة CS1: أخرى ( رابط )
  4. دانيش، أرمان (2006). إتقان لينكس™ . مايكل جانغ ( الطبعة الثانية). هوبوكين: جون وايلي وأولاده. ص 904. ISBN   978-0-7821-5277-7. OCLC 437171498 . 
  5. 1 2 مقدمة إلى ELKS
  6. "معلومات عن فرط نمو البكتيريا في الأمعاء الدقيقة" . مؤرشف من الأصل في 21 أكتوبر 2001. تم الاطلاع عليه في 2 مارس 2014 .{{cite web}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط )
  7. "معلومات عن ELKSibo" . مؤرشف من الأصل في 27 مارس 2005. تم الاطلاع عليه في 2 مارس 2014 .{{cite web}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط )
  8. صفحة دليل Elksemu
  9. تنفيذ مكتبة ELKS Eiffel
  10. "صفحات ELKS" . مؤرشفة من الأصل في 24 سبتمبر 2001. تم الاطلاع عليها في 16 نوفمبر 2006 .)
  11. elks.sourceforge.net
  12. 6 يناير 2001، "تحديث الحالة بقلم آلان كوكس" . مؤرشف من الأصل في 20 سبتمبر 2001. تم الاطلاع عليه بتاريخ 16 نوفمبر 2006 .{{cite web}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط )
  13. ١ ٢ "معلومات الإصدارات السابقة، على سبيل المثال حول ELKS 0.1.0، الإصدار التجريبي الأول" . مؤرشف من الأصل بتاريخ ١٦ مارس ٢٠١٤. تم الاطلاع عليه بتاريخ ٢ مارس ٢٠١٤ .
  14. إعلان إصدار EDE 0.0.5
  15. لينكس-8086: لينكس الطيران
  16. "إصدار ELKS 0.1.4" . مؤرشف من الأصل بتاريخ 21-02-2012 . تم الاطلاع عليه بتاريخ 19-02-2012 .
  17. مقدمة BusyELKS
  18. معلومات حول انتقال ELKS إلى GitHub
  19. "نظام ELKS يدعم الآن تقنية الإيثرنت - لينكس لمعالج 8086" . www.spinics.net . تاريخ الاطلاع: 25 يونيو 2018 .
  20. "تاريخ إصدارات ELKS v0.4.0 التجريبية وقائمة المساهمين · العدد رقم 873 · ghaerr/elks" . GitHub . تم الاطلاع عليه بتاريخ 9 أبريل 2021 .
  21. "إصدار ELKS v0.5.0 · ghaerr/elks" . GitHub . تم الاطلاع عليه بتاريخ 2022-02-09 .
  22. 1 2 "إصدار ELKS v0.6.0 · ghaerr/elks" . GitHub . تم الاطلاع عليه بتاريخ 17-06-2022 .
  23. "ويكي ELKS" . GitHub . تم الاسترجاع في 2021-04-09 .
  24. "إصدار ELKS v0.5.0 · ghaerr/elks" . GitHub . تم الاطلاع عليه بتاريخ 2022-02-09 .
  25. " [ kernel ] تنفيذ الملفات التنفيذية المضغوطة في ELKS بواسطة ghaerr · طلب سحب رقم 912 · ghaerr/elks" . GitHub . تم الاسترجاع في 10 أبريل 2021 .
  26. ELKS الإصدار 0.7.0