إكس تي 4

نظام ملفات

نظام الملفات الممتد الرابع (بالإنجليزية: Fourth Extended Filesystem)‏ اختصارا EXT4 إ أكس تي 4 من أهم ميزاته الجديدة انه يدعم صحائف نظام الملفات Filesystem Journaling من أجل نظام تشغيل لينكس. وقد طور ليكون خلفًا لنظام ملفات إكس تي 3.

ext4
معلومات عامة
المطورون
لغة البرمجة
الاسم الكامل
(بالإنجليزية: Extended file system 4)‏
الإصدار الأول
12 أكتوبر 2008 (لينكس النواة 2.6.28)
معرف التجزئة
0x83 (في سجل الإقلاع الرئيسي MBR)
Basic Data Partition EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (جدول التقسيم ذو المعرفات الفريدة الشامل GPT)
البنية
محتويات الدليل
Linked list, hashed B-tree
حجز الملفات
Extents/Bitmap
الأقسام التالفة
Table
المحدودية
أكبر حجم للقرص
أكبر حجم للملف الواحد
أكبر عدد ملفات مسموح به
4 بليون ملفًا (تخصص عند إنشاء نظام الملفات)
أطول اسم ملف مسموح
255 بايت (حرفًا)
الأحرف المتاحة في اسم الملف
أي بايت ما عدا 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
تصاريح نظام الملفات
الضغط الشفاف
لا
متفرقات
أنظمة التشغيل المدعومة

نبذة تاريخة عدل

لقد ولد هذا النظام كسلسلة امتدادات لنظام ملفات الأقدم إكس تي 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 (الصحائف) .

قدرته أسرع على الفحص عدل

 
fsck time/Inode Count(ext3 vs. ext4)

قدرة أسرع على الفحص ( 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 ) أيضًا.

انظر أيضا عدل

مراجع عدل

  1. ^ 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) في 2012-03-24. اطلع عليه بتاريخ 2008-01-15.
  2. ^ Torvalds، Linus (9 يونيو 2006). "extents and 48bit ext3". Linux kernel mailing list. مؤرشف من الأصل في 2017-08-22.
  3. ^ Leemhuis، Thorsten (23 ديسمبر 2008). "Higher and further: The innovations of Linux 2.6.28 (page 2)". Heise Online. مؤرشف من الأصل في 2016-03-04. اطلع عليه بتاريخ 2010-01-09.
  4. ^ "ext4: Rename ext4dev to ext4". Linus' kernel tree. مؤرشف من الأصل في 2019-12-10. اطلع عليه بتاريخ 2008-10-20.
  5. ^ Leemhuis، Thorsten (23 ديسمبر 2008). "Higher and further: The innovations of Linux 2.6.28". Heise Online. مؤرشف من الأصل في 2009-01-03.
  6. ^ Paul، Ryan (15 يناير 2010). "Google upgrading to Ext4, hires former Linux Foundation CTO". Ars Technica. مؤرشف من الأصل في 2012-01-07.
  7. ^ "Android 2.3 Gingerbread to use Ext4 file system". The H Open. 14 ديسمبر 2010. مؤرشف من الأصل في 2017-10-18.
  8. ^ "The Ext4 File System". RedHat Enterprise Linux Performance Tuning Guide. RedHat. مؤرشف من الأصل في 2014-02-22. اطلع عليه بتاريخ 2014-02-04.
  9. ^ "EXT4 HowTo". Ext4 (and Ext2/Ext3) Wiki. EXT4 Team. مؤرشف من الأصل في 2019-05-16. اطلع عليه بتاريخ 2013-09-03.
  10. ^ Ext4 - Linux Kernel Newbies نسخة محفوظة 10 يناير 2018 على موقع واي باك مشين.
  11. ^ Ts'o، Theodore (8 أبريل 2015). "Ext4 encryption". مؤرشف من الأصل في 2019-01-23.