إصدار نظام التشغيل ToaruOS 1.14 ولغة البرمجة Kuroko 1.1

يتوفر إصدار مشروع ToaruOS 1.14، وهو يعمل على تطوير نظام تشغيل يشبه Unix مكتوب من الصفر باستخدام نواة خاصة به، ومحمل التمهيد، ومكتبة C القياسية، ومدير الحزم، ومكونات مساحة المستخدم، وواجهة رسومية مع مدير نوافذ مركب. في مرحلة التطوير الحالية، إمكانيات النظام كافية لتشغيل Python 3 وGCC. كود المشروع مكتوب بلغة C ويتم توزيعه بموجب ترخيص BSD. تم إعداد صورة حية بحجم 14 ميجابايت للتنزيل، والتي يمكن اختبارها في QEMU أو VMware أو VirtualBox.

إصدار نظام التشغيل ToaruOS 1.14 ولغة البرمجة Kuroko 1.1

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

تتضمن الحزمة منفذًا للغة برمجة Python 3.6، والذي يُستخدم في تطوير بعض التطبيقات الرسومية الخاصة بـ ToaruOS، مثل مدير الحزم، ومحرر الرسومات، وعارض PDF، والآلة الحاسبة، والألعاب البسيطة. تشمل برامج الطرف الثالث المنقولة إلى ToaruOS Vim، وGC، وBinutils، وFreeType، وMuPDF، وSDL، وCairo، وDoom، وQuake، وSuper Nintendo emulator، وBochs، وما إلى ذلك.

يعتمد ToaruOS على نواة تستخدم بنية معيارية هجينة تجمع بين إطار عمل متجانس وأدوات لاستخدام الوحدات النمطية القابلة للتحميل، والتي تشكل غالبية برامج تشغيل الأجهزة المتاحة، مثل برامج تشغيل الأقراص (PATA وATAPI)، وأنظمة الملفات EXT2 وISO9660، ومخزن الإطارات المؤقت ولوحات المفاتيح وأجهزة الماوس وبطاقات الشبكة (AMD PCnet FAST وRealtek RTL8139 وIntel PRO/1000) ورقائق الصوت (Intel AC'97)، بالإضافة إلى إضافات VirtualBox لأنظمة الضيوف.

تتضمن الأساسيات التي توفرها النواة سلاسل Unix وTTY ونظام الملفات الظاهري وتعدد مؤشرات الترابط وIPC والذاكرة المشتركة وتعدد المهام والميزات القياسية الأخرى. يتم استخدام ext2 كنظام الملفات. للتفاعل مع النواة، يتم توفير تطبيق pseudo-FS /proc، تم إنشاؤه عن طريق القياس مع Linux.

تتضمن خطط عام 2021 العمل على بنية 64 بت x86-64 (في الوقت الحالي، يتم إنشاء التجميعات فقط لأنظمة 32 بت x86) ودعم الأنظمة متعددة المعالجات (SMP). وتشمل الأهداف الأخرى تحسين التوافق مع مواصفات POSIX في مجال معالجة الإشارات وطرق المزامنة، ورفع مكتبة C القياسية إلى مستوى Newlib، وتنفيذ مترجم لغة C وأدوات التطوير الخاصة بها.

يقوم المشروع أيضًا بتطوير لغة البرمجة الديناميكية الخاصة به، Kuroko، المصممة لتحل محل Python عند تطوير الأدوات المساعدة والتطبيقات المخصصة للنظام. تدعم اللغة تجميع وتفسير الكود الثانوي، ويشبه تركيبها لغة بايثون (يتم وضعها كلهجة مختصرة من بايثون مع تعريف واضح للمتغيرات) ولها تطبيق مضغوط للغاية. يوفر مترجم Bytecode أداة تجميع البيانات المهملة ويدعم تعدد مؤشرات الترابط دون استخدام القفل العام. يمكن تجميع المترجم والمترجم في شكل مكتبة مشتركة صغيرة (حوالي 500 كيلو بايت)، مدمجة مع برامج أخرى وقابلة للتوسيع من خلال واجهة برمجة تطبيقات C. بالإضافة إلى ToaruOS، يمكن استخدام اللغة على Linux وmacOS وWindows وتشغيلها في المتصفحات التي تدعم WebAssembly.

ركز الإصدار الجديد من ToaruOS على تطوير مكتبة C القياسية ولغة البرمجة Kuroko. على سبيل المثال، تمت إضافة الوظائف الرياضية اللازمة للحساب الصحيح لمعلمات الإضاءة في لعبة Quake إلى libc. تم تحسين القدرة على التمهيد في VirtualBox في وضع EFI. تم تقليل حجم صورة ISO باستخدام ضغط صورة قرص ذاكرة الوصول العشوائي.

يضيف الإصدار الجديد من لغة Kuroko 1.1 دعمًا للمزامنة والانتظار، وينفذ تعدد مؤشرات الترابط، ويحسن التوافق مع Python 3، ويدعم تعيينات القيمة المتعددة، ويوسع أدوات معالجات الكتابة في لغة C، ويضيف دعمًا لتعليقات الكتابة للوظائف، ويضيف تم دمج الكلمات الرئيسية "Yield" و"Yield from"، ووحدات os وdis وfileio وtime، وتم تنفيذ طرق جديدة في str وlist وdict وbytes، كما تمت إضافة دعم الترجمة المسبقة إلى bytecode، وتم إضافة الترخيص تم تغييره إلى MIT (في السابق كان هناك مزيج من MIT وISC).

المصدر: opennet.ru

إضافة تعليق