📄 ملف ramfs.rs (نظام ملفات الذاكرة)
نظام ملفات مدمج وثابت وقت الترجمة (Read-Only) يعمل دون الحاجة لقرص صلب أو تعريفات تخزين، هدفه السماح للنظام بالإقلاع السريع وتوفير الإعدادات الأساسية.
1. الشجرة الافتراضية
تم تعريف شجرة المجلدات يدوياً كبيانات ثابتة (Static Data) في قسم الـ rodata في الذاكرة:
rust
static FILES_ETC: [RamFile; 2] = [
RamFile { name: b"hostname", data: b"dijlah\n" },
RamFile { name: b"os-release", data: b"NAME=QOS\nVERSION=0.1-phase2\nID=dijlah\n" },
];
pub static ROOT: RamDir = RamDir {
name: b"/",
files: &[],
subdirs: &ROOT_SUBDIRS,
};هذا يعني أن ملفات مثل /etc/hostname متوفرة بمجرد اشتغال النواة مباشرة وبلا أي تأخير.
2. خوارزمية البحث (Path Parsing)
يحتوي الملف على دالة lookup_file التي تأخذ مساراً مثل /etc/hostname وتقوم بتحليله بكسره عند علامة /، ثم تبحث بالتدريج داخل الشجرة بدءاً من الجذر ROOT حتى تجد الملف المطابق.