(file allocation table) fat :
فایل سیستمی که در اواخر دهه 1970 و اوایل دهه 1980 تولید شد فایل سیستمی بود که توسط سیستم عامل MS-DOS پشتیبانی می شد. این فایل به اندازه یک فایل سیستمی ساده ای که برای فلاپی دیسک درایوهای کمتر از k500 بود پیشرفت کرد. بعد از آن زمان آن بیشتر و بیشتر به عنوان یک واسطه بکار گرفته شد. به طور متداول سه نوع از فایل سیستمی F AT وجود دارد : FAT32 , FAT16 , FAT12 . دلیل تفاوت انواع FAT و اسمهایشان در سایز و در بیتهایی است که در ساختار واقعی FAT روی دیسک ثبت شده می باشند. در FAT12، 12 بیت ورودی، در FAT16، 16 بیت ورودی و در FAT32 ، 32 بیت ورودی وجود دارد.
نکات مورد توجه در این تحقیق :
اعدادی که با کاراکتر 0x آغاز می شوند اعداد هگزا دسیمال (مبنای 16) هستند.
هر عددی که کاراکتر 0X را ندارد عدد دسیمال (مبنای 10) است.
دیگر کدهای نوشته شده در این تحقیق به زبان C هستند. کدهای دیگر باقی مانده در این تحقیق به طور آزاد مخلوطی از دیتا المنتهای 16 و 32 بیتی است.
توضیحات عمومی (تمام انواع فایلهای FAT قابل اجرا)
تمام فایلهای سیستمی FAT به طور خودکار برای معماری کامپیوترهای IBM توسعه پیدا می کند. اهمیت FAT بخاطر این است که تمام ساختار داده ای روی دیسک little endian هستند. اگر ما به ورودی یک FAT ،32 بیتی نگاه کنیم داده ها روی دیسک به صورت یک سری از بایتهای 8 بیتی-شروع بایت صفر و پایان بایت 4- ذخیره می شوند. در اینجا این 32 بیت از 00 تا 31 شماره گذاری شده اند .(00 بیت شروع لیست)
byte[3] 3 3 2 2 2 2 2 2
1 0 9 8 7 6 5 4
byte[2] 2 2 2 2 1 1 1 1
3 2 1 0 9 8 7 6
byte[1] 1 1 1 1 1 10 0
5 4 3 2 1 0 9 8
byte[0] 0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
این مهم است که شما بدانید که کامپیوتر شما یک کامپیوتر big endian است، چون به همان مقدار که داده را انتقال میدهد و از دیسک میگیرد به شما مقداری در رنج خودش برخواهد گرداند .
یک فایل سیستمی FAT از چهار بخش اصلی تشکیل شده است که در زیر راجع به ولوم ذکر شده است :
0 بخش رزرو شده
1 بخش FAT
2 بخش فهرست ریشه ( در ولومهای FAT 32 موجود نیست)
3بخش فهرست فایل و داده
boot sector و BPB (سکتور بوت و BPB )
اولین ساختار داده ای مهم روی یک ولوم (bios parameter block) BPB, FAT نامیده میشود، که در اولین سکتور از ولوم در بخش رزرو شده قرار داده می شود. این سکتور گاهی اوقات سکتور بوت یا سکتور ذخیره یا سکتور 0 نامیده می شود، اما آن در واقع اولین سکتور از ولوم می باشد.
این اولین چیزی است که در مورد فایل سیستمی FAT باید بدانیم. در ورژن MS-DOS 1.0 در سکتور بوت یک BPB ، وجود نداشت. در ورژن اولیه فایل سیستم FAT،فقط دو نوع فرمت وجود داشت، یکی برای فلاپی دیسکهای یک طرفه و دیگری برای دو طرفه k 360 یا 28/5 اینچ. تعیین اینکه دیسک از کدام نوع بود بوسیله نگاه کردن به بایت اول F AT انجام می شد (8 بیت پایین FAT[0] ).
این نقص در ورژن MS-DOS, 2.X بوسیله قرار دادن یک BPB در سکتور بوت از بین رفت و شیوه قدیمی تعیین واسطه (نگاه کردن به اولین بایت FAT ) دیگر کمتر استفاده می شد. تمام ولومهای FAT باید یک BPB در سکتور بوت داشته باشد.