نظام الملفات الممتد الرابع (Fourth Extended Filesystem) اختصارا EXT4 إ أكس تي 4 من أهم ميزاته الجديدة انه يدعم صحائف نظام الملفات Filesystem Journaling من أجل نظام تشغيل لينكس. وقد طور ليكون خلفًا لنظام ملفات إكس تي 3.
ext4 | |
---|---|
مُطوِر | Mingming Cao, Andreas Dilger, Alex Zhuravlev (Tomas), Dave Kleikamp,Theodore Ts'o, Eric Sandeen, Sam Naghshineh وغيرهم. |
الاسم الكامل | (Extended file system 4) |
اولج | 12 أكتوبر 2008 (لينكس النواة 2.6.28) (لينكس 2.6.28, 2.6.19) |
رمز التقسيم | 0x83 (في سجل الإقلاع الرئيسي MBR) Basic Data Partition EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (جدول التقسيم ذو المعرفات الفريدة الشامل GPT) |
البنية | |
Directory contents | Linked list, hashed B-tree |
حجز الملفات | Extents/Bitmap |
الأقسام التالفة | Table |
المحدودية | |
أكبر حجم للملف الواحد | 16 تيبي بايت TiB |
أطول اسم ملف مسموح | 255 بايت (حرفًا) |
أكبر حجم للقرص | 1 اكسبي بايت EiB |
الأحرف المتاحة في اسم الملف | أي بايت ما عدا NULL و '/' |
المميزات | |
تسجيل التاريخ | التعديل (mtime)، وتعديل الصفات (ctime)، والوصول (atime)، والحذف (dtime)، والإنشاء (crtime). |
مجال التاريخ | من 14 ديسمبر 1901 إلى 25 أبريل 2514 |
الانشقاقات | نعم |
Attributes | acl, bh, bsddf, commit=nrsec, data=journal, data=ordered, data=writeback, delalloc, extents, journal_dev, mballoc, minixdf, noacl, nobh, nodelalloc,noextents, nomballoc, nouser_xattr, oldalloc, Orlov block allocator (orlov) , user_xattr |
تصاريح نظام الملفات | بوزيكس |
ضغط شفاف | لا |
الترميز الشفاف | لا |
أنظمة الملفات المدعومة | لينكس، وويندوز (باستخدام ext2fsd) |
نبذة تاريخة
لقد ولد هذا النظام كسلسلة امتدادات لنظام ملفات الأقدم إكس تي 3 , وقد طورت كثيرًا من هذه الامتدادات شركة تسمى Cluster File Systems لنظام الملفات المسمى Lustre (file system) بين عامي 2003 و 2006 , وقد قُصِد بهذه التطويرات توسيع حدود التخزين وإضافة بعض تحسينات الأداء .[1] رغم ذلك، عارض مطورو نواة لينكس الآخرين إضافة هذه التعديلات بسبب عدم استقرار النواة [2] , واقترحوا تفريع الشيفرة المصدرية Fork لنظام الملفات إكس تي 3 تحت مشروعٍ جديدٍ باسم اكس تي 4 ووضع كل التطويرات الجديدة هناك، دون أن يتأثر مستخدمو إكس تي 3 القُدامَى، وقد قوبل هذا الاقتراح بالقبول، وفي 28 يونية 2006 أعلن Theodore Ts'o مطور إكس تي 3 عن خطة تطوير إكس تي 4 الجديدة. بعد تطوير الإصدار التمهيدي لاكس تي 4 تم تضمينه مع نواة لينكس ذات الإصدار 2.6.19. ,[3] وفي 11 أكتوبر 2008 دُمِجت الشيفرات المكملة (Patches) التي جعلت نظام الملفات اكس تي 4 مستقرا مع الشفرة المصدرية (source code ) الخاصة بنواة لينكس ذات الإصدار 2.6.28 في مستودعات تطوير نواة لينكس (repositories) ,[4] واضعةً بذلك نهاية مرحلة التطوير، وبداية مرحلة تبني اكس تي 4 . وقد أصدرت نواة لينكس الإصدار 2.6.28 وهي تحتوي على نظام ملفات اكس تي 4 في 25 ديسمبر 2008 ,[5] وفي 15 يناير 2010 أعلنت شركة غوغل عن ترقية نظام ملفات أقراصها الصلبة من إكس تي 2 إلى إكس تي 4 .[6] وفي 14 ديسمبر 2010 أعلنت أيضًا عن استخدام اكس تي 4 بدلًا من نظام ملفات YAFFS في أندرويد الإصدار 2.3.[7]
مميزاته
نظام ملفات كبير
نظام ملفات كبير ( Large file system )، يدعم إكس تي 4 ext4 حجم أقسام حتى 1 exbibyte (EiB) اكسبي بايت ، وملفات يصل حجمها إلى tebibytes (TiB) 16 تيبي بايت , نظام التشغيل ريدهات يفضل استخدام نظام ملفات إكس إف إس ( XFS ) بدلا من إكس تي 4 ( Ext4 ) إذا اردت عمل أقسام أكبر من 100 تيرابايت .[8][9]
التمدد (القدرة على التمدد)
القدرة على الامتداد Extents بدلت مخطط التقليدي القديم block mapping تخزين البيانات لنظامي إكس تي 2 - ext2 وإكس تي 3 - ext3 ببلوكات هذا المخطط الجديد وهو عبارة عن نطاق من البلوكات المتجاورة
التوافق الرجعي (النظم السابقة)
التوافق الرجعي ( Backward compatibility )، يتوافق نظام ملفات إكس تي 4 مع الإصدارين السابقين له إكس تي 2 وإكس تي 3 ليمكنك من ضم أحدهما كنظام ملفات إكس تي 4 مما يفيد في بعض الخواص التي يتمتع بها نظام ملفات إكس تي 4 لرفع الأداء بشكل ظاهر مثل خوارزمية توزيع الكتل الجديدة.
يتوافق أيضًا إكس تي 3 بشكل متقدم مع إكس تي 4 فيُمكن ضم نظام ملفات إكس تي 4 على أنه إكس تي 3. لكن إذا كان قسم القرص يستخدم Extents وهي ميزة جديدة في إكس تي 4 فستفقد هذا التوافق ولن تتمكن من ضم إكس تي 4 كإكس تي 3.
التوزيع المسبق والمستمر
التوزيع المسبق والمستمر ( Persistent pre-allocation )، يتمتع نظام الملفات إكس تي 4 بقدرته على التوزيع المسبق على القرص لملف. في أنظمة الملفات الأخرى يتم هذا بملئ الملف بالأصفار عند إنشاءه، لكن في نظام الملفات إكس تي 4 (وكذلك إكس إف إس) يمكن استخدام الدالة الجديدة في نواة لينكس وهي fallocate() function
لتأدية هذا الغرض. والمساحة الموزعة مسبقًا ستُضمن وستكون متقاربة ومتجاورة. تسخدم هذه الحالة في عدة تطبيقات لبث الوسائط وقواعد البيانات.
تأخير حجز الموقع
تأخير حجز الموقع ( Delayed allocation )
زيادة الحد المسموح للمجلدات الفرعية عن 32,000
في النظام السابق اكس تي 3 كان أقصى حد للمجلدات الفرعية المسموح بها هو 32,000 , اكس تي 4 سمح بعدد لانهائي من المجلدات الفرعية أو الدليل الفرعي subdirectory ، [10] للسماح بمجلدات أكبر واداء أفضل .
إضافة مجموع تدقيق في نظام الصحائف
مجموع تدقيق في نظام الصحائف ( Journal checksumming ) أستخدام مجموع التدقيق checksum ساعد في تحسين دقة النظام، السبب في ذلك ان ملف الصحائف يعتبر من أكثر الملفات المستخدمة على أي نوع من أنواع المخزنات مثل القرص الصلب لهذا فيجب تدقيقه ليكون صحيح، وهذه الميزه لها جوانب أخرى مفيدة مثل تجنب الإنتظار للمدخلات والمخرجات للقرص الصلب أثناء عملية Journaling (الصحائف) .
قدرته أسرع على الفحص
قدرة أسرع على الفحص ( Faster file system checking ) في نظام الملفات اكس تي 4 تكون مجموعات البلوكات Blocks الغير محدد لها مكان في جدول تحديد المواقع للملفات في جدول الفهرسة لنظام لينكس Inode Table (وهو جدول بنظام مؤشرات الفهرسة) وأيضا المقطع sections ، يتم وضع علامات بأنها غير مستخدمة وبالتالي فهذا يسمح لبعض الأوامر المهمة مثل fsck و E2fsck بسرعة العمل وتخطيها وبالتالي بتقليل الوقت المطلوب لفحص نظام الملفات، بدأ تنفيذ هذه الميزة ابتداء من إصدار لينكس Linux 2.6.24
له ميزة تعدد بلوكات محدد الموقع
تعدد بلوكات محدد الموقع ( Multiblock allocator )، عندما كان يتم الإضافة لأي ملف في النظام الأقدم اكس تي 3 كان يتم إستدعاء محدد الموضع للبلوكات block allocator مرة واحدة لكل بلوك block ، بناء على ذلك فلو كان هناك أكثر من كاتب واحد للملف فإن الملف يصبح ببلوكات متفرقة على القسم fragmented ، في النظام الجديد إكس تي 4 تم تفادي هذه المشكلة عن طريق تأخير تحديد الموضع وهذه الطريقة تسمح بحفظ buffer البيانات مؤقتا في مجموعات ليتم تحديد موضعها في وقت واحد كمجموعة من البلوكات
تحسين الختم الزمني
تحسين الختم الزمني ( Improved timestamps ) مع مرور الوقت تصبح أجهزة الحاسب أكثر سرعة هذا على وجه العموم، وعلى وجه الخصوص يصبح نظام لينكس أكثر إستخداما للتطبيقات والبرامج ذات المهمات الحرجة ،
لاحظ مشكلة عام 2038 (Year 2038 problem)
ميزة التشفير الشفاف
التشفير الشفاف ( Transparent encryption )، هي طريقة جديد تم دعمها لنظام لينكس ونواة لينكس Linux kernel 4.1 في يونيو 2015 .[11]
حدوده او مقيداته
في 2008، انتقد المطور الرئيسي لإكس تي 3 وإكس تي 4 ثيودور Theodore Ts'o هذا النظام، وأعرب عن وجود تحسينات كبييرة في إكس تي 4 لكنها لا تقدم تطورًا كبيرًا فما زالت التقنية المستخدمة قديمة، ويعتقد ثيودور Ts'o أن نظام ملفات بي تي آر إف إس أفضل منه ويتخذ اتجاهاً أفضل، وأنه يوفر تحسينات كبيرة للتدرجية والموثوقية وسهولة الإدارة. يذكر أيضًا أن لدى بي تي آر إف إس كثير من الأفكار التصميمية التي لدى نظام ملفات ريسير أف أس 3/4 ( ReiserFS ) أيضًا.
مقالات ذات صلة
- إكس تي Extended file system ext
- إكس تي 2 ext2
- إكس تي 3 ext3
- إن تي إف إس NTFS
- نظام ملفات
- قائمة أنظمة الملفات
- مقارنة بين أنظمة الملفات
مصادر ومراجع
- Mathur, Avantika; Cao, MingMing; Bhattacharya, Suparna; Dilger, Andreas; Tomas, Alex; Vivier, Laurent (2007). "The new ext4 filesystem: current status and future plans" ( كتاب إلكتروني PDF ). Proceedings of the Linux Symposium. Ottawa, ON, CA: Red Hat. مؤرشف من الأصل ( كتاب إلكتروني PDF ) في 24 مارس 201215 يناير 2008.
- Torvalds, Linus (2006-06-09). "extents and 48bit ext3". Linux kernel mailing list. مؤرشف من الأصل في 22 أغسطس 2017.
- Leemhuis, Thorsten (2008-12-23). "Higher and further: The innovations of Linux 2.6.28 (page 2)". Heise Online. مؤرشف من الأصل في 04 مارس 201609 يناير 2010.
- "ext4: Rename ext4dev to ext4". Linus' kernel tree. مؤرشف من الأصل في 10 ديسمبر 201920 أكتوبر 2008.
- Leemhuis, Thorsten (2008-12-23). "Higher and further: The innovations of Linux 2.6.28". Heise Online. مؤرشف من الأصل في 03 يناير 2009.
- Paul, Ryan (2010-01-15). "Google upgrading to Ext4, hires former Linux Foundation CTO". Ars Technica. مؤرشف من الأصل في 07 يناير 2012.
- "Android 2.3 Gingerbread to use Ext4 file system". The H Open. 14 December 2010. مؤرشف من الأصل في 18 أكتوبر 2017.
- "The Ext4 File System". RedHat Enterprise Linux Performance Tuning Guide. RedHat. مؤرشف من الأصل في 22 فبراير 201404 فبراير 2014.
- "EXT4 HowTo". Ext4 (and Ext2/Ext3) Wiki. EXT4 Team. مؤرشف من الأصل في 16 مايو 201903 سبتمبر 2013.
- Ext4 - Linux Kernel Newbies - تصفح: نسخة محفوظة 10 يناير 2018 على موقع واي باك مشين.
- Ts'o, Theodore (8 April 2015). "Ext4 encryption". مؤرشف من الأصل في 23 يناير 2019.