هذا هو نظام ملفات افتراضية يقلد Linux. يتم استضافة النظام بواسطة ملف قرص افتراضي. يحاكي قراءة القرص والكتابة مع قراءة الملفات والكتابة دون إشراك السائق الأساسي.
لكتابة نظام ملفات Linux البسيط ، يجب عليك أولاً تصميم إطار أساسي يتضمن inode و block و superblock وتخطيط القرص الظاهري وتخصيص المساحة وغيرها من المعلومات. بداية نظام الملفات عبارة عن مجموعة كبيرة تحتوي على معلومات مهمة حول النظام ، بما في ذلك عدد وحجم inode والكتل. بالنسبة إلى Inode ، يحتاج بشكل عام إلى احتلال واحد في المائة من مساحة القرص ، ولكن هذا نظام صغير يبلغ حجمه إجمالي 5 أمتار فقط ، لذلك هناك مساحة صغيرة جدًا مخصصة لمنطقة Inode ، ومعظم المساحة المتبقية هي منطقة الكتلة.
الخطة الشاملة لنظام الملفات هذا كما يلي: 
نظرًا لأن الوقت قد حان عند كتابة البرنامج ، فقد كتبته لمدة 4 أيام فقط قبل قبوله ، لذلك لم يكن لدى الكود وقت لتحسينه ، وستظهر بعض الأماكن زائدة عن الحاجة ، لذلك لا تفاجأ.
على الرغم من أن الوقت محدود ، إلا أنه ينفذ أيضًا وظيفة محرر VI. الكتابة بسيطة نسبيا والرمز فوضوي للغاية. إذا كان لديك وقت لتحسينه.
بشكل عام ، لا يزال الرمز بحاجة إلى تحسين. مرحبًا بك في تقديم المزيد من الاقتراحات وإيجاد المزيد من الأخطاء.
git clone https://github.com/windcode/os_filesystem.git
انقر نقرًا مزدوجًا فوق ملف mingos.dsw في الدليل ، أو اسحب الملف إلى واجهة VC ++ 6.0.


المستخدم الافتراضي هو الجذر وكلمة المرور هي الجذر








يدير Inode معلومات الملفات والدليل
استخدم طريقة ربط المجموعة لإدارة تخصيص كتل الخمول
توزيع/إعادة تدوير inode