المساعد الشخصي الرقمي

عرض الإصدار الكامل : سلسلة ثقافة اللينكس(1): نظام الملفات Ext4


عبدالخالق المرزوقي
26/12/2008, 07:57 PM
بعد أعلان لينوس عن إصدار لينكس 2.6.28 (http://kernelnewbies.org/Linux_2_6_28)والتي أتت بالكثير من التغيرات و التحديثات و الإضافات، ومن أبرزها هو إطلاق نظام الملفات Ext4 كنظام مستقر و جاهز لبيئة العمل ليكون خليفة Ext3 ، أردت أن أنقل لكم هذه المعلومات عن نظام الملفات الجديد واهم مميزاته.

ما هو نظام الملفات في الحاسوب؟

يستخدم نظام التشغيل لديك نظاما لترتيب البيانات على القرص. ويحدد نظام الملفات هذا الكم المتاح لنظامك من القرص الصلب وطريقة تحديد مواقع الملفات والحد الأدنى لحجم الملف وما يحدث عند محو ملف وما إلى ذلك.


لينكس و نظم الملفات

* المرحلة الأولى: الإصدارات الأولى من لينكس كانت تستخدم نظام ملفات نظام التشغيل مينكس ، كان نظام ملفات مينكس محدودًا حيث لا يدعم أكثر من 64 ميجابايت كحد أقصى لحجم الملفات ، كما أن أكثر عدد من الحروف في أسماء الملفات كان 14 حرفا فقط ، لذا قرر البعض كتابة نظام ملفات جديد يتخلص من محدوديات نظام ملفات مينكس.

* المرحلة الثانية: في عام 1992 تمت إضافة نظام الملفات Ext إلى نظام لينكس و بالفعل تم حل مجموعة من مشاكل نظام ملفات مينكس حيث كان يدعم هذا النظام الملفات التي حجما 2 جيجابايت كحجم أقصى و كان يدعم أسماء ملفات بطول 255 حرف ، و لكن رغم ذلك بقيت به بعض المحدوديات.

* المرحلة الثالثة: نتيجة لمحدوديات نظام الملفات Ext تم كتابة نظام ملفات جديد و هو Xia و ظهرت نسخه جديده من Ext و هي Ext2 و التي كانت تعتبر تطويراً لـ Ext ، أما Xia كان مبنياً على نظام ملفات مينكس ، في بادئ الأمر كان Xia أكثر ثباتاً من Ext2 و بالتالي وسع انتشاره و كثر استخدامه ، أما بالنسبة لـ Ext2 تم العمل على تطويره و تحسينه إلى أن أصبح ثابتاً و أصبح أكثر نظم الملفات شهرة.

* المرحلة الرابعة: نظام الملفات Ext3
* وأما المرحلة الاخيرة فهي Ext4 والتي اعلن عنها أخيرا.


المميزات الجديدة لنظام
Ext4

1- أحد أكبر مميزات النظام الجديد - والتي لا يهتم بها غالبا المستخدم النهائي - هيئة التمدد على القرص، بحيث تسمح لنظام الملفات بأن يبقى متابعا لبيانات الملف في زوج من البيانات( طول و الموقع) بدلا من مقطع مع مقطع، هذه الطريقة تعطي فاعلية أكبر من ext3، وعلى سبيل المثال ستصبح عملية حذف الملفات الكبيرة أسرع بكثير.

2- من المميزات التي سيلاحظها المستخدمون هو القدرة على إنشاء ملفات أكبر في الحجم، فنظام ext3 كان محدود بسعة 16 تيرابايت (وهذا فقط حديثا، بينما كرنل السابق 2.6.18 كان محدودا بـ 8 تيرابايت) بينما نظام ext4 فيدعم 1024 بيبابايت.أما حجم الملف الواحد فإن نظام ext3 كان يدعم 2 تيرابايت أما النظام الجديد فيدعم 16 تيرابايت.

3- القدرة على إنشاء مجلدات فرعية أكثر (الآن 65 الف مجلد فرعي).

4- ميزة "uninitialized block group" ستسرع الأدوات mkfs و fsck في بعض الحالات بسماح لهذه الأدوات بتجاوز الكامل للقطاعات metadata التي لم تستخدم مطلقا.

وأيضا من المميزات لنظام Ext4

Improved timestamps -5
حل مشكلة التاريخ التي كانت ستحدث في العام 2038 لنظام تشغيل اللينكس.

Faster file system checking -6
حل المشكلة التي كان يعاني منها اغلب مستخدمين اللينكس والتي تتمثل في بطئ اثناء عملية ال system checking والتي كانت لوقت قريب تعتبر تجريبة.

Break 32000 subdirectory limit -7
حل مشكلة 32000 مجلد داخل بعض.

8- إزالة التجزئة Online Defragmentation
يمكن الان عمل إزالة تجزئة لجزء معين دون الاخر او لمسار محدد دون كل القرص الصلب او لملفات فردية دون الحاجة لعمل إزالة تجزئة لكامل القرص.

Backward compatibility -9
الان اصبح من الممكن ان يتم عمل mount لقرصext3 على انه ext4 عن طريق ext4dev.
-----------------------
المصادر:
وادي التقنية. (http://itwadi.com/node/851)
ويكيبيديا (http://ar.wikipedia.org/wiki/%D9%84%D9%8A%D9%86%D9%83%D8%B3)
شبكة المنهل التعليمية (http://111000.net/modules.php?name=News&file=article&sid=99)

foxoman
26/12/2008, 08:12 PM
السلام عليكم ورحمة الله تعالى وبركاته ،،

اشكرك اخي العزيز على المعلومات القيمة ،،

صحيح بالامس قرأت عن اصدار كيرنل اللينكس الجديد ،،

واهم ميزاته هو وجود نظام ext4

وهذي فرصة لمعرفة المزيد ن نظام الملفات في اللينكس ،،

خصائص مميزة وتطور كبير يشهده اللينكس بكافة جوانبه ،،

بارك الله فيك .

Improved timestamps -5
حل مشكلة التاريخ التي كانت ستحدث في العام 2038 لنظام تشغيل اللينكس.

لمعرفة المزيد عن هذه المشكلة

Year 2038 problem - Wikipedia, the free encyclopedia (http://en.wikipedia.org/wiki/Year_2038_problem)


The year 2038 bug (http://www.2038bug.com/)

عبدالخالق المرزوقي
26/12/2008, 10:38 PM
وأيضا أنقل لكم هذه التكملة (http://www.shabablek.com/vb//showthread.php?t=12467):


نظام الملفات في لينكس


/ الدليل الجذر
/bin أوامر النظام
/dev ملفات الأجهزة المرفقة
/etc الإعدادات الخاصة بالنظام
/home دليل مستخدمي النظام
/lib مكتبات البرامج المشتركة
/root الدليل الخاص بالمستخدم الجذري
/mnt دليل نقاط التحميل
/sbin برامج الإشراف على النظام
/tmp دليل الملفات المؤقتة
/usr الدليل الرئيسي الثاني
/usr/X11R6 نظام اكس ويندو 11الاصدارة السادسة
/usr/X386 نظام اكس ويندو 11الاصدارة الخامسة
/usr/bin أغلب أوامر لينكس
/usr/include C ملفات تدرج في برامج لغة
/usr/lib مكتبات للبرمجة و حزم البرامج
/usr/loca l الدليل المحلي
/usr/sbin برامج النظام الغير حرجة
/va r دليل الملفات المتغيرة
/var/log ملفات التسجيل
/var/spool دليل الطوابير

خصائص نظام الملفات:

يتسم نظام الملفات في لينكس بالخصائص التالية:
- Hierarchical structure
- معالجة مترابطة للبيانات الموجودة في الملفات.
- حماية البيانات الموجودة في الملفات.

يتبع لينكس في معالجته للملفات طريقة مشابهة لأنظمة يونيكس الأخرى مع وجود بعض الأمور الخاصة بلينكس.

و يمكن تصنيف ملفات لينكس الى نوعين:
1- قابلة للمشاركة (Shareable)
2- غير قابلة للمشاركة (Unshareable)
الملفات القابلة للمشاركة هي الملفات التي يمكن أن تشترك في استخدامها عدة أجهزة متصلة بالشبكة. أما غير القابلة للمشاركة فيمتلكها جهاز واحد و لايمكن استخدامها من أجهزة اخرى.

و تم تصنيف الملفات الى قابلة و غير قابلة للمشاركة للأسباب التالية:
1- توفير المساحة: إذا تمت مشاركة الملفات بين عدة أجهزة فلن تكون هناك حاجة لنسخ البرنامج الواحد إلى عدة أجهزة. إذ يمكن للجهاز الذي لايحتوي على برنامج معين أن يتعامل معه و هو موجود في جهاز اخر.
2- خصوصية البيانات: البرامج الخاصة بفرد معين مثلا أو بجهاز معين يجب أن يمنع استخدامها من قبل طرف اخر و ذلك بجعلها غير قابلة للمشاركة.

وتصنف البيانات التي في الملفات أيضا إلى نوعين:
1- ثابتة (Static)
2- ومتغيرة (Variable).
الثابتة هي التي يمكن قرائتها أو تشغيلها و لكن لايمكن تغييرها. مثال ذلك ملفات المساعدة و الملفات القابلة للتشغيل (binaries) و مكتبات البرامج (libraries) . و العكس بالعكس.

الدليل الجذري / The root Directory

ويسمى الجذر (root) لأنه هو المجلد الذي تندرج تحته كل الدلائل والملفات في النظام. ويحتوي هذا الدليل على الملفات اللازمة لبدء التشغيل و لإصلاح أي خلل عند بدء النظام.

وتندرج الدلائل الفرعية تحت هذا الدليل كما يلي:
/ -- the root directory
|
+- bin Essential command binaries
+- boot static files of the boot loader
+- dev Device files
+- etc Machine-local system configuration
+- home user home directories
+- lib Shared libraries
+- mnt Mount point of temporary partitions
+- proc Process information pseudo-filesystem
+- root Home directory of root
+- sbin Essential system binaries
+- tmp Temporary files
+- usr Second major hierarchy
+- var variable data

دليل أوامر النظام /bin System commands

يحتوي هذا الدليل على الأوامر (commands) الضرورية للنظام. ويمكن ان يستخدمها المشرف على النظام (administrator) والمستخدم العادي و يجب أن لاتكون هناك دلائل فرعية في هذا الدليل.

دليل ملفات الأجهزة المرفقة/devDevice Files

هذا المجلد خاص بالأجهزة المرفقة بالحاسب الالي. ويحتوي على إدخال لكل جهاز تم تجهيز نواة النظام للتعامل معه. فمثلا
للقرص المرن الأول يوجد الملف /dev/fd0
وللمودم يوجد الملف /dev/modem
وتوجد أوامر خاصة بهذا الدليل مثل الأمر mknod لإنشاء ملفات الأجهزة.

الاعدادات الخاصة بالنظام /etc System Configuration files

ويحتوي هذا الدليل على ملفات الاعداد الخاصة بالنظام. فمثلا برنامج ليلو (Lilo) يخزن اعداداته في الملف lilo.conf الموجود في هذا الدليل. و لايمكن وضع الملفات القابلة للتشغيل (binaries) في هذا الدليل.
و تصنف أنواع الملفات الموجودة تحت هذا الدليل كما يلي.
- ملفات عامة:
{ adjtime, csh.login, disktab, fdprm, fstab, gettydefs, group, inittab, confissue, ld.so.conf, lilo.conf, motd, mtab, mtools, passwd, profile, securetty, shells, syslog.conf, ttytype }
- ملفات الشبكة:
{ exports, ftpusers, gateways, host.conf, hosts, hosts.allow, hosts.deny, hosts.equiv, hosts.lpd, inetd.conf, networks, printcap, protocols, resolv.conf, rpc, services }
كما يندرج تحت هذا الدليل دليل باسم X11 و هو المكان الأفضل لتخزين ملفات الاعدادات الخاصة ببيئة الواجهة الرسومية X11. و من أهم الملفات في هذا الدليل الملف XF86Config الذي يتضمن اعدادت الشاشة و بطاقة VGA و أهم الاعدادت لنظام X11.

foxoman
26/12/2008, 11:07 PM
جهدطيب ومبارك اخي ،،

شكرا لك وبالتوفيق ،،

عبدالخالق المرزوقي
27/12/2008, 11:08 PM
إزالة تجزئة قرص


Disk Defragment



8- إزالة التجزئة Online Defragmentation
يمكن الان عمل إزالة تجزئة لجزء معين دون الاخر او لمسار محدد دون كل القرص الصلب او لملفات فردية دون الحاجة لعمل إزالة تجزئة لكامل القرص.

مثلما قلنا أن النظام عندما يريد تخزين ملف معين فإنه يخزن أولا موقعه، في الحقيقة هو لا يخزن موقعه أولا. بل يبحث عن أول مساحة فارغة من القرص الصلب ويخزن فيها الملف، فإذا لم تكفي تلك المساحة يبحث عن المساحة الفارغة الثانية، وهكذا إلى أن يتم تخزين الملف تماما. ويؤدي ذلك إلى سرعة في تخزين الملف ولكن يؤدي إلى بطئ في القراءة. فالقرص عليه في هذه الحالة أن يقرأ من عدة أماكن فمثلا إذا كان هناك ملف مقسم إلى 15 قسم كمثال، فإن القرص الصلب يحتاج إلى أن يقرأ من 15 مكان مختلف، وفي الحقيقة هي 30 مكان مختلف، فهو أولا يقرأ موقع الملف من جدول الـ FAT، ثم يقرأ الملف نفسه.
وهنا تأتي المشكلة حيث أن من مواصفات القرص الصلب هو زمن الوصول، وهو زمن الوصول إلى البيانات، بدأ من قراءة الموقع إلى بدء قراءة الملف. وهو يتراوح عادة من 9 إلى 30 ميللي ثانية ( يعتمد على نوع القرص ) ففي حالة ذاك الملف ( المقسم 15 قسم ) فإنه سيستغرق زمنا من 135 إلى 450 ميللي ثانية ( 0.135 إلى 0.45 ثانية ) للوصول فقط للملف، وهذا يعتبر زمنا ضائعا.
يقوم البرنامج المذكور بعملية تجميع لأقسام الملف ووضعها في موضع واحد مما يسرع عملية الوصول إلى الملف، وهي عملية تسمى بالعربية بعملية لم الشتات.
وتوجد مهمة جديدة أيضا للبرنامج المذكور، فالقرص الصلب مكون من عدة أماكن بعضها أسرع من الثانية. يقوم البرنامج بمراقبة سجل استخدامك للملفات والبرامج على مدى طويل ويرى أيها أكثر استخداما، ويضعها على أسرع منطقة على القرص، فيسرع ذلك من أداء النظام خصوصا في البرامج التي يتم استخدامها بشكل متكرر.

ملاحظة : إذا كانت توجد أخطاء في القرص فإن برنامج Disk Defragment لن يعمل وسيطلب أولا إصلاح الأخطاء.

ولزيادة إيضاح اضغط هنا (http://os2h.pbwiki.com/-defragmentation++%D9%84%D9%85%D8%A7%D8%B0%D8%A7+%D 9%86%D8%AD%D8%AA%D8%A7%D8%AC+) .

foxoman
27/12/2008, 11:50 PM
بارك الله فيك ،، تم تثبيت الموضوع للفائدة العامة ،،