فایل سیستم و انواع آن

همانطور که همه می دانیم ، داده ها مهمترین اجزا در کامپیوتر است از اینرو همیشه مورد اهمیت قرار گرفته اند و این باعث شده که نحوه ی نگهداری و سازماندهی آنها روز به روز در حال پیشرفت باشد.در نتیجه ی این اهمیت و برای مدیریت هر چه بهتر منابع اطلاعاتی در کامپیوتر ،داده ها تقسیم بندی های مختلفی دارند.به مجموعه ای از داده ها فایل می گویند و همه ی ما با این عنوان آشنایی داریم.حال برای سازماندهی ، مدیریت و نگهداری فایل ها از ابزاری تحت عنوان فایل سیستم استفاده می کنیم.
حال به تعریف فایل سیستم و انواع آن می پردازیم: سیستم فایل ابزاری است برای سازماندهی ، نگهداری و بازیابی دادها و همچنین مدیریت فضای سخت افزاری که داده ها بر روی آن قرار گرفته اند.به کمک فرمت های فایل سیستم ،می توان نحوه ی ذخیره ی داده ها در رسانه ذخیره سازی و تاثیرگذاری آنها بر ساختارفایل سیستم را تعریف کنیم. فایل سیستم داده ها را به بهترین نحو ممکن سازماندهی می کند و آنها را با ویژگیهای خاص سخت افزاریمان تطبیق می دهد .

e5d0ba76131b4429990b7726934e9044 (2)

بعضی از فایل سیستم ها مکانیزمی را برای کنترل دسترسی به داده ها ( و حتی metadata یا همان data of data ) ارائه می دهند .از فایل سیستم ها در دستگاههای ذخیره ی داده استفاده شده است مانند فلاپی دیسک ها ،درایورهای هارد دیسک ،دیسک نوری و فلاش مموری ها.فایل سیستم ها برای دسترسی به داده ها ،متدهای مختلفی را ارائه میدهند.مثلا برای پروتکل های شبکه ،دسترسی به داده ها را بر روی یک file server فراهم می کنند و استفاده کننده ها به صورت کلاینت عمل می کنند و یا می توانند به صورت مجازی باشند و تنها به عنوان روش دسترسی برای داده های مجازی مورد استفاده قرار گیرند.

در مورد مدیریت فضا (space management) در فایل سیستم ها می توان گفت که فایل سیستم داده ها را به بهترین نحو ممکن سازماندهی می کند و آنها را با ویژگیهای خاص سخت افزاریمان تطبیق می دهد . فضای موجود را به قسمت های کوچکی تبدیل می کند و معمولا واحد های موجود در سخت افزار را چند برابر می کند. بهتر است به طور کلی بگوییم فایل سیستم مسئولیت سازماندهی فایل ها و دایرکتوری ها را دارد و بررسی می کند که کدام قسمتها از رسانه ی ذخیره سازی شامل چه فایل هایی است ویا کدام قسمت ها استفاده نشده اند . تضمین اعتماد از دیگر مسئولیتهای فایل سیستم است.حال به معرفی انواع سیستم فایل ها در ویندوز می پردازیم.

انواع سیستم فایل ها در ویندوز عبارتند از :

  1. (CD-ROM File System (CDFS
  2. (Universal Disk Format (UDF
  3. (File Allocation Table (FAT
  4. (New Technology File System (NTFS
  5. (Extended File Allocation Table (exFAT
  6. Protogon
  7. WinFS
  8. (Resilient File System (ReFS

قبل از آنکه به بررسی انواع سیستم فایل ها بپردازیم استاندارد ISO 9660 را مورد بررسی قرار می دهیم. استاندارد ISO 9660 يك فرمت داده اي مي باشد كه در سال 1984 در سازمان استانداردهاي جهاني طراحي شد . اين پروتكلي پذيرفته شده براي نام فايلها و ساختار دايركتوريها مي باشد . نام فايلها به حروف بزرگ و ارقام صفر تا نه محدود هستند و غير از آنها هيچ چيز ديگري مجاز نيست . نام دايركتوري مي تواند حداكثر هشت كاراكتر ( بدون پسوند ) باشد و مي تواند فقط هشت دايركتوري فرعي عمق داشته باشد .استاندارد Joliet مکمل استاندارد ISO 9660 است.از آنجا که استاندارد ISO 9660 تقریبا ساده و دارای محدودیت هایی مانند حروف بزرگ و حداکثر طول 32 کاراکتری بود،Joliet استانداردی انعطاف پذیرتر با حداکثر طول 64 کاراکتر است.

1- (CD-ROM File System (CDFS
فایل سیستم CD-ROM یا CDFS( که درفایل \Windows\System32\Drivers\Cdfs.sys پیاده سازی می شود) یک درایور فقط خواندنی است که از مجموعه ای از استاندارهای ISO 9660 و Joliet Dist Format پیروی می کند.اما با توجه به محدودیت های استاندارد ISO 9660 ،CDFS از استاندارد Joliet استفاده می کند.این سیستم فایل محدودیت هایی دارد:حداکثر سایز فایل هایش 4 GB و حداکثر 65535 دایرکتوری هایش است.این سیستم فایل از ساده ترین سیستم فایل هایی بود که در سال 1988 به عنوان استاندارد فقط خواندنی برای رسانه های CD-ROM تعریف شد.پس از آن کارخانه سازنده این سیستم فایل ،سیستم فایل های UDF به عنوان استاندارد برای رسانه های نوری پذیرفت.

2- (Universal Disk Format (UDF
UDF مجموعه ای از پیاده سازی استانداردهای شناخته شده ی ISOIEC 13346 و ECMA 167 که استانداردهای فایل سیستم ها در رابطه با رایت و کپی می باشد که یک فایل سیستم vendor-neutral (بدون وابستگی به سیستم عامل خاص ) برای ذخیره ی داده ها در رنج وسیعی از رسانه ها است. در واقع این استاندارد به طور گسترده ای به جای استاندارد ISO 9660 (که در بالا آن را معرفی کردیم) برای DVD ها و دیسک های نوری جدید (optical disk) به کار میروند. این فایل سیستم بسیار متناسب با روز رسانی به شیوه ی incremental ( افزایشی ) برای record و write مجدد دیسکهای نوری است. UDF توسط Optical Storage Technology Technology)OSTA ) ایجاد و نگهداری شد. درایور آن در ویندوز در فایل \Windows\System32\Drivers\Udfs.sys اجرا می شود.UDF تا ورژن 2.6 را support میکند،امکان خواندن و نوشتن را بر روی DVD—RAM ،CD-RRW و DVD+-R/RW زمانی که ورژن UDF ،2.50 و امکان فقط خواندن را وقتی که UDF ، ورژن 2.60 است را می دهد.

3- (File Allocation Table (FAT
FAT یا File Allocation Table که همه ی ما با نام آن کم و بیش آشناییم از دیگر فایل سیستم های اصلی ویندوز است که امکان بروز رسانی ورژن های قبلی ویندوز را برای مطابقت با دیگر سیستم عامل های در میان multiboot سیستم ها و به عنوان یک format برای درایو های فلش یا کارت های حافظه باشد را می دهد. بی شک همه ی ما نام های FAT 12,FAT 16 و FAT 32 را شنیده ایم ،هر کدام از این اعداد نشان دهنده ی تعداد بیتی است که آن نوع FAT برای شناسایی کلاستر ها بر روی دیسک استفاده می کند. فایل سیستم ویندوز در فایل \Windows\System32\Drivers\Fastfat.sys پیاده سازی می شود.حال به بررسی انواع FAT ها می پردازیم.

FAT 12

معرفی انواع FAT ها را از FAT 12 آغاز می کنیم.کلاستر 12 بیتی FAT 12 ، تنها یک پارتیشن محدود را برای ذخیره حداکثر 212 یا 4,096 کلاستر نشان میدهد.( حال کلاستر چیست؟ به كوچكترين واحد تخصيص فايل روي ديسك كلاستر گويند. در واقع كمترين حجمي است كه سيستم ميتواند برروي ديسك به فايلها تخصيص دهد. هرچه حجم كلاستر كوچكتر باشد ميزان فضاي هرز هارد كمتر و سرعت خواندن فايلها هم بيشتر است ).ویندوز از کلاسترهای 512 بایتی تا 8 کیلو بایت استفاده می کند که این اندازه ی FAT 12 را تا 32MB محدود می کند.(البته همه ی سیستم فایل های FAT 12 کلاستر اول و 16 کلاستر آخر را رزرو میکند ،در نتیجه تعداد کلاسترهای قابل استفاده در FAT 12 کمتر از 4096 است.

FAT 16

با کلاستر های 16 بیتی،سایزی معادل 216 یا 65,536 کلاستر را می تواند آدرس دهی کند.رنج سایز کلاستر FATE 16 در ویندوز ، از 512 بایت تا 64 کیلو بایت است که ظرفیت آن را تا 4GB محدود می کند.سایز کلاسترها که ویندوز استفاده می کند به ظرفیت سیستم فایل بستگی دارد.اگر از فرمتی استفاده می کنیم (مثل FAT ) که ظرفیت آن کمتر از 16MB است با استفاده از دستور Format یا MMC (Microsoft Management Console) Disk Management) ویندوز متوجه می شود که FAT 32 را به جای FAT 16 استفاده کند.این از قابلیت های MMC است که در اختیار ویندوز قرار می دهد.FAT به قسمتهای مختلفی تقسیم شده است:جدول تخصیص فایل که نامها در فایل سیستم در این جدول است و برای هر کلاستر یک ورودی دارد. این جدول از جداول حیاتی در فایل سیستم است ، به همین دلیل FAT دو کپی از جدول را نگهداری میکند که اگر یکی از درایو های فایل سیستم یا مثلا یک برنامه مثل برنامه های بررسی صحت نتواند به آن جدول دسترسی پیدا کند (مثلا به دلیل bad disk sector ) فایل سیستم بتواند از نسخه ی دومی جدول اطلاعات را بخواند. FAT 16 یک فایل سیستم قدیمی است که در ویندوز NT 4.0 بسیار استفاده می شده است . قابلیت های بهینه ای را در ظرفیت های کمتر از 2 GB ارائه می داده است.

FAT 32
FAT 32 که با ویندوز 95 و ویندوز 98 معرفی شد.FAT 32 یک جدول تخصیص 32 بیتی دارد و کلاستر های کوچکتری نسبت به FAT 16 را برای تخصیص بهینه تر فضا، Support می کند.FAT 32 از کلاسترهای 32 بیتی استفاده می کند اما 4 بیت اول را رزرو می کند پس عملا FAT 32 کلاستر های 28 بیتی دارد. به دلیل اینکه اندازه های کلاسترهای FAT 32 می تواند به اندازه 32 KB باشد ، پس FAT 32 به صورت تئوری توانایی آدرس دهی تا 8 TB را دارد. تعداد کلاستر های FAT 32 با ظرفیت بالا، به FAT 32 اجازه ی مدیریت موثرتری را نسبت به FAT 16 می دهد:می تواند با کلاسترهای 512 بایتی تا 128 GB ،Volume را مدیریت کند.علاوه بر تعداد محدود کلاستر ها ،برتری های FAT 32 بیشتر از FAT 12 و FATE 16 است.به عنوان نمونه واقعیت اینکه دایرکتوری های ریشه FAT 32 در یک VOLUME از پیش تعریف شده ذخیره نشده اند ، یا دایرکتوری ریشه محدودیت بالایی در اندازه اش ندارد و همچنین FAT 32 برای بالا بردن قابلیت اطمینان،یک کپی دیگری از بوت سکتور ها را ذخیره می کند.یکی از محدودیت هایی که در آن FAT 32 با FAT 16 مشترک اند این است که حداکثر سایز فایل ها 4 GB است به دلیل اینکه دایرکتوری ها فایل ها را با سایز 32 بیت ذخیره می کنند.

4- (New Technology File System (NTFS
NTFS تکنولوژی جدید فایل سیستم ها که در \Windows\System32\Drivers\Ntfs.sys file پیاده سازی می شود.NTFS از کلاسترهای 64 بیتی استفاده می کند و می تواند تا ظرفیت 16 exacluster را سازماندهی کند ، اگرچه ویندوز سایز NTFS را تا کلاسترهای 32 بیتی قابل آدرس دهی که کمتر از 256 TB است، محدود می کند . NTFS فایل هایی راکه سایزشان تا 16 exaByte است ،support می کند ،اما در عمل حداکثر سایز فایلها 16 TB است.NTFS شامل تعدادی از ویژگی های پیشرفته مانند امنیت فایل ها و دایرکتوری ها ، تبادل داده ها ،کپی دیسک ، فشرده سازی فایل ها ، ساپورت رمزنگاری است.یکی از خصوصیات خیلی مهم ، قابلیت recovery کردن است . اگر سیستم به طور غیر منتظره ای متوقف یا دچار مشکل شود ، در سیستم فایل FAT ، metadata ها در یک وضعیت ناجوری قرار می گرفتند و در نهایت به انبار داده های فایل ها و دایرکتوریهای خراب شده هدایت می شدند اما NTFS همان داده ها را به metadata تبدیل می کندتا ساختار فایل سیستم بتواند آنها را در یک وضعیت ثابتی بدون از دست رفتن ساختار دایرکتوری ها و فایل ها بازگردانی کند.اگرچه در نهایت اطلاعات فایل ها ممکن است از بین برود . به علاوه درایور NTFS در ویندوز قابلیت Self-healing را پیاده سازی می کند که مکانیزمی است که بسیاری از خطاهای کوچک را بدون اینکه نیاز به reboot شدن سیستم داشته باشیم و در حالی که ویندوز run است را برطرف می کند.

5- (Extended File Allocation Table (exFAT
ExFAT که به آن FAT 64 هم گفته می شود توسط شرکت مایکروسافت طراحی شده است و از نسخه ی قدیمی فایل سیستم های FAT بسیار پیشرفته تر است و به صورت ویژه ای برای فلش ها طراحی شده است. از هدف اصلی در exFAT ارائه ی قابلیت های پیشرفته ای که سیستم فایل NTFS در خواست کرده بود ،است ،اما بدون ساختار کلی metadata یا همان data of data. همانطور که از اسم FAT 64 پیداست ظرفیت فایل ها به اندازه ی 264 افزایش یافته است که این ظرفیت فایل ها را تا 16 exaByte بالا برده است که این تغییر با افزایش حداکثر سایز کلاسترها که اخیرا به صورت 32 MB پیاده سازی می شده است ،همخوانی دارد.همچنین exFAT ، bitmap ی اضافه می کند که کلاستر های خالی را پیدا میکند که این پیشرفت ، امکان حذف و تخصیص را در سیستم فایل بهبود می بخشد،در نهایت exFAT به بیش از 1000 فایل امکان می دهد که در دایرکتوری وجود داشته باشد که در نتیجه این قابلیت مقیاس پذیری (Scalability ) و پشتیبانی از دیسکها با ظرفیت بالا را بهبود می بخشد. به علاوه exFAT ویژگی های به خصوص دیگری که قبلا تنها در NTFS پیاده می شد مثل در دسترس بودن ساپورت (ACL (Access Control List یا تعیین سطوح دسترسی.

6- Protogon
این سیستم فایل جدید که ابتدا به صورت آزمایشی (نسخه ی Alpha ) در Windows 7 و Windows 8 ارائه شد قبل از آنکه به صورت رسمی وارد بازار شود ، رسمیت خود را از دست داد ( قبل از ارائه ی نسخه ی Beta )

7- WinFS
WinFS که نامی است برای cancelled data storage and management system project based on relational databases که توسط شرکت مایکروسافت طراحی شده است و اولین بار در سال 2003 به عنوان زیر سیستم های ذخیره سازی پیشرفته (advanced storage subsystem ) برای سیستم عامل های شرکت مایکروسافت ارائه شده است.این سیستم عامل تاکید بر مدیریت داده های ساختار یافته ، نیمه ساختار یافته و همچنین ساختار نیافته طراحی شده است. WinFS شامل پایگاه داده ی رابطه ای (a relational database ) برای ذخیره ی اطلاعات با هر type می باشد که در آن از الگوهای جالبی برای بهتر شناخته شدن type اطلاعات استفاده شده است.از اینرو data های منفرد می تواند در پایگاه داده ای رابطه ای به یکدیگر مرتبط شوند که این توسط سیستمی که بر مبنای خصوصیات ویژه ای است ، مشخص می شود .به دلیل اینکه data ها در مدل ها به خوبی تعریف شده اند ، هر application می تواند از دیتاها و روابط بین آنها به خوبی استفاده کند و داده های مرتبط با هم، به خوبی داده های دوباره به دست آمده بعد از اجرای هر برنامه ، سازماندهی می شوند.به دلیل اینکه سیستم ساختار و مفهوم اطلاعات را می داند ، می تواند query های پیچیده ای را که جستجوی بین داده هایی را امکانپذیر می کند . همچنین داده های مختلفی را با استخراج روابط بین آنها متراکم سازی می کند.

8- (Resilient File System (ReFS
نسخه ی بعدی ویندوز از شرکت مایکروسافت که همان Windows 8 است ، فایل سیستم جدید و مهندسی شده ای را به نام ReFS معرفی خواهد کرد که در جهت بهبود فایل سیستم ها حرکت می کند.این سیستم فایل بر پایه ی NTFS ساخته شده است از اینرو موقعی که این سیستم فایل برای نسل جدید تکنولوژی های ذخیره سازی مهندسی و طراحی می شد،سازگاری زیادی با NTFS داشت.در ویندوز 8 ، ReFS تنها به عنوان قسمتی از ویندوز سرور 8 معرفی خواهد شد.

منبع: انجمن حرفه ای های فناوری اطلاعات ایران