فرمت فایل : word(قابل ویرایش)
تعداد صفحات:58
فهرست مطالب:
عنوان صفحه
(file Allocation table)FAT 1
نکات مورد توجه در این تحقیق 1
توضیحات عمومی انواع فایلهای FAT 1
boot sector و BPB 3
سکتور بوت و ساختار BPB 5
ساختار FAT16 و FAT 12 با شروع از آفست 36 10
ساختار داده ای FAT 15
تعیین نوع FAT 17
بیت ClnshutBitmask 27
بیت HrdErrBitmask 28
ارزش دهی اولیه به ولوم FAT 28
ساختار سکتور Fsinfo و FAT32 و سکتور بوت Backup 33
ساختار FAT directory 36
ساختار بایت بایت ورودی دایرکتوری FAT32 37
فرمتهای تاریخ و زمان 42
عنوان صفحه
فرمت تاریخ 43
فرمت زمان 43
سازماندهی directory entry های کوتاه و بلند 46
ترتیب directory entry های طولانی 47
محدودیت های نام و مجموعه کاراکترها 50
directory entry های کوتاه 50
ورودیهای طولانی دایرکتوری 51
قوانین نام نویسی برای نامهای طولانی 52
الگوریتم تولید نام و پایه 52
الگوریتم تولید دنباله عددی 54
افکت ورودیهای دایرکتوری روی ورژنهای level پایینت FAT 55
تایید اعتبار محتویات یک دایرکتوری 56
چکیده:
(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 در سکتور بوت داشته باشد.
این باعث می شود تا دومین نقص بر حسب مشخصه ولوم FAT را بیان کنیم. BPB شبیه چه چیزی است؟ BPB تعریف شده در سکتور بوت MS-DOS 2.X فقط به ولومهای FAT کمتر از 65536 اجازه می داد. (32 MB و 512 بایت سکتور). این محدودیت در واقع تنها برای یک فیلد 16 بیتی بود. این محدودیت در MS-DOS 3.X توسط اصلاح BPB با یک فیلد جدید 32 بیتی برای مقدار کل سکتورها از بین رفت.
BPB بعدی توسط سیستم عامل windows 95 تغییر پیدا کرد، در جاهایی که FAT32 استفاده می شد به طور مشخص سرویس OE M2 را منتشر ساخت (OSR 2) .
FAT 16 بوسیله ماکسیم رده بندی FAT و ماکسیم رده بندی کلاستر محدود شده بود. FAT 32 این محدودیت را در فضای خالی دیسک در یک ولوم FAT که می توانست فضا اشغال کند آدرس دهی کرد آنقدر که بزرگترین دیسکها که فقط 2 GB بودند یک پارتیشن تعریف شده داشتند.
FAT 32 , BPB کاملا مطابق با FAT16 , FAT12, BPB است و شامل یک فیلد BPB BPB_to tsec32 است.شروع آدرس آنها تفاوت دارد که روی نوعی واسطه از FAT12 ، FAT16 یا FAT 32 در آفست 36 تعریف شده اند. در اینجا یادآور می شویم که BPB موجود در سکتور بوت یک ولوم FAT باید همیشه نسبت به تمام فیلدهای BPB جدید برای هر یک از انواع BPB برای FAT12 ، FAT16 یا FAT32 یگانه باشد.