دسته‌ها
فناوری

اندر احوالات NTFS File System

ان‌تی‌اف‌اس (NTFS) مخفف New Technology File System به معنی “سیستم فایلِ تکنولوژی جدید” بوده و فایل سیستمی است که توسط شرکت مایکروسافت (Microsoft) طراحی و در Windows NT 3.1 استفاده شد. از آن به بعد فایل سیستم پیشفرض برای خانواده NT در نظر گرفته شد.

خانواده NT را اغلب ما از ویندوز ۲۰۰۰ تا همین ویندوز ۱۰ جدید می‌شناسیم ولی حتی قبل از ۲۰۰۰ هم چندین نسخه از آن طراحی شده بود.
علاوه بر سیستم عامل ویندوز، در مک او‌اس‌ایکس (Mac OSX) شرکت اپل هم می‌توان از این فایل سیستم استفاده کرد. در هسته لینوکس هم درایور NTFS تعبیه شده تا بتوانیم به راحتی فایل در این درایوها رد و بدل کنیم.

مشخصات مهم NTFS.

  • نام فایل‌ها و پوشه‌ها در فایل سیستم ان‌تی‌اف‌اس.
    حداکثر طول نام پوشه‌ها یا فایل‌نیم (Filename) یعنی نام فایل، نقطه جدا کننده پسوند و پسوند فایل می‌تواند تا ۲۵۵ کاراکتر یونیکد (Unicode که شامل حروف فارسی هم است) باشد.
    مثال‌هایی از “FileName”:
    “myfile.text” و “yourfile” و “hello_this.is.my.file.mp3” و “My Directory” و..
    طول کل مسیر نشانگر فایل یا پچ‌نیم (Pathname) یعنی نام درایو، پوشه‌ها، خود فایل‌نیم (اگر نشانگر فقط برای پوشه نباشد) و در مجموع همه قطعه‌های یک آدرس می‌تواند حداکثر ۳۲۷۶۷ کاراکتر یونی کد باشد با این شرط که هر قطعه حداکثر ۲۵۵ کاراکتر داشته باشد.
    مثال‌هایی از پچ‌نیم:
    c:\program files\the program\run.exe و d:\thefile و d:\the directory\ و …
    ان‌تی‌اف‌اس نام فایل‌ها و پوشه‌ها را با حروف بزرگ یا کوچکی که نوشته شده اند ذخیره و بازیابی می‌کند. علاوه بر این، یک فایل سیستم حساس به بزرگ یا کوچک بودن حروف است. یعنی فایل MyFile.exe یا myfile.exe فرق دارد و در خود فایل سیستم این قابلیت وجود دارد که این دو فایل در کنار یکدیگر قرار بگیرند اما ویندوز این اجازه را نمی‌دهد. یعنی نمی‌توانید دو فایل یا پوشه که تنها تفاوتشان در بزرگ یا کوچک بودن حروف است را در کنار یکدیگر قرار دهید.
    در هنگام ذخیره کردن و ایجاد فایل‌ها، نام فایل‌ها و پوشه‌ها نباید شامل برخی از کاراکترهای کاربردی یا برخی از اسامی از پیش رزرو شده باشند. از این کاراکترها می‌توان به موارد زیر اشاره کرد:
    Nul (خالی. یعنی فایل یا پوشه نامی نداشته باشد) و / و ? و و \ و : و ‌* و | و ”
    از نام‌های رزرو شده هم به موارد زیر: com1, com2, com3, com4, com5, com6, com7, com8, com9, lpt1, lpt2, lpt3, lpt4, lpt5, lpt6, lpt7, lpt8, lpt9, con, nul, و prn.
  • مقیاس پارتیشن‌ها.
    در فایل سیستم ان‌تی‌اف‌اس اندازه هر کلاستر (بلوک داده) می‌تواند از ۵۱۲ بایت (برابر ۱ سکتور legacy) تا ۶۴ کیلوبایت (برابر ۱۲۸ سکتور legacy یا یا ۱۶ سکتور ۴k) باشد. اندازه پیشفرض کلاسترها ۴ کیلوبایت (برابر ۸ سکتور legacy یا یک سکتور ۴k) است. نهایت حجم یک درایو یا پارتیشن با فایل سیستم ان‌تی‌اف‌اس می‌تواند تا ۲۶۴ منهای یک عدد کلاستر باشد. یعنی با اندازه کلاسترهای ۶۴ کیلوبایتی نهایت اندازه  ولوم (پارتیشن، درایو) ما می‌تواند حدود ۲۵۶ ترابایت (بسیار بیشتر از اکثر هارد دیسک‌های موجود در بازار) و با کلاسترهای ۴ کیلوبایتی حداکثر اندازه ولوم حدود ۱۶ ترابایت خواهد بود. البته به دلیل محدودیت‌های اندازه دهی در مستر بوت رکورد (MBR) اندازه هر پارتیشن فقط تا ۲ ترابایت می‌تواند باشد. برای اندازه‌های بیشتر باید از GPT بجای MBR استفاده شود.
    حداکثر حجم فایل‌های موجود در پارتیشن‌هایی با فایل سیستم NTFS به صورت تئوری می‌تواند تا ۱۶۷۷۷۲۱۶ ترابایت باشد اما اغلب به دلیل محدودیت‌ها، حداکثر حجم ۲۵۶ ترابایت در نظر گرفته می‌شود. یعنی می‌توانیم فایل‌هایی تا حداکثر ۲۵۶ ترابایت حجم داشته باشیم! قابل ذکر است که هر ترابایت ۱۰۲۴ گیگابایت بوده و در فایل سیستم FAT32 حداکثر اندازه فایل ۴ گیگابایت و در FAT16 برابر ۲ گیگابایت است.

قابلیت‌های مهم NTFS.

  • ثبت تغییرات.
    فایل سیستم NTFS ژورنالی است یعنی قسمتی دارد که در آن عملیات اعمال تغییرات بر روی فایل‌ها (انتقال، ذخیره و …) یکی یکی ثبت می‌شوند. این ثبت شدن اطلاعات باعث می‌شود که سیستم اگر در حین انجام یک عملیات کرش شود یا مثلاً برق برود، با دنبال کردن این لاگ‌ها، فایل سیستم خواهد توانست که کار خود را از سر گیرد و از طرفی احتمال از دست رفتن اطلاعات یا به اصطلاح خراب شدن فایل سیستم، بسیار کمتر شود. این قابلیت در FAT ها وجود ندارد.
  • پیوندهای سخت.
    هارد لینک (Hard Link) یا پیوند سخت تقریباً شبیه میانبر (شورتکات) هایی که ما می‌شناسیم عمل می‌کنند. میانبر فایلی است که با اجرای آن، ما فایل دیگری را فراخوانی می‌کنیم. نوع پیوند دادن در میانبرها به صورت نرم است یعنی ما با فایل میانبر، فایل دیگری را فراخوانی می‌کنیم نه محتوای آن را به صورت مستقیم. اما در هارد لینک‌ها ما فایل‌هایی داریم که همه آن‌ها به یک محتوا، یک مجموعه داده بر روی هارد دیسک اشاره می‌کنند.
  • جریان‌های داده جایگزین.
    در پیوندهای سخت گفتیم که یک مجموعه داده (که جریان نیز گفته می‌شود) می‌تواند چندین فایل اشاره گر داشته باشد. قابلیت جریان‌های داده جایگزین (Alternate data streams یا به اختصار ADS) دقیقاً برعکس این است. با استفاده از این قابلیت ما می‌توانیم یک فایل داشته باشیم ولی بجای یک مجموعه داده (جریان) به چندین مجموعه یا محتوای دیگر اشاره کند. مثلاً یک فایل هم به محتوای یک mp3 اشاره می‌کند و هم به محتوای یک فایل متنی.
  • فشرده سازی داده‌ها.
    فایل سیستم ان‌تی‌اف‌اس علاوه بر قابلیت‌های بالا، باعث افزایش سرعت و بهینه تر کردن فضای ذخیره سازی با استفاده از الگوریتم فشرده سازی LZNT1 نیز می‌شود.
    در این الگوریتم هر ۱۶ کلاستر یا بلوک داده به عنوان یک چانک یا قسمت در نظر گرفته شده و اطلاعات بصورت ۱۶ بلوک فشرده می‌شوند. البته این فشرده سازی فقط تا کلاسترهایی با اندازه ۴ کیلوبایت انجام می‌شود یعنی در چانک‌هایی با اندازه ۶۴ کیلوبایت. برای کلاسترهایی با اندازه بیشتر از ۴ کیلوبایت فشرده سازی‌ای انجام نمی‌شود. پس از این که داده‌ها در قالب ۶۴ کیلوبایت (با فرض کلاسترهایی با حجم ۴ کیلوبایت) فشرده شدند، اگر حجم آن‌ها بیشتر از اندازه یک کلاستر کاهش داده شده باشد (مثلاً از ۶۴ کیلوبایت به ۵۸ کیلوبایت کاهش یافته باشد)، در واقع یک کلاستر خالی خواهیم داشت که چیزی بر روی آن نوشته نخواهد شد و به این صورت در فضای ذخیره سازی صرفه جویی خواهد شد.
    البته استفاده از فشرده سازی در همه جا خوب نیست. مثلاً در سرورها که منابع سخت افزاری مثل قدرت پردازشی پردازنده و … مهم هستند و از طرفی این فشرده سازی پیاپی به این منابع نیاز خواهد داشت، استفاده از فشرده سازی مناسب نخواهد بود چون ارزش قدرت‌های پردازشی در چنین سیستم‌هایی از فضای ذخیره سازی بیشتر است.
    از طرفی به دلیل تکه تکه شدن فایل (که “Fragment” شدن می‌گویند)، در هارد دیسک‌ها برای جلوگیری از کاهش عملکرد سیستم و سرعت خواندن اطلاعات، نیاز به “Defragment” خواهد بود با این حال در دیسک‌های حالت جامد یا حافظه‌های فلش به دلیل وجود نداشتن قطعات مکانیکی، این “Fragment” شدن تاثیر بسـیار کمی بر روی عملکرد کلی خواهد گذاشت.
  • فایل‌های پراکنده.
    فایل‌های پراکنده (Spares File) به فایل‌هایی گفته می‌شود که حجم بسیار زیادی از آن بدون استفاده باشد و فقط تکه‌هایی از آن دارای محتوای ارزشمند باشد. برای درک بهتر فرض کنید یک میکروفون داریم که ۱۰ ساعت درحال ضبط است اما فقط چند ساعت در جلوی آن حرف زده می‌شود. مشخص است که حجم ۱۰ ساعت صدا خیلی بیشتر از فقط یک یا دو ساعت است. فایل‌های پراکنده نیز چنین هستند. در فایل سیستم NTFS قسمت‌های خالی که شامل داده نیستند با متادیتای خاصی علامت گذاری شده و فقط قسمت‌های شامل داده بر روی دیسک ذخیره می‌شوند.
    در هنگام خواندن اطلاعات، فایل سیستم از Metadata ها کمک گرفته و در جاهای مورد نیاز، فضای خالی رو از نو تولید کرده و در اختیار برنامه قرار می‌دهد. با این کار درست است که فایل‌ها تکه تکه (Fragment) می‌شوند اما حجم زیادی از آن‌ها کاسته خواهد شد.
  • کپی‌های مخفی.
    این فایل سیستم دارای قابلیتی به نام Volume Shadow Copy است که هنگام نوشتن فایل‌ها روی هم یا تغییر فایل‌ها طبق قوانین خاصی یک کپی از فایل قبلی برمی‌دارد. این کپی به کاربر اجازه می‌دهد که درصورت نیاز نسخه قبلی را بازیابی کند اما همانطور که گفته شد فقط طیق قوانین یا rule های خاصی اینکار را انجام می‌دهد.
  • امنیت.
    فایل سیستم ان‌تی‌اف‌اس دو قابلیت امنیتی مهم برای جلوگیری از دسترسی افراد غیرمجاز به فایل‌ها را دارد. در این فایل سیستم همه فایل‌ها و پوشه‌ها یک قسمت اطلاعاتی دارد که در آن دو لیست کنترل دسترسی (ACL) وجود دارد:

    • یک لیست کنترل دسترسی پیشگیرانه (DACL) که مشخص می‌کند کدام کاربران سیستم یا گروه‌های کاربری می‌توانند به فایل دسترسی داشته باشند، آن را بخوانند، اجرا کنند، تغییر دهند، حذف کنند و … درواقع صاحب فایل‌ها و دسترسی (permission) افراد را مشخص می‌کند.
    • مورد امنیتی دیگر یک لیست کنترل دسترسی سیستم (SACL) است که با فعال بودنش هرگونه دسترسی به فایل و انجام عملیات‌های بالا لاگ و ثبت می‌شوند. بدین ترتیب ادمین‌های سیستم می‌توانند بفهمند که چه زمانی کدام کاربر چه عملی را بر روی فایل انجام داده است.
  • رمزگذاری.
    قابلیتی در فایل سیستم ان‌تی‌اف‌اس وجود دارد که با فعال بودنش در پشت صحنه و بدون متوجه کردن کاربر، اقدام به رمزگذاری اطلاعات هنگام ذخیره و رمزگشایی آن‌ها هنگام خواندن می‌کند. چون این عمل رمزنگاری با کلیدهای متقارن انجام می‌شود، سرعت آن زیاد است و اغلب لطمه‌ای به کار کاربر نمی‌زند. برای مواقعی که سیستم کاربر به رمزها دسترسی نداشته باشد، یک رمز اضافی برای تکنسین‌های آن سیستم در نظر گرفته شده که آن‌ها می‌توانند اطلاعات را بازیابی کنند.
  • سهمیه دیسک.
    ادمین‌های سیستم می‌توانند با استفاده از فایل سیستم NTFS استفاده از دیسک را بین کاربران خود سهمیه بندی کنند. یعنی مثلاً کاربر A حداکثر ۸ گیگابایت فضا خواهد داشت، کاربر B 1 ترابایت و غیره.
    علاوه بر سهمیه بندی، مدیر سیستم می‌تواند این اطلاعات و فرایند را مانیتور هم بکند یعنی بر استفاده کاربران از دیسک نظارت داشته باشد.

به عنوان یک فایل سیستم، NTFS در طول زندگی خود تکامل یافته است، مایکروسافت اولین نسخه را توسعه داده و در طول سال ها تعدادی به روز رسانی را منتشر کرده است. نسخه های اصلی NTFS به شرح زیر است:

  • NTFS 1: Windows NT 3.1. 1993.
  • NTFS 1.1: Windows NT 3.51. 1995.
  • NTFS 1.2: Windows NT 4.0. 1996.
  • NTFS 3.0: Windows 2000. 2000.
  • NTFS 3.1: Windows XP، Windows Vista، Windows 7، Windows 8 و 8.1، Windows 10. 2001.

این نسخه ها گاهی اوقات با عنوان نسخه های V4.0، v5.0، v5.1، v5.2 و v6.0 شناخته می شوند. نسخه های اخیر دارای برخی ویژگی های جدید مانند اندازه دیسک و نقاط نصب هستند. NTFS سیستم فایل پیش فرضی است که از زمان ویندوز XP توسط سیستم عامل های مایکروسافت استفاده می شود. تمام نسخه های ویندوز ویندوز XP از نسخه 3.1 استفاده می کنند. همچنین یک سیستم فایل محبوب برای هارد دیسک اکسترنال است که یک انتخاب عالی است. معمولاً در کارت های SD و درایوهای فلش USB با ظرفیت ذخیره سازی کم استفاده نمی شود. FAT32 یا exFAT ترجیح داده می شود زیرا به خوبی با دستگاه های چند رسانه ای سازگار است.

نسخه ترکی.