🏗️

🔄 الفاصل الاستراتيجي: التحوّل من البناء الذاتي إلى الأكتاف العملاقة

SYS.TIME17:05 GMT+3 - 2026-07-28
CATEGORYالمعمارية

تاريخ الإنجاز: 2026-07-28 — 17:05 GMT+3

التصنيف: Architecture Refactoring & Library Migration


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

"لا تُعيد اختراع العجلة إذا كان هناك من صنعها بشكل أتقن وأُدقَّق من طرف آلاف المهندسين."


السياق: لماذا التوقف؟

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

في نظام صمّم أصلاً لتحدي المخابرات، هذا غير مقبول.


ما الذي تغيّر؟

1. 🧠 مخصص الذاكرة: من bump-alloc إلى talc

استُبدلت مكتبة bump-alloc المكتوبة يدوياً — والتي كانت تفتقر لآلية تحرير الذاكرة — بـ talc v4، وهو مخصص ذاكرة عالي الأداء مصمم خصيصاً لبيئات no_std الحرجة.

  • المصدر: crates.io/crates/talc
  • السبب: دعم كامل لـ alloc::Vec و alloc::String مع إمكانية تحرير الذاكرة فعلياً.
  • الحاويات المُحدَّثة: init, desktop, net, auth, fs, input_vault, crypto_vault

2. 📦 محلل ELF: من elf-parser إلى xmas-elf

حذفت مكتبة elf-parser المكتوبة من الصفر واستُبدلت بـ xmas-elf v0.9، المكتبة الصفرية التخصيص المُعتمدة في مجتمع تطوير الأنوية.

  • المصدر: crates.io/crates/xmas-elf
  • السبب: تغطية كاملة لمعيار ELF64، بدون أي تخصيص ذاكرة ديناميكي، ومُختبرة في مشاريع Bootloader حقيقية.
  • الملف المُعاد كتابته: containers/init/src/loader/elf_load.rs

3. 🔑 خوارزمية شامير: من libs/shamir إلى منطق مدمج بـ GF(256)

حذفت مكتبة shamir المبنية يدوياً وأُعيدت كتابة منطقها مباشرةً داخل crypto_vault باستخدام حسابات حقل جالوا GF(2^8) المُدمجة — وهو النهج الأكثر خفة والأقل تعقيداً من إصافة تبعية خارجية لخوارزمية بحجمها.

4. 🖥️ نظام الرسومات: من framebuffer+font-render إلى embedded-graphics + profont

ربما كان هذا أضخم التغييرات. مكتبتان مبنيتان من الصفر تُرسمان البكسل واحداً واحداً — حُذفتا وأُعيدت كتابة كل واجهات البرامج الأربعة (calc, editor, files, viewer) وحاوية desktop باستخدام:

وتم بناء جسر مخصص libs/eg-fb يربط بين الـ raw framebuffer لـ seL4 وبين نظام embedded-graphics عبر تنفيذ DrawTarget trait.

5. 🌐 حاوية الشبكة: من tor إلى net

أُعيدت هيكلة حاوية tor المتخصصة لتصبح حاوية net العامة — بوابة الشبكة الوحيدة للنظام — حيث أصبح Tor خياراً للاتصال داخلها، لا هويتها الكاملة. بنية أكثر نضجاً ومرونة.


الحالة بعد كل هذا:

✅ containers/auth        ✅ containers/bus
✅ containers/crypto_vault ✅ containers/desktop
✅ containers/disk        ✅ containers/fs
✅ containers/init        ✅ containers/input_vault
✅ containers/net
✅ programs/calc          ✅ programs/editor
✅ programs/files         ✅ programs/viewer
✅ libs/eg-fb             ✅ libs/talc-alloc
✅ libs/vault-crypto      ✅ libs/ipc-sync
✅ ... وجميع المكتبات الأخرى

٢٦ من ٢٦ crate — صفر أخطاء.


الجانب الثاني من الفاصل: نظام التوثيق

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


⛔ المكتبات المحذوفة
libs/bump-alloc/libs/elf-parser/libs/framebuffer/libs/font-render/libs/shamir/containers/tor/
✨ المكتبات الجديدة والمُضافة
libs/eg-fb/libs/talc-alloc/xmas-elf v0.9embedded-graphics v0.8profont v0.7talc v4