امروزه کاربران اطلاعات زیادی را همراه خود داشته و جهت نگهداری از آنها، اطلاعات را در ابزارهای ذخیرهسازی ازجمله هارددیسک و فلش، ذخیره میکنند. این ابزارها هرکدام مجهز به یک فایل سیستم جهت ذخیرهسازی اطلاعات هستند. در حقیقت فایل سیستم در این ابزارها، محل ذخیرهسازی فایل و دایرکتوریها را نشان میدهد. کاربر میتواند با استفاده از فایل سیستم به این اطلاعات در ابزارهای ذخیرهسازی بهراحتی دسترسی پیدا کند. درصورتیکه فایل سیستمی وجود نداشت یا فایل سیستم موجود به مشکل برمیخورد، به دلیل اینکه سیستمعامل نمیتوانست محل ذخیرهسازی فایل و دایرکتوری را مشخص کند کاربر قادر به دسترسی اطلاعات ذخیرهشده موردنیاز خود در ابزارهای ذخیرهسازی نبود.سیستمعاملهای مختلف، فایل سیستمهای مختلفی دارند. بهعنوانمثال سیستمعامل ویندوز، از فایل سیستمهای FAT و NTFS استفاده میکند یا سیستمعامل مک از فایل سیستم HFS plus و لینوکس از فایل سیستم EXT2، EXT3 و EXT4 استفاده میکند. در ادامه بحث با فایل سیستمها بیشتر آشنا شده و تفاوتهای بین آنها را بیان میکنیم.
معرفی فایل سیستم
در ابتدا باید ببینیم فایل سیستم چیست و چگونه کار میکند. هرکدام از ابزارهای ذخیرهسازی جهت استفاده باید پارتیشنبندی شوند و حداقل یک پارتیشن داشته باشند. هر پارتیشن باید با یک فایل سیستم مشخص که با سیستمعامل سازگار است فرمت شود. بهعنوانمثال در سیستمعامل ویندوز XP درصورتیکه یک هارددیسک با چهار عدد پارتیشن داشته باشیم، باید پارتیشنها را با فایل سیستمی که با این سیستمعامل سازگار است، مانند FAT یا NTFS فرمت کنید یا در سیستمعاملهای ویندوز 7 یا 8 باید پارتیشنها با فایل سیستم NTFS فرمت شود. فایل سیستم امکانات مختلفی را جهت ذخیرهسازی فایل فراهم میکند. فایل سیستم میتواند محل ذخیرهسازی فایل و دایرکتوری را مشخص کند؛ بهعبارتدیگر با استفاده از فایل سیستم میتوان به فایل ذخیرهشده در ابزار ذخیرهسازی با تعیین محل ذخیرهسازی آن، دسترسی پیدا کرد. امکان دیگری که فایل سیستم فراهم میکند، ذخیره توضیحات بیشتر در مورد فایل (metadata) مانند اسم فایل، مجوزهای دسترسی به فایل، مخفی بودن یا نبودن فایل، حجم فایل و سایر صفتهایی که مربوط به فایل میشود، است.
فایلها در کجا ذخیره میشوند؟
همانطور که گفته شد، وظیفه فایل سیستم این است که محل ذخیرهسازی فایل موردنظر را مشخص کرده تا ما بتوانیم بهراحتی به آن فایل دسترسی پیدا کنیم. حال فایلها بهوسیله فایل سیستم آدرسدهی شده، در کجا ذخیره خواهند شد؟ کوچکترین واحد ذخیرهسازی در هارددیسک، سکتور نام دارد. معمولا سکتور در هاردهای مختلف 512 بایت است (البته در هارددیسکهای جدیدتر مقدار 4096 بایت برای هر سکتور نیز دیده میشود). مجموعه چند سکتور (توان دو) کلاسترها را تشکیل میدهند و فایلها روی کلاسترها ذخیره میشوند. فایلها روی کلاسترها هم میتوانند بهصورت ترتیبی و هم بهصورت تصادفی ذخیره شوند. ذخیره فایلها و دایرکتوریها بهصورت ترتیبی و در کلاسترهای پشت سرهم زیاد بهینه نیست؛ زیرا ممکن است یک قسمت از فایل موردنظر که روی یک کلاستر بوده، حذف شود و تغییراتی روی آن انجام شود. این تغییرات ممکن است حجم آن قسمت از فایل را تغییر داده و آن قسمت از فایل دیگر نتواند در کلاستر قبلی خود قرار بگیرد. در این صورت باید فایلها به سمت چپ یا راست شیفت داده شوند تا آن قسمت از فایل در کلاستر خودش قرار بگیرد که درنهایت، این عمل هزینهبر بوده و زیاد بهصرفه نیست.بنابراین فایلها در کلاسترها، بهصورت تصادفی ذخیره میشوند. در حقیقت قسمتهای مختلف یک فایل در کلاسترهای مختلف قرار میگیرد. بهعنوانمثال درصورتیکه یک فایل 12 کیلوبایتی داشته باشیم و اندازه کلاسترها 4 کیلوبایت باشد، نیاز به سه عدد کلاستر داریم که ممکن است این کلاسترها بهصورت ترتیبی یا بهصورت نامنظم در نظر گرفته شوند.
چرا تعداد فایل سیستمها زیاد است؟
همانطور که گفته شد هر سیستمعامل از یک فایل سیستم مشخص حمایت میکند. فایل سیستمهای مختلف از روشهای متفاوتی جهت آدرسدهی و مرتب کردن فایلها استفاده میکنند و تفاوتهای نسبتا زیادی بین فایل سیستمها وجود دارد. ممکن است یک فایل سیستم، سرعت بیشتری در مرتب کردن و آدرسدهی فایلها، نسبت به سایر فایل سیستمها داشته باشد یا یک فایل سیستم، نکات امنیتی بیشتری را در نگهداری فایلها، در نظر بگیرد. ممکن است یک فایل سیستم نسبت به فایل سیستمهای دیگر، حجم بیشتری برای یک فایل یا یک پارتیشن در نظر بگیرد. بهعنوانمثال در فایل سیستم FAT32، حداکثر یک فایل با حجم 4 گیگابایت میتواند آدرسدهی شود. درصورتیکه در فایل سیستم NTFS این میزان میتواند به 16 ترابایت برسد. بنابراین با توجه به خصوصیات و ویژگیهایی که فایل سیستمها دارند، نمیتوان گفت که کدام فایل سیستم از فایل سیستمهای دیگر بهتر است. هر فایل سیستم مزایا، معایب و ویژگیهای مربوط به خود را دارد. فایل سیستم جدیدتر میتواند از سرعت بالاتر، قدرت و انعطافپذیری بیشتر و فضای ذخیرهسازی بیشتر، برخوردار بوده و ویژگیهای مربوط به فایل سیستم قدیمیتر را نیز شامل شود. فایل سیستم موجود در پارتیشن تنها یک قسمت کوچک از آن پارتیشن را اشغال میکند و میزان فضای بیشتر پارتیشن به ذخیرهسازی فایلها و دایرکتوریها اختصاص مییابد.
تغییر فایل سیستمها
در هر پارتیشن، این امکان وجود دارد که بتوان فایل سیستمها را تغییر داد. بهعنوانمثال در سیستمعامل ویندوز، پارتیشنی که دارای فایل سیستم FAT32 است را میتوان به فایل سیستم NTFS بدون فرمت کردن درایو و بدون از دست دادن اطلاعات پارتیشن، تبدیل کرد. با استفاده از دستور زیر در Command Prompt میتوان این کار را انجام داد: Convert lable: /fs: NTFS +در قسمت label، نام برچسب پارتیشن نوشتهشده و در مقابل FS (فایل سیستم)، نام فایل سیستم یعنی NTFS نوشته میشود. تبدیل فایل سیستم از NTFS به FAT32 نیز وجود دارد منتها با دستور گفتهشده امکانپذیر نیست و باید پارتیشن موردنظر با فایل سیستم FAT32 فرمت شود. معمولا در نسخههای مختلف لینوکس دو فایل سیستم مربوط به ویندوز، قابلشناسایی است. بهعنوانمثال در لینوکس RedHat، فایل سیستم FAT32 قابلشناسایی است. در نسخههای بالاتر نیز فایل سیستم NTFS شناسایی میشود ولی قابلیت خواندن و نوشتن اطلاعات روی پارتیشن با این فایل سیستم وجود ندارد و برای این کار نیاز به ابزارهای خاصی است؛ بنابراین برخی از سیستمعاملها، با فایل سیستمهای مختلف سازگاری کامل دارند.
آشنایی با فایل سیستمهای مختلف
در این قسمت فایل سیستمهای مختلفی که در سیستمعاملهای مختلف مورداستفاده قرار میگیرد، معرفیشده و روشهای آنها جهت دسترسی به فایل و اطلاعات موجود در ابزارهای ذخیرهسازی، مطرح میشود.
1- FAT32: نخستین فایل سیستمی که لازم است با آن آشنا شوید فایل سیستم FAT32 است. این فایل سیستم، جزو قدیمیترین فایل سیستمها در سیستمعامل ویندوز محسوب میشود. با این حال هنوز از این فایل سیستم در فلشها، ابزارهای ذخیرهسازی با ظرفیت کم، کنسولهای بازی و دوربینهای دیجیتال استفاده میشود. عملکرد این فایل سیستم به این صورت است که قسمتهای مختلف یک فایل را در کلاسترها بهصورت تصادفی ذخیره میکند. فایل سیستم FAT32 بهصورت یک لیست پیوندی است که هر لیست به لیست بعدی خود اشاره میکند.تصویر یک مثالی از نحوه ذخیرهسازی در سیستم فایل FAT 32 در زمان حضور چندین فایل را نمایش میدهد.
بهعنوانمثال فایل Fred. doc قرار است مکانش مشخص شود و در نخستین کلاستر با شماره 8293 قرار میگیرد. در حقیقت این شماره کلاستر شروع فایل موردنظر است. قسمت بعدی فایل در کلاستر با شماره 8296، قسمت بعدی در کلاستر با شماره 8297، قسمت بعدی در کلاستر با شماره 8299 و انتهای فایل نیز در کلاستر آخر یعنی 8300 ذخیره میشود. تمام این کلاسترها با استفاده از لیست پیوندی به یکدیگر اشاره میکنند تا بهراحتی بتوان آدرس فایل ذخیرهشده را به دست آورد و بهاینصورت فایل Fred. doc آدرسدهی میشود. از مشکلاتی که این فایل سیستم دارد میتوان به حجم زیاد فایل سیستم لود شده در حافظه اصلی در زمان دسترسی به فایل موردنیاز در ابزار ذخیرهسازی، محدودیت در اندازه فایل و پارتیشن و در مواردی فاصله زیاد کلاسترهای مربوط به یک فایل و حرکت ناگهانی هد برای دسترسی به فایل موردنظر، اشاره کرد. ساختار دیسک در فایل سیستم FAT32 در تصویر 2 نمایش دادهشده است.
در این ساختار که مربوط به هر پارتیشن است، یک ناحیه رزرو شده وجود دارد که مربوط به فایلهای حیاتی سیستم و فایلهای بوت سیستمعامل است. همچنین یک قسمت مربوط به فایل سیستم FAT32 به همراه نسخه پشتیبان خود و قسمت بعدی که مربوط به محل ذخیرهسازی فایل و دایرکتوری است.
2- NTFS: بهترین فایل سیستم مربوط به سیستمعامل ویندوز است و هنوز در سیستمعاملهای جدید، یعنی ویندوز 7 و ویندوز 8 نیز مورداستفاده قرار میگیرد. فایل سیستم NTFS تنها بخشی از فضای پارتیشن را اشغال کرده است (MFT). بخشهای دیگر پارتیشن مربوط به فایلهای بوت، فایل پشتیبان از فایل سیستم و فضای ذخیرهسازی فایل و دایرکتوری است (تصویر 3).
این فایل سیستم براساس (MFT (master file table، است. درواقع MFT یک فایل مبتنی بر رکورد است که هر رکورد قابلیت آدرسدهی تا 48 بیت را دارد. 16 رکورد اول در MFT رزرو شده و برای انجام امور سیستم مورداستفاده قرار میگیرد (تصویر 4).
بهعنوانمثال رکورد $bitmap، این وظیفه را دارد که با استفاده از دو بیت 0 و 1 کلاسترهای خالی، پر یا استفادهشده را نشان دهد. در صورتی که برای یک کلاستر بیت صفر در نظر گرفتهشده باشد، آن کلاستر خالی است و در صورتی که بیت 1 برای آن شماره کلاستر درنظر گرفتهشده باشد، به این معنی است که آن کلاستر پر و استفادهشده است و نمیتوان فایلی را روی آن ذخیره کرد.فایل سیستم NTFS نسبت به فایل سیستم FAT32 مزیتهای زیادی از جمله، امنیت بیشتر اطلاعات و فایلها، قابلیت بازیابی سادهتر و موثرتر اطلاعات، حجم کم فایل سیستم لود شده در حافظه اصلی نسبت به فایل سیستم FAT32 و دسترسی راحتتر و سریعتر به قسمتهای مختلف یک فایل دارد.
3- EXT2, EXT3, EXT4: این فایل سیستمها در رده فایل سیستمهای مورداستفاده در سیستمعامل لینوکس است. دو فایل سیستم EXT2 و EXT3 فایل سیستمهای قدیمیتر هستند و فایل سیستم EXT4 فایل سیستم جدیدتر است. با توجه به مشکلاتی که فایل سیستم EXT2 داشت از جمله سرعت کم، حمایت نکردن از حجم بیشتر فایل و پارتیشن و از دست دادن اطلاعات در هنگام ایجاد مشکل برای هارددیسک، فایل سیستم EXT3 که دارای سرعت بیشتر و انعطافپذیری بالاتر بود، معرفی شد. آخر فایل سیستم EXT4، نسبت به نمونههای قبلی جدیدتر بوده و قدرت و سرعت بالاتری را ارائه میدهد. فایل سیستمهای موجود در لینوکس با فایل سیستمهای NTFS و FAT32 سازگاری داشته و قادر به خواندن و نوشتن اطلاعات در پارتیشن با این فایل سیستم نیز هستند. در صورتی که دو سیستمعامل مک و ویندوز، فایل سیستمهای موجود در سیستمعامل لینوکس را پشتیبانی نمیکنند.تصویر5 ساختار دیسک در فایل سیستم لینوکس را نشان میدهد.
در این تصویر، B به معنی Boot Block است که به بلاک (کلاستر) موردنظر برای فایلهای بوت اشاره دارد که معمولا این مقدار بهاندازه یک سکتور (512 بایت) است. قسمت دوم S همان Super Block است که فایلهای حیاتی و ضروری از جمله لیست بلاکهای خالی و پر، لیست I-node ها، نوع و نسخه سیستمعامل و کدهای ضروری را در خود ذخیره میکند. وظیفه I-node ها این است که صفات مربوط به یک فایل را درون خود ذخیره کرده و مکان و محل ذخیرهسازی فایل و دایرکتوری را نیز مشخص میکنند. درواقع I-node ها بهصورت یک لیست از بالا به پایین هستند که با I-node شماره صفر که مربوط به Root اطلاعات است شروع میشود. در قسمت I-node Bitmap، لیست I-node های خالی و پر نیز به کمک بیتهای صفر و یک نمایش داده میشوند. هر I-node مربوط به یک فایل است و زمانی که قرار است یک فایل ذخیره شود، یک I-node خالی صفات مربوط به فایل به همراه مکان ذخیرهسازی آن فایل را در خود ذخیره میکند.زمانی که روی یک پارتیشن راست کلیک میکنید، I-node شماره صفر که مربوط به Root است، از هارددیسک فراخوانی و در حافظه اصلی بارگذاری میشود و محل ذخیرهسازی فایل و دایرکتوریهای موجود در آن پارتیشن را نشان میدهد. در صورتی که روی یک فولدر در داخل آن پارتیشن دوبار کلیک کنید، با این کار I-node مربوط به این فولدر که دارای یک شماره است، از هارد فراخوانده شده و در حافظه اصلی بارگذاری میشود و درنهایت با این کار میتوانید به محتویات آن فولدر که شامل فولدرها یا فایلهای دیگر است دسترسی پیدا کنید (عملکرد فایل سیستمهای دیگر نیز تقریبا مشابه همین فایل سیستم است). با توجه به موارد فوق، یکی از تفاوتهایی که بین فایل سیستم ویندوز و لینوکس وجود دارد این است که در فایل سیستم ویندوز، صفات فایل همراه با خود فایل در یک مکان ذخیره میشوند در صورتی که در فایل سیستم لینوکس، صفات فایل جدا از خود فایل ذخیره میشوند.
4- BTRFS: میتوان گفت این فایل سیستم، بهترین فایل سیستم موجود در سیستمعامل لینوکس است. این فایل سیستم هنوز درحالتوسعه است و بهصورت پیشفرض روی این سیستمعامل وجود ندارد. درحقیقت این فایل سیستم به دلیل انعطافپذیری بالاتر، سرعت بیشتر و حمایت از حجم بیشتری از فایل و اندازه پارتیشن، قرار است جانشین فایل سیستم EXT4 شود.
5- HFS Plus: این فایل سیستم نیز مربوط به سیستم مک از شرکت Apple است. HFS+ دارای یک ساختار درختی شکل است و میتوان گفت ساختاری شبیه به فایل سیستم NTFS دارد. این فایل سیستم قابلیت خواندن و نوشتن اطلاعات در فایل سیستم FAT32 و قابلیت خواندن اطلاعات از NTFS را دارد. در صورتی که قرار باشد اطلاعاتی در پارتیشن با فایل سیستم NTFS نوشته شود، باید از ابزارهای خاصی استفاده شود.
نتیجهگیری
همانطور که بیان شد، سیستمعاملهای مختلف، از فایل سیستمهای مختلف استفاده میکنند. ما جهت ذخیره اطلاعات در ابزارهای ذخیرهسازی، باید آن ابزار (حافظه فلش یا هارددیسک) را پارتیشنبندی کرده و با یک فایل سیستم که با سیستمعامل مورداستفاده سازگار است فرمت کنیم. فردی که قرار است به اطلاعات ذخیرهشده دسترسی پیدا کند، لازم نیست که بداند فایل سیستم استفادهشده چیست و از چه روشی جهت آدرسدهی و مرتب کردن فایلها و دایرکتوریها استفاده میکند. ولی شما لازم است درصورتی که یک ابزار با حجم کم مانند فلش در اختیار دارید، بهدرستی تشخیص دهید که چه فایل سیستمی برای این ابزار مناسب است. همچنین درصورتیکه از یک سیستمعامل دیگر مانند لینوکس استفاده میکنید، لازم است بدانید که این سیستمعامل با چه فایل سیستمهایی سازگاری کامل دارد.
exfat در حقیقت بهینه شده fat32 است و تقریبا امکاناتی که ntfs ارائه میداد را ارائه داد
درحقیقت محدودیت هایی که در اندازه پارتیشن یا حداکثر سایز فایل در fat32 بود در exfat برطرف شده است…
اگر مموری منظورتون هست معمولا fat32 است…
اگر منظورتون مموری گوشی هست که معمولا fat32 است….
سلام دوست عزیز
باید از نرم افزار Paragon NTFS استفاده کنید
سلام. ازدوستان کسی میدونه برای نوشتن اطلاعات توی مکینتاش روی هارد دیسکی که با ntfs فرمت شده چکارباید کرد. ممنون.
سلام و ممنون از اطلاعات ارائه شده
یه سئوال الآن در حافظه گوشی های موبایل چه سیستمی استفاده میشه؟
سلام
ممنون،خیلی خوبه ولی کامل نیست
چون در مورد exFAT صحبتی نکردید.درسته که تو وین 8.1 دیگه خبری ازش نیست اما تو ویندوزهای قبل داشتم ولی هیچ وقت نفهمیدم چیه،حتی یه سرچ هم زدم اما همش سری توضیحات نامفهوم بود.
اگه بزارید ممنون میشم