فایل سیستم NTFS چیست؟ و مشخصات آن
آشنایی با فایل سیستم انتیافاس (NTFS) ویندوز و مشخصات و قابلیتهای مهم آن. فایل سیستم یکی از مواردی است که هنگام فرمت کردن درایوها باید آن را انتخاب کنید.
مختصری درباره فایل سیستم
پست اصلی: سیستم فایل (File System) چیست؟
فایل سیستم (File System) سامانهای است که یک سیستم عامل با استفاده از آن، فایلها و پوشهها را مرتب سازی کرده و دسترسی به آنها را ساده تر میکند. با استفاده از فایل سیستم است که فایلها را ذخیره کنیم، آنها را پیدا کنیم و اطلاعاتشان را ببینیم. معادل فایل سیستم را در زندگی روزمره میتوان لیست کتابهای موجود در یک کتابخانه دانست. بدون لیست ما باید از اول تا آخر کتابخانه را بررسی کنیم تا کتاب مورد نظرمان را بیابیم اما با وجود یک لیست میتوانیم به صورت مستقیم سراغ آن برویم.
فایل سیستم NTFS
انتیافاس (NTFS) مخفف New Technology File System به معنی “سیستم فایلِ تکنولوژی جدید” بوده و فایل سیستمی است که توسط شرکت مایکروسافت (Microsoft) طراحی و در Windows NT 3.1 استفاده شد. از آن به بعد فایل سیستم پیشفرض برای خانواده NT در نظر گرفته شد. خانواده NT را اغلب ما از ویندوز ۲۰۰۰ تا همین ویندوز ۱۰ جدید میشناسیم ولی حتی قبل از ۲۰۰۰ هم چندین نسخه از آن طراحی شده بود.
علاوه بر سیستم عامل ویندوز، در مک اواسایکس (Mac OSX) شرکت اپل هم میتوان از این فایل سیستم استفاده کرد. در هسته لینوکس هم درایور NTFS تعبیه شده تا بتوانیم به راحتی فایل در این درایوها رد و بدل کنیم.
مشخصات مهم NTFS
نام فایلها و پوشهها
در فایل سیستم انتیافاس حداکثر طول نام پوشهها یا فایلنیم (Filename) یعنی نام فایل، نقطه جدا کننده پسوند و پسوند فایل میتواند تا ۲۵۵ کاراکتر یونیکد (Unicode که شامل حروف فارسی هم است) باشد. مثالهایی از فایلنیم: 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 فرق دارد و در خود فایل سیستم این قابلیت وجود دارد که این دو فایل در کنار یکدیگر قرار بگیرند اما ویندوز این اجازه را نمیدهد. یعنی نمیتوانید دو فایل یا پوشه که تنها تفاوتشان در بزرگ یا کوچک بودن حروف است را در کنار یکدیگر قرار دهید.
در هنگام ذخیره کردن و ایجاد فایلها، نام فایلها و پوشهها نباید شامل برخی از کاراکترهای کاربردی یا برخی از اسامی از پیش رزرو شده باشند. از این کاراکترها میتوان به موارد زیر اشاره کرد:
نال (خالی. یعنی فایل یا پوشه نامی نداشته باشد) و / و ? و < و > و \ و : و * و | و ”
از نامهای رزرو شده هم به موارد زیر:
com1, com2, com3, com4, com5, com6, com7, com8, com9, lpt1, lpt2, lpt3, lpt4, lpt5, lpt6, lpt7, lpt8, lpt9, con, nul, و prn
پست مرتبط: چرا نمیشود در سیستم عامل ویندوز فولدری با نام con ساخت؟ + راه های میانبر برای ساختن آن
مقیاس پارتیشنها
در فایل سیستم انتیافاس اندازه هر کلاستر (بلوک داده) میتواند از ۵۱۲ بایت (برابر ۱ سکتور legacy) تا ۶۴ کیلوبایت (برابر ۱۲۸ سکتور legacy یا یا ۱۶ سکتور ۴k) باشد. اندازه پیشفرض کلاسترها ۴ کیلوبایت (برابر ۸ سکتور legacy یا یک سکتور ۴k) است. برای آشنایی با کلاسترها به پست “فایل سیستم چیست” بروید.
نهایت حجم یک درایو یا پارتیشن با فایل سیستم انتیافاس میتواند تا ۲۶۴ منهای یک عدد کلاستر باشد. یعنی با اندازه کلاسترهای ۶۴ کیلوبایتی نهایت اندازه ولوم (پارتیشن، درایو) ما میتواند حدود ۲۵۶ ترابایت (بسیار بیشتر از اکثر هارد دیسکهای موجود در بازار) و با کلاسترهای ۴ کیلوبایتی حداکثر اندازه ولوم حدود ۱۶ ترابایت خواهد بود. البته به دلیل محدودیتهای اندازه دهی در مستر بوت رکورد (MBR) اندازه هر پارتیشن فقط تا ۲ ترابایت میتواند باشد. برای اندازههای بیشتر باید از GPT بجای MBR استفاده شود.
حداکثر حجم فایلهای موجود در پارتیشنهایی با فایل سیستم NTFS به صورت تئوری میتواند تا ۱۶۷۷۷۲۱۶ ترابایت باشد اما اغلب به دلیل محدودیتها، حداکثر حجم ۲۵۶ ترابایت در نظر گرفته میشود. یعنی میتوانیم فایلهایی تا حداکثر ۲۵۶ ترابایت حجم داشته باشیم! قابل ذکر است که هر ترابایت ۱۰۲۴ گیگابایت بوده و در فایل سیستم FAT32 حداکثر اندازه فایل ۴ گیگابایت و در FAT16 برابر ۲ گیگابایت است.
قابلیتهای مهم NTFS
ثبت تغییرات
فایل سیستم NTFS ژورنالی است یعنی قسمتی دارد که در آن عملیات اعمال تغییرات بر روی فایلها (انتقال، ذخیره و …) یکی یکی ثبت میشوند. این ثبت شدن اطلاعات باعث میشود که سیستم اگر در حین انجام یک عملیات کرش شود یا مثلاً برق برود، با دنبال کردن این لاگها، فایل سیستم خواهد توانست که کار خود را از سر گیرد و از طرفی احتمال از دست رفتن اطلاعات یا به اصطلاح خراب شدن فایل سیستم، بسیار کمتر شود. این قابلیت در FAT ها وجود ندارد.
پیوندهای سخت
هارد لینک (Hard Link) یا پیوند سخت تقریباً شبیه میانبر (شورتکات) هایی که ما میشناسیم عمل میکنند. میانبر فایلی است که با اجرای آن، ما فایل دیگری را فراخوانی میکنیم. نوع پیوند دادن در میانبرها به صورت نرم است یعنی ما با فایل میانبر، فایل دیگری را فراخوانی میکنیم نه محتوای آن را به صورت مستقیم. اما در هارد لینکها ما فایلهایی داریم که همه آنها به یک محتوا، یک مجموعه داده بر روی هارد دیسک اشاره میکنند.
جریانهای داده جایگزین
در پیوندهای سخت گفتیم که یک مجموعه داده (که جریان نیز گفته میشود) میتواند چندین فایل اشاره گر داشته باشد. قالبیت جریانهای داده جایگزین (Alternate data streams یا به اختصار ADS) دقیقاً برعکس این است. با استفاده از این قابلیت ما میتوانیم یک فایل داشته باشیم ولی بجای یک مجموعه داده (جریان) به چندین مجموعه یا محتوای دیگر اشاره کند. مثلاً یک فایل هم به محتوای یک mp3 اشاره میکند و هم به محتوای یک فایل متنی.
فشرده سازی دادهها
فایل سیستم انتیافاس علاوه بر قابلیتهای بالا، باعث افزایش سرعت و بهیته تر کردن فضای ذخیره سازی با استفاده از الگوریتم فشرده سازی LZNT1 نیز میشود. در این الگوریتم هر ۱۶ کلاستر یا بلوک داده به عنوان یک چانک یا قسمت در نظر گرفته شده و اطلاعات بصورت ۱۶ بلوک ۱۶ بلوک فشرده میشوند. البته این فشرده سازی فقط تا کلاسترهایی با اندازه ۴ کیلوبایت انجام میشود یعنی در چانکهایی با اندازه ۶۴ کیلوبایت. برای کلاسترهایی با اندازه بیشتر از ۴ کیلوبایت فشرده سازیای انجام نمیشود. پس از این که دادهها در قالب ۶۴ کیلوبایت (با فرض کلاسترهایی با حجم ۴ کیلوبایت) فشرده شدند، اگر حجم آنها بیشتر از اندازه یک کلاستر کاهش داده شده باشد (مثلاً از ۶۴ کیلوبایت به ۵۸ کیلوبایت کاهش یافته باشد)، در واقع یک کلاستر خالی خواهیم داشت که چیزی بر روی آن نوشته نخواهد شد و به این صورت در فضای ذخیره سازی صرفه جویی خواهد شد.
البته استفاده از فشرده سازی در همه جا خوب نیست. مثلاً در سرورها که منابع سخت افزاری مثل قدرت پردازشی پردازنده و … مهم هستند و از طرفی این فشرده سازی پیاپی به این منابع نیاز خواهد داشت، استفاده از فشرده سازی مناسب نخواهد بود چون ارزش قدرتهای پردازشی در چنین سیستمهایی از فضای ذخیره سازی بیشتر است.
از طرفی به دلیل تکه تکه شدن فایل (که فرگمنت شدن میگویند)، در هارد دیسکها برای جلوگیری از کاهش عملکرد سیستم و سرعت خواندن اطلاعات، نیاز به دیفرگمنت خواهد بود با این حال در دیسکهای حالت جامد یا حافظههای فلش به دلیل وجود نداشتن قطعات مکانیکی، این فرگمنت شدن تاثیر بسـیار کمی بر روی عملکرد کلی خواهد گذاشت.
فایلهای پراکنده
فایلهای پراکنده (Spares File) به فایلهایی گفته میشود که حجم بسیار زیادی از آن بدون استفاده باشد و فقط تکههایی از آن دارای محتوای ارزشمند باشد. برای درک بهتر فرض کنید یک میکروفون داریم که ۱۰ ساعت درحال ضبط است اما فقط چند ساعت در جلوی آن حرف زده میشود. مشخص است که حجم ۱۰ ساعت صدا خیلی بیشتر از فقط یک یا دو ساعت است. فایلهای پراکنده نیز چنین هستند. در فایل سیستم NTFS قسمتهای خالی که شامل داده نیستند با متادیتای خاصی علامت گذاری شده و فقط قسمتهای شامل داده بر روی دیسک ذخیره میشوند.
در هنگام خواندن اطلاعات، فایل سیستم از متادیتاها کمک گرفته و در جاهای مورد نیاز، فضای خالی رو از نو تولید کرده و در اختیار برنامه قرار میدهد. با این کار درست است که فایلها تکه تکه (فرگمنت) میشوند اما حجم زیادی از آنها کاسته خواهد شد.
کپیهای مخفی
این فایل سیستم دارای قابلیتی به نام Volume Shadow Copy است که هنگام نوشتن فایلها روی هم یا تغییر فایلها طبق قوانین خاصی یکی کپی از فایل قبلی برمیدارد. این کپی به کاربر اجازه میدهد که درصورت نیاز نسخه قبلی را بازیابی کند اما همانطور که گفته شد فقط طیق قوانین یا rule های خاصی اینکار را انجام میدهد.
امنیت
فایل سیستم انتیافاس دو قابلیت امنیتی مهم برای جلوگیری از دسترسی افراد غیرمجاز به فایلها را دارد. در این فایل سیستم همه فایلها و پوشهها یک قسمت اطلاعاتی دارد که در آن دو لیست کنترل دسترسی (ACL) وجود دارد:
یک لیست کنترل دسترسی پیشگیرانه (DACL) که مشخص میکند کدام کاربران سیستم یا گروههای کاربری میتوانند به فایل دسترسی داشته باشند، آن را بخوانند، اجرا کنند، تغییر دهند، حذف کنند و … درواقع صاحب فایلها و دسترسی (پرمیژن) افراد را مشخص میکند.
مورد امنیتی دیگر یک لیست کنترل دسترسی سیستم (SACL) است که با فعال بودنش هرگونه دسترسی به فایل و انجام عملیاتهای بالا لاگ و ثبت میشوند. بدین ترتیب ادمینهای سیستم میتوانند بفهمند که چه زمانی کدام کاربر چه عملی را بر روی فایل انجام داده است.
رمزگذاری
قابلیتی در فایل سیستم انتیافاس وجود دارد که با فعال بودنش در پشت صحنه و بدون متوجه کردن کاربر، اقدام به رمزگذاری اطلاعات هنگام ذخیره و رمزگشایی آنها هنگام خواندن میکند. چون این عمل رمزنگاری با کلیدهای متقارن انجام میشود، سرعت آن زیاد است و اغلب لطمهای به کار کاربر نمیزند. برای مواقعی که سیستم کاربر به رمزها دسترسی نداشته باشد، یک رمز اضافی برای تکنسینهای آن سیستم در نظر گرفته شده که آنها میتوانند اطلاعات را بازیابی کنند.
سهمیه دیسک
ادمینهای سیستم میتوانند با استفاده از فایل سیستم NTFS استفاده از دیسک را بین کاربران خود سهمیه بندی کنند. یعنی مثلاً کاربر A حداکثر ۸ گیگابایت فضا خواهد داشت، کاربر B 1 ترابایت و … . علاوه بر سهمیه بندی، مدیر سیستم میتواند این اطلاعات و فرایند را مانیتور هم بکنم یعنی بر استفاده کاربران از دیسک نظارت داشته باشد.