أنظمة الملفات فى أنظمة ( nixيونيكس و لينكس) *لن نتكلم عن أنظمة ملفات الشبكات و أنظمة ملفات السطوانات و النظمة المتعلقة بنظم أخرى مثل *Mac
دائم;ا ما تتزايد الحاجة لنظام ملفات يطور التعامل مع كثرة تفرع الملفات ،و ملفات بأحجام كبيرة ،و أسماء طويلة للملفات. كمقدمة سنوضح تقسيم القرص الصلب القرص الصلب يمكن تقسيمه إلى 4أجزاء رئيسية Primaryو واحد منها فقط يمكن تقسيمه إلى أجزاء منطقية Logicalو هو التقسيم الممتد Extendedكالتالى
التقسيم الول و الثانى و الثالث من النوع البتدائي Primaryو لهم نظام ملفات أي;ا كان ،و الرابع أيض;ا Primaryو ليس له نظام ملفات و لكن له نوع ممتد و بالتالى هو الوحيد الذى يمكن تجزئته إلى عدد كبير من التقسيمات المنطقية -أعتقد يصل لـ 100أو أكثر -و كل منها له نظام ملفات معين.
نظام الملفات هو النظام الذي يقوم بالدخول إلى و تنظيم البيانات على وحدات التخزين الكبيرة. لو رتبنا أنظمة الملفات تبع;ا للنظام الذى يعمل عليها FreeBSDو له BSD FFSو Ext2و HPFSو NTFS NetBSDو له BSD FFSو FAT OpenBSDو له BSD FFSو FAT LINUXو له AFFSو BFSو Ext2و BSD FFSو HPFSو Xiafs و سنتكلم هنا هن ما يهمنا منها فقط ،و هى النظمة التى ينشأها اللينكس و أشهر أنظمة الملفات الخرى. – 1مينيكس ()minix و هو نظام الملفات الصلى فى اللينكس ،و يرجع ليام كان اللينكس فيها يثبت علي أجهزة minix ،و هو بسيط للغاية و لكنه محدود المكانيات ،و ل يستعمل اليوم إل في بعض أقراص النقاذ
Rescue Disksلكونه متوافق مع أي نظام آخر. xiafs – 2و extfs أنظمة قديمة جد;ا و لم تعد مستعملة و ل ينصح بها أساس;ا. ext2fs – 3 و هو النظام الشائع حالي;ا فى اللينكس ،سريع و فعaال ،و هو تحت التطوير المستمر .قوى و يمنحك أداء;ا عالي;ا .تم تطويره تحت أنظمة لينكس أصل; باسم ،extfsو جارى تطويره من أجل نظم اخرى. يدعم حجم تقسيم حتى 4تيرابايت ( 1تيرابايت = 1012أى واحد و بجانبها 12صفر)! و تصل أسماء الملفات حنى 255حرف يمكن زيادتها إلى .1012 بالضافة لنه يحجز بعض الجزاء من اجل المستخدم الجذر ،rootتكون %5من الحجم الكلى ،و هذا يسمح له باستعادة ملفات حتى عندما يمل المستخدم العادي ملفات النظام. و من خصائصه المتقدمة خاصية File Attributesأو خصائص الملفات ،حيث يمكن تعديل سلوك الكيرنل عند تعامله مع مجموعة ملفات أو مجلد بكامله مع توريث خصائصه لكل ما ينشأ بداخله. و العديد من خصائص الـ BSDو التى ليست متوفرة فى نظام اليونيكس الصلى .كما يمكن لمدير النظام اختيار حجم وحدة التقسيم و هى 1024و 2048و 4096بايت ،و النى تتيح له تسريع الدخال و الخراج ،I/Oلن تقليل طلبات الـ I/Oيقلل عمليات البحث بواسطة ابرة القرص لكى يتم قراءة ملف واحد .و خاصية المسح المن و التى تمنع استعادة البيانات المحذوفة -إذا كانت سرية - و لكنها تنهك القرص ،فل تستعملها إل عند الحاجة. و من الخصائص المستمدة من نظام BSD 4.4الجديدة ،فالملفات الثابتة يمكن جعلها قراءة فقط مثل ملفات العدادات ،الملفات التى يمكن الضافة لها يمكن منع التعديل فى محتواها الصلى بإضافة البيانات لنهاية الملف ،ومنع مسحها أو التعديل فى اسمها ،مثل ملفات تسجيل الدخول loggingو التى يضاف لها فقط بدون مسح السابق. لمزيد من المعلومات http://web.mit.edu/tytso/www/linux/ext2.html أدوات النظام متاحة هنا http://e2fsprogs.sourceforge.net ext3fs – 4 بنى على تطوير النظام السابق ،و أضيفت له خاصية الـ ،Journalingليمنح أداء عالى و قوى و هو مازال تحت التطوير لجل تحسين بنيته .و هو ما ينصح به لنه الفضل و الكثر انتشار;ا. XFS – 5 بدأت شركة سيليكون للجرافيك تطلق نظام الجهزة الخاصة بها للينكس ،و شفرته المصدرية توزع تحت ترخيص .GPL يعمل بنظام عنونة 64بت و هذا يؤهله للعمل مع الملفات الكبيرة و نظم الملفات حتى 1تيرابايت (أى يدعم حجم تقسيم حتى 1تيرابايت ،و ععد ملفات فى المجلد حتى 32مليون ،وهو يدعم إدارة ممتازة للقراص ،و خاصية ، Journalingو يمكن أخذ نسخة احتياطية من نظام الملفات و هو قيد الستعمال .تم تجنب بطأ أنظمة Journalingفيه و يصل حجم التقسيم فيه حتى 9إكسابايت ( 1إكسابايت = 1018أى واحد بجانب 18صفر). المزيد http://oss.sgi.com/projects/xfs reiserfs – 6 فى 23يوليو ،1997قام هانز رايزر ( )
[email protected]بوضع المصدر الخاص بنظامه على النترنت .http://www.namesys.comيمتاز نظامه بعدة مميزات جديدة و كونه أسرع من ،ext2fsو هو النظام الفضل لهؤلء الذين يغلقون الجهاز بقطع الكهرباء مباشرة. و هو النظام الذي تعتمده أغلب توزيعات لينكس الجديدة مثل عربيان. عند مقارنته بـ ext2fsتحت نفس الظروف يعطي فاعلية أكبر مع الملفات الكبيرة و الملفات الصغيرة، و تكون غير صغيرة جد;ا ،لن الصغيرة جد;ا (قريبة من 4كيلوبايت) تكون أقل كفاءة فى الوقت و لكن أداء أفضل فى المساحة المستهلكة.
الصفحة الرسمية http://devlinux.org/namesys Logging / Journaling filesystems – 7 المشروع خاص بشركة IBMو التى استخدمته فى خوادمها. مقدمة :أنظمة الملفات تحدث معلومات البنية الساسية ( )metadataلها بواسطة عدة عمليات كتابة متزامنة ،و كل تحديث قد يتطلب أكثر من عملية كتابة ،و لو انهار النظام أثناء ذلك فإن الـ metadataتكون متضاربة ،و عند إعادة تشغيل الجهاز فإن أداة فحص نظام الملفات fsckتحاول ل فى التقسيمات الكبيرة .كما أنها قد ل تنجح. إصلحها ،و تأخذ وقت;ا طوي ; نظام الملفات الدوري Journalingيستعمل مساحة منفصلة تسمى السجل log / Journalلتخزين تحديثات الـ metadataقبل أن تكتب فعلي;ا ،و لو حدث انهيار فالنظام يبحث فقط في هذا الجزء و يجد به كل المعلومات اللزمة لعادة التحديث. العيب الوحيد فيها هو البطأ النسبي. أدوات النظام متاحة هنا http://jfs.sourceforge.net/jfsllutl.html النظم التى تدعم هذه التقنية هى ( JFSالنظام الصلى) و XFSو BeFSو reiserfsو .ext3fs و للمزيد عنها http://oss.software.ibm.com/developerworks/opensource/jfs ufs – 8 النظام المستعمل من قبل أنظمة BSDمثل openBSDو ،FreeBSDصمم للقراص القديمة ،وطور من قبل Silicon Graphicsو هو يستعمل عدد معين من المسارات Tracksمن القرص لتحسين الداء ،لكن لن بنية القرص تترجم بعدة طرق فإن الناتج الكلى يكون عادة غير جيد. efs – 9 نظام الملفات الممتد Extent File Systemهو نظام الملفات المطور من قبل .Silicon Graphics يستعمل على نطاق واسع فى أنظمة IRIXقبل الصدار 6حيث احتل مكانه الن .xfsو بالرغم من تشجيع الهجرة إلى xfsفإن efsمازال يستعمل للسطوانات. و هناك تعريف له على اللينكس على الموقع http://aeschi.ch.eu.org/efs enh-fs – 10 نظام الملفات المطوaر Enhanced File Systemو هو مشروع ميت الن ! طور أساس;ا طريقة جديدة لملء التقسيمات ،و يسمح بإضافة أو حذف نظام ملفات أثناء عمل النظام. Tux2 fs – 11 تنويع على ext2fsو يزيد عليه فى القوة فى حالة المقاطعة غير المتوقعة مثل انقطاع الكهرباء .و فى مثل هذه الحالة يقوم بإعادة التشغيل بآخر حالة مأرشفة/مسجلة و متينة بدون الداة fsckأو أى من عمليات استعادة البيانات .و لتحقيق ذلك يستعمل Tux2 fsخوارزمية algorithmتسمى تفرعات الطوار Phase Tree الموقع /http://tux2.sourceforge.net fat – 12 يوجد منه fat12و fat16تبع;ا لحجم التقسيم Partitionو لكن الختلفات شبه معدومة. النظام مزود من قبل شركة مايكروسوفت ،Microsoftسريع وسهل و أغلب نظم التشغيل تتعرف عليه ،تقرأ منه و تكتب عليه. و لكن يعيبه أنه محدود من ناحية المان ،و ل يمكن الحصول على تقسيم أكبر من 2جيجابايت fat32 – 13 ظهر بعد 10سنوات من ظهور أبوه ،fatو التصاريح فيه ل تزال محدودة ،و نظام NT4.0ل يمكنه قراءته لكن اللينكس يستطيع !
vfat – 14 هو نفسه مع دعم لسماء الملفات الطويلة ،اللينكس يقرأ نظم fatتحت اسم .vfat ntfs – 15 النظام الصلى لنظام تشغيل WIN-NTو هناك دعم ضعيف لباقى أنظمة التشغيل. و هناك بعض من المان فيه حيث زادت نسبة المن من خلل تشفير البيانات. يجدر بالذكر أنه ل يقرأ إل بواسطة NTو ما بعده و ل يوجد وسيلة لحل ذلك ! و بالمناسبة قليل; ما تجد وسيلة لستعادة البيانات التالفة على قرص بنظام ntfsإل عبر قرص لينكس ! النظمة ذات اللون الخضر و التى تقدمها مايكروسوفت بها عيب صغير جد;ا ،إذ أنها تهدر مساحة القرص بكمية كبيرة !!! قد تصل لـ . % 4فلو تملك قرص بمساحة 120جيجابايت فأنت تهدر منه حوالى 5جيجابايت فقط ! و السبب هو أن التخزين عليها يتم بملئ أول فراغ موجود ،هذه ليست مشكلة مع قرص جديد، و لكن لو لديك تقسيم عليه ملفات حجم كل واحد منها 100ميجا -النظام يقوم بتخزينها بالترتيب - و عند مسح أحدها فتكون لديك مساحة فارغة قدرها 100ميجا فى المنتصف و عند نسخ ملف 200 ميجا إلى نفس التقسيم ،يتم نسخ أول 100ميجا منه غلى المكان الفارغ و الباقى إلى المكان الفارغ الذى يليه.
في الصورة الولى لدينا ثلث ملفات file1و file2و ،file3ثم مسحنا file2و لدينا مساحة فارغة بين file1و file3تساوي مساحة الملف المحذوف ،عند وضع ملف جديد file4مساحته أكبر من المساحة الفارغة (مساحة )file2فيتم تقسيمه لجزئين حيث يتم ملئ المساحة الفارغة أول; ثم نسخ باقي الملف بعد .file3 و هكذا تضيع مساحة فى ربط أجزاء File4ببعضها ،هذا غير البطأ المنطقى بسبب بعد أجزاء الملف عن بعضها .و لهذا ينصحون مستخدمى الويندوز بعمل ما يسمى defragmentكل فترة لعادة ترتيب البيانات ،و هذه العملية قد تأخذ 6ساعات فى تقسيم 10جيجا بل مبالغة ! أنظمة الملفات الخاصة tmpfs – 16و swapfs من أجل سرعة التخزين قدم نظام تشغيل Sunالمسمى Solarisنظام ملفات tmpfsالمماثل لـ swapfsعلى أنظمة .NeXTو هو يتغلب على البطء فى ufsبواسطة ابقاء معلومات التحكم فى الذاكرة .و هو يتم مسحه بمجرد اطفاء الجهاز. النظام tmpfsمحدود و عدد الملفات محدود بناء;ا على الذاكرة الفيزيائية للجهاز. اللينكس يدعم هذا النظام بداية; من الكيرنل .2.4 userfs – 17 نظام ملفات المستخدم يسمح بعدد من النطاقات لستخدام أنظمة الملفات التقليدية مثل أنظمة الملفات المبنية على ، FTPو يدعم الضغط مثل .arcfsو قد بنى نظام ملفات docfsعليه .و هو مبنى أساس;ا على Perlfsو الذى يمكنك من كتابة تعريفات نظم الملفات بلغة .Perl
/http://www.goop.org/~jeremy/userfs
الموقع
الشهر لتقسيم القرص الصلب يدعم النواع التالية منPartition Magic بقى لنا ذكر أن برنامج : القسام NTFS وFAT32 جيجابايت و2 و أقصى حجم لهFAT جيجابايت2 و أقصى حجم لهswapfs وext3fs وext2fs xfs وreiserfs تزيد عليه فىQtParted و برامج التقسيم فى اللينكس مثل و من أدوات إصلح جداول نظم الملفات Fixdisktable http://bmrc.berkeley.edu/people/chaffee/fat32.html gpart http://home.pages.de/~michab/gpart بواسطة أداء العديد من العمليات على الملفات، أداة لقياس فاعلية نظام الملفاتIozone /http://www.iozone.org الموقع الرسمي /http://www.iozone.org/src/stable التحميل ويعمل تحت العديد من النظمة،)و هو يوزع مجان;ا (برنامج حر البرامج و المعلومات المتعلقة بأنظمة الملفات و التعريفات المتاحة لها هنا http://metalab.unc.edu/filesystems ftp://metalab.unc.edu/pub/docs/filesystems
المصدر HOWTO: Multi Disk System Tuning, Stein Gjoen,
[email protected] HOWTO: Filesystems, Martin Hinner,
[email protected] صفحات ويب متعددة المزيد هنا http://students.ceid.upatras.gr/~gef/fs/oldindex.html /http://www.penguin.cz/~mhi/fs http://linuxtoday.com/stories/5556.html http://www.honeycomb.net/os/holistic/connect/filesys.htm
محمد صلح: الكاتب
[email protected] www.riddler.tk و هى خاضعة لترخيص، OpenOffice.org أحد برامج حزمةwriter كتبت الوثيقة باستخدام برنامج .FDL الوثائق الحرة