جدول تخصیص فایل ( FAT ) فایل سیستم اولیه در سیستم عاملهای داس و ویندوز می باشد. فایل سیستم جدول تخصیص فایل ( FAT ) به صورت ساده طراحی گردیده، و به همین دلیل آن یک فرمت عمومی برای فلاپی دیسک ها ( دیسک نرم ) می باشد؛ علاوه براین، این فرمت به صورت واقعی توسط تمامی سیستم عامل های مختص IBM/PC پشتیبانی می گردد، و به همین دلیل اغلب جهت اشتراک اطلاعات بین سیستم عامل های متفاوت که روی یک کامپیوتر بوت می شوند بکارگرفته می شود ( دریک محیط چند - بوتی ) . همچنین در روی تکه حافظه های سخت - حالت ( Solid - state memory ) و سایر دستگاه های مشابه بکار گرفته می شود. [ ۱]
FAT از لحاظ طراحی قدیمی به نظر می آید، و طراحان آن به نظر می رسد اطلاع دقیقی از طراحی یک فایل سیستم مناسب نداشته اند، و به همین دلیل دارای اشکالات عمده ای می باشد. اولین ایراد آن سادگی لایه فایل آن است که اجازه تکه - تکه نمودن ( Fragmentation ) آسان آن، که منجر به کندی عملیات در سیستم عامل استفاده کننده می گردد. دومین ایراد، FAT برای پشتیبانی ایرادات سیستم طراحی نگردیده است. سومین ایراد این است که نگارش های اصلی آن اجازه استفاده از نام های فایل بیش از ۱۱ کاراکتر را نمی دهند ( ۸ کاراکتر برای نام فایل، ۳ کاراکتر برای پسوند آن ) ، همچنین تغییراتی که بروی این سیستم از سوی مایکروسافت انجام گرفته اما در سیستمی به نام VFAT پیاده سازی گردیده این امکان را می دهد که بتوان ۲۵۵ کاراکتر و بیشتر را به عنوان نام فایل قرار داد. در نهایت چهارمین ایراد این که بروی خوشه ها ( Cluster ) وسیع مقدار زیادی از فضای مورد استفاده به دلیل تعدد فایل های با ظرفیت پایین به هدر می رود. [ ۲]
هرچند به دلیل اینکه آی بی ام طراحی نموده MS - DOS را به عنوان سیستم عامل منتخب بروی PCها، و اینکه MS - DOS استفاده می کند از FAT، این فایل سیستم به صورت گسترده در بخش های مهمی استفاده می گردد. به دلیل طراحی اولیه آن، پیاده سازی دستورالعمل های این فایل سیستم به سادگی میسر می گردد، و همچنین به دلیل گستردگی بی مثال ویندوز و داس، FAT در بعضی مواقع تبدیل به استانداری جهت تبادل اطلاعات می شود.
یک فایل سیستم FAT بروی یک پارتیشن حاوی بخش های ذیل می باشد:
• Partition Boot Record، که حاوی یک یا چند سکتور در ابتدای پارتیشن می باشد که دربرگیرنده اطلاعاتی ابتدایی در مورد سیستم عامل ( به طور خاص، نوع آن ) و برنامه هدایت کننده عملیات بوت ( Boot Loader ) می باشد.
• جدول تخصیص فایل ( File Allocation Table ) فهرستی از اتصالات ( Link ) بین کلاسترها می باشد. کلاسترها قطعات کوچک و مرتبطی می باشند که داده های موجود در فایل ها در آن ها ذخیره می گردند. این زنجیره های اطلاعاتی لزوماً برای ثبت داده های فایل ها و شاخه ها به ترتیب روی دیسک قرار نگرفته اند، در واقع این کلاسترها روی سطح دیسک پخش می باشند. هر رکورد فایلی یا inode، ( که در ذیل شرح داده شده اند ) محل قرارگیری هر اولین کلاستر را نشان می دهد و آن کلاستر نیز به نوبه خود محل قرارگیری کلاسترهای مرتبط بعدی را در دیسک در خود نگه می دارند ( و به همین ترتیب تا به انتهای فایل ) . تعداد بیت هایی که برای آدرس دهی کلاسترها اختصاص می یابد در حقیقت ظرفیت FAT را نشان می دهد. اعدادی مثل ۱۲، ۱۶، ۳۲ در حقیقت ماکسیمم ظرفیت یک پارتیشن FAT را که می توان آدرس دهی نمود نمایش می دهد. FAT یک یا چند ( معمولاً دو ) کپی از خود را بروی دیسک نگهداری می کند تا اگر به دلیل فعالیت های مختلف سیستم عامل آسیب دید به داده های قرارگرفته روی دیسک آسیبی نرسد، همچنین سیستم عامل نتواند ورودی های اضافه ای برای آن ها ایجاد نماید.
• شاخه ریشه ( Root Directory ) برای پارتیشن ( که حداکثر ظرفیت را دارد، معمولاً ۵۱۲ ورودی روی هارددیسک دارد، نوشته شده بروی بوت رکورد ) رکوردهایی از فایل ها و شاخه هایی که در درون آن قرارمی گیرند دارد. رکوردها یا inodeها حاوی اطلاعاتی در مورد فایل ها و شاخه های پارتیشن از قبیل تاریخ ها، ظرفیت، نام، و کلاستر اول را در خود نگهداری می کنند.
• ناحیه داده ( Data Area ) جایی که داده ها، inodeها ( زیرشاخه ها ) ذخیره شده هستند و اکثر فضای پارتیشن را اشغال نموده است. این بخش به قطعات کوچکی بنام کلاستر تقسیم می شود. ظرفیت فایل ها و زیرشاخه ها می تواند به صورت دلخواه افزایش یابد ( تا جایی که فضای خالی از کلاسترها وجود داشته باشد ) به آسانی توسط افزودن لینک های بیشتری به زنجیره فایل ها در FAT. بخاطر داشته باشید هر کلاستر توسط تنها یک فایل می تواند اشغال شود پس بنابراین اگر برای مثال ۲۰ بایت از یک فایل روی یک کلاستر به ظرفیت ۳۲ کیلوبایت به اصطلاح نشست ۳۲ کیلو بایت از دیسک برای آن ۲۰ بایت به هدر رفته است.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفFAT از لحاظ طراحی قدیمی به نظر می آید، و طراحان آن به نظر می رسد اطلاع دقیقی از طراحی یک فایل سیستم مناسب نداشته اند، و به همین دلیل دارای اشکالات عمده ای می باشد. اولین ایراد آن سادگی لایه فایل آن است که اجازه تکه - تکه نمودن ( Fragmentation ) آسان آن، که منجر به کندی عملیات در سیستم عامل استفاده کننده می گردد. دومین ایراد، FAT برای پشتیبانی ایرادات سیستم طراحی نگردیده است. سومین ایراد این است که نگارش های اصلی آن اجازه استفاده از نام های فایل بیش از ۱۱ کاراکتر را نمی دهند ( ۸ کاراکتر برای نام فایل، ۳ کاراکتر برای پسوند آن ) ، همچنین تغییراتی که بروی این سیستم از سوی مایکروسافت انجام گرفته اما در سیستمی به نام VFAT پیاده سازی گردیده این امکان را می دهد که بتوان ۲۵۵ کاراکتر و بیشتر را به عنوان نام فایل قرار داد. در نهایت چهارمین ایراد این که بروی خوشه ها ( Cluster ) وسیع مقدار زیادی از فضای مورد استفاده به دلیل تعدد فایل های با ظرفیت پایین به هدر می رود. [ ۲]
هرچند به دلیل اینکه آی بی ام طراحی نموده MS - DOS را به عنوان سیستم عامل منتخب بروی PCها، و اینکه MS - DOS استفاده می کند از FAT، این فایل سیستم به صورت گسترده در بخش های مهمی استفاده می گردد. به دلیل طراحی اولیه آن، پیاده سازی دستورالعمل های این فایل سیستم به سادگی میسر می گردد، و همچنین به دلیل گستردگی بی مثال ویندوز و داس، FAT در بعضی مواقع تبدیل به استانداری جهت تبادل اطلاعات می شود.
یک فایل سیستم FAT بروی یک پارتیشن حاوی بخش های ذیل می باشد:
• Partition Boot Record، که حاوی یک یا چند سکتور در ابتدای پارتیشن می باشد که دربرگیرنده اطلاعاتی ابتدایی در مورد سیستم عامل ( به طور خاص، نوع آن ) و برنامه هدایت کننده عملیات بوت ( Boot Loader ) می باشد.
• جدول تخصیص فایل ( File Allocation Table ) فهرستی از اتصالات ( Link ) بین کلاسترها می باشد. کلاسترها قطعات کوچک و مرتبطی می باشند که داده های موجود در فایل ها در آن ها ذخیره می گردند. این زنجیره های اطلاعاتی لزوماً برای ثبت داده های فایل ها و شاخه ها به ترتیب روی دیسک قرار نگرفته اند، در واقع این کلاسترها روی سطح دیسک پخش می باشند. هر رکورد فایلی یا inode، ( که در ذیل شرح داده شده اند ) محل قرارگیری هر اولین کلاستر را نشان می دهد و آن کلاستر نیز به نوبه خود محل قرارگیری کلاسترهای مرتبط بعدی را در دیسک در خود نگه می دارند ( و به همین ترتیب تا به انتهای فایل ) . تعداد بیت هایی که برای آدرس دهی کلاسترها اختصاص می یابد در حقیقت ظرفیت FAT را نشان می دهد. اعدادی مثل ۱۲، ۱۶، ۳۲ در حقیقت ماکسیمم ظرفیت یک پارتیشن FAT را که می توان آدرس دهی نمود نمایش می دهد. FAT یک یا چند ( معمولاً دو ) کپی از خود را بروی دیسک نگهداری می کند تا اگر به دلیل فعالیت های مختلف سیستم عامل آسیب دید به داده های قرارگرفته روی دیسک آسیبی نرسد، همچنین سیستم عامل نتواند ورودی های اضافه ای برای آن ها ایجاد نماید.
• شاخه ریشه ( Root Directory ) برای پارتیشن ( که حداکثر ظرفیت را دارد، معمولاً ۵۱۲ ورودی روی هارددیسک دارد، نوشته شده بروی بوت رکورد ) رکوردهایی از فایل ها و شاخه هایی که در درون آن قرارمی گیرند دارد. رکوردها یا inodeها حاوی اطلاعاتی در مورد فایل ها و شاخه های پارتیشن از قبیل تاریخ ها، ظرفیت، نام، و کلاستر اول را در خود نگهداری می کنند.
• ناحیه داده ( Data Area ) جایی که داده ها، inodeها ( زیرشاخه ها ) ذخیره شده هستند و اکثر فضای پارتیشن را اشغال نموده است. این بخش به قطعات کوچکی بنام کلاستر تقسیم می شود. ظرفیت فایل ها و زیرشاخه ها می تواند به صورت دلخواه افزایش یابد ( تا جایی که فضای خالی از کلاسترها وجود داشته باشد ) به آسانی توسط افزودن لینک های بیشتری به زنجیره فایل ها در FAT. بخاطر داشته باشید هر کلاستر توسط تنها یک فایل می تواند اشغال شود پس بنابراین اگر برای مثال ۲۰ بایت از یک فایل روی یک کلاستر به ظرفیت ۳۲ کیلوبایت به اصطلاح نشست ۳۲ کیلو بایت از دیسک برای آن ۲۰ بایت به هدر رفته است.
wiki: جدول تخصیص فایل