Skip to content

← العودة لمجلد vfs_server

📄 ملف 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 حتى تجد الملف المطابق.

تم تطويره بحب بواسطة مجتمع Qtoom.