پنجشنبه، مرداد ۲۹، ۱۳۸۸

سيستم فايلهاي NTFS و FAT


در یک سیستم عامل به ساختار کلی نامگذاری ، ذخیره سازی و سازماندهی فایل ها گفته می شود . سیستم فایلها ، داده ها را به واحدهایی به نام Cluster تقسیم بندی می کنند . هر کلاستر میتواند فقط بخشی از یک فایل را نگه دارد .

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

Fat مخفف File Allocatin Table ، جدول تخصیص فضا به فایل . اینجدول که در نزدیکیهای ابتدای دیسک سخت ذخیره می شود ، توسط سیستم عامل نگهداری میشود تا فضای مورد استفاده برای ذخیره سازی فایل ها را مدیریت کند . این جدول وظیفهنگهداری فضاهای موجود در دیسک را بر عهده دارد تا سگمنت های خراب غیر قابل استفاده، علامت گذاری شوند و قسمت های مختلف یک فایل با یکدیگر مرتبط شوند . در واقع هنگامذخیره داده ها روی دیسک سخت ، سیستم جهت دستیابی به کلاسترهای خالی با Fat مشورتکرده و هم در هنگام اجرا فایل ، Fat را جستجو می کند تا کلاسترهای مرتبط با آن رایافته و اطلاعات ذخیره شده در آن کلاسترها را بخواند . دو نوع Fat اصلی وجود دارد : Fat 16 , Fat32

Fat 16 : این سیستم فایل ، یک سیستم فایل 16 بیتیاست ، زیرا کلاستر هایی را تشخیص می دهد که 16 بیت طول ( یا رقم ) دارند . اندازهکلاسترهای Fat بسته به مقدار فضا درایوی است و از آنجا که Fat16 نمی تواند بهاندازه Fat32 کلاستر داشته باشد ، برای پوشش دادن به مقدار یکسانی از فضا بهکلاسترهای بزرگتری نیاز دارد . Windows XP کلاسترهای 64 کیلو بایتی را برای Fat16 پشنیبانی می کند. چون Fat16 فقط 65,536 کلاستر را پشتیبانی می کند ، با این سیستمفایل ، حداکثر یک پارتیشن 4 گیگابایتی را می توان تقسیم بندیکرد.

Fat32 : یک سیستم فایل 32 بیتی است ، می تواند کلاسترهایبیشتری را نسبت به Fat16 آدرس دهی کند . در نتیجه Fat32 می تواند از کلاسترهایکوچکتری برای کارآمدتر کردن سیستم ذخیره سازی ، بهره بگیرد . همچنین بدین مفهوم استکه Fat32 می تواند پارتیشنهای بزرگتری را پشتیبانی کند . Fat32 با کلاسترهای 32بیتی می تواند پارتیشنهایی تا 8 ترا بایت را پشتیبانی کند.

NTFS مخفف NT File System می باشد . در سیستم فایل fat ، جدول تخصیص فضا ( File Allocation Table ) داشتیم و در اینجا جدول فایل اصلی ( MFT: Master File Table ) داریم . البته MFT بسیار پیچیده تر است . MFT صفات فایل را برای هر فایل ذخیره شدهدر پارتیشن NTFS ذخیره می کند . ( صفات فایل هر چیزی را که لازم است درباره یک فایلدانست ، توصیف می کند . در NTFS حتی داده های موجود در یک فایل نیز صفت فایل محسوبمی شود . اسم ، مکان ، و اطلاعات امنیتی نیز ، از دیگر صفات فایل محسوب می شود )
NTFS در صورت امکان همه صفات فایل را ، شامل داده های فایل ، در MFT ذخیره میکند . ( هر چند در اکثر موارد ، جای کافی برای ذخیره همه صفات در MFT وجود ندارد . در این زمان صفت داده ای به خارج MFT انتقال می یابد . )
MFT بعنوان یک فایل Metadata مشهور است . ( Metadata اساسا داده هایی درباره خود Data است . بعنوان مثال عنوان ، موضوع ، مولف و اندازهیک فایل ، Metadata آن فایل را تشکیل می دهند ) NTFS از فایلهای Metadata برایمدیریت داده های روی پارتیشن بهره می گیرد.

تفاوت دو سیستم فایل NTFS و Fat32 ؟

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

در میان آنچه ذکر شد ،سیستم فایل کارآمد NTFS است . چون می تواند برای پارتیشنهای 2 گیگابایت و بیشتر ،کلاسترهای 4 کیلو بایتی ایجاد کند ، که بهترین تعادل بین سرعت عمل دیسک سخت و صرفهجویی در فضای دیسک را فراهم می سازد . و در واقع بهترین کارآیی را به سیستم می دهد .
چهار مجوز استاندارد در سيستم NTFS براي فايل ها و پوشه هاوجود دارد :

1- No Access: باانتخاب اين گزينه كاربران هيچگونه مجوزي براي خواندن ، نوشتن و ... فايل يا پوشهمربوطه نواهند داشت .

2- Read : با توجه به آنكه اجزاه خواندن يك فايل شامل اجراي آننيز مي باشد ،از اين رو كاربري كه اين سطوح از دسترسي را داشته باشد مي تواند فايلرا اجرا كرده و آن را بخواند .

3- Change : اين سطح دسترسي و مجوز ، كاربر را قادر مي كند تا فايل راخوانده و در صورت لزوم تغييرات خود را در آن انجام دهد يا حني فايل را حذف كند .

4- Full Control : با فعال بودن اين گزينه كاربران داراي مجوز مي توانند فايل را خواند ،تغييرات مورد نياز را درآن ايجاد كرده و يا حذف كنند . در واقع تمام امكانات واختياراتي كه كاربر در حالت Change دارد در اين قسمت نيزوجود دارد و فرق اين دو سطح مجوز در آن است كه با داشتن مجوز Full Controll، كاربر مي تواند حتي براي ساير كاربران سيستم دسترسي تعريف كند و يا دسترسيكاربر ديگر را از آن پوشه و يا فايل حذف كند .

از لحاظ امنيتي بهتر است حتي الامكان از اين مجوز استفادهنكنيد ، زيرا داشتن مجوز Change بالاترين سطح دسترسي را به كاربرانمي دهد مگر آنكه واقعا بخواهيد كاربري امكان تعريف يا حذف مجوز براي سايرين راداشته باشد .

البته مجوزه هاي ديگري نيز چون Read Only ، No Execute، Execute Only ، Write Only و ... نيز قابل تعريف مي باشند .