💽 disk
نظرة عامة
حاوية Disk_Vault هي مشغل التخزين منخفض المستوى (Block Storage Driver) في النظام. وظيفتها الوحيدة هي التعامل المباشر مع عتاد القرص الصلب (Hard Disk) وتوفير واجهة قراءة/كتابة قطاعات (Sectors) لباقي الحاويات (تحديداً FS_Vault).
مبدأ العمل المعماري:
- مشغل ATA PIO: تستخدم بروتوكول ATA Programmed Input/Output (PIO) مع عنونة LBA28 للتعامل مع القرص. هذا بروتوكول مدعوم عالمياً ويعمل بكفاءة عالية للنظم المدمجة.
- الوصول للعتاد: تمتلك تفويضاً من
initللوصول المباشر إلى منافذ الإدخال/الإخراج للقرص (0x1F0-0x3F6). - الذاكرة المشتركة (Zero-Copy): لنقل البيانات بفاعلية، لا تمرر القطاعات (512 بايت) عبر رسائل IPC، بل تستخدم صفحة ذاكرة مشتركة (Shared Memory) في العنوان
0x600000. هذا نفس العنوان الذي تستخدمهFS_Vault، مما يحقق مبدأ الـ Zero-Copy. - عزل تام: لا تفهم هذه الحاوية مفهوم "الملفات" أو "المجلدات"، بل تفهم فقط "اقرأ القطاع رقم X" أو "اكتب القطاع رقم Y". نظام الملفات بالكامل يُدار بواسطة
FS_Vault.
الملفات البرمجية
init/src/disk_setup.rs
المسار: containers/init/src/disk_setup.rs
src/main.rs
المسار: containers/disk/src/main.rs
