Nix File Systems

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Nix File Systems as PDF for free.

More details

  • Words: 1,754
  • Pages: 5
‫أنظمة الملفات فى أنظمة ‪( 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 ‫الوثائق الحرة‬

Related Documents

Nix File Systems
November 2019 12
Nix
May 2020 3
Nix
May 2020 3
File Systems
June 2020 11
File Systems
June 2020 5
File Systems
November 2019 17