انجام پایان نامه

درخواست همکاری انجام پایان نامه  بانک مقالات رایگان انجام پایان نامه

سفارش پایان نامه

|

انجام پایان نامه ارشد

 پایان نامه 

پایان نامه‏ کامپیوتر

انجام پایان نامه‏ ارشد کامپیوتر

(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 يگانه باشد.
توجه: در جدول زير، تمام فيلدهايي كه نام آنها با BPB شروع شده قسمتي از BPB هستند. تمام فيلدهايي كه با BS  شروع شده اند قسمتي از سكتور بوت هستند و به طور كامل قسمتي از BPB نيستند. شرحهايي كه با سكتور صفر از ولوم FAT شروع شده اند BPB را در بر دارند.
سكتور بوت و ساختار BPB


نام    Offset
Byte))    سايز
(Bytes)    توضيحات
BS-jmp boot    0    3    پرش به ساختار كد بوت. اين فيلد شامل دو فرمت زير است:
JMPBOOT[0]=0XEB,JMPBOOT[1]=0X??,JMP BOOT[2]=0X 90
و
JMP BOOT[0]=0XE9,JMP BOOT[1]=OX ??و   
JMP BOOT[2]=0X??
0X?? به هر 8 بيت در بايت اشاره مي كند. اين فرمها يك سه بايتي در INTEL X 86 هستند. شاخه اي كه به boot strap عملياتي پرش كند در آن قيد نشده. اين كد معمولا باقيمانده سكتور صفر از ولوم BPB و در صورت امكان ديگر سكتورها را اشغال مي كند. هر دوتاي اين فرمها قابل قبولند. فرمتJMP BOOT[0] = 0XEB بيشتر استفاده ميشود.
BS-otxname    3    8    “ MS WIN 4.1” تصورات غلطي در مورد اين فيلد وجود دارد .آن فقط يك اسم ريشه اي است. سيستم هاي عامل مايكرو سافت هيچ نوع سازگاري با اين فيلد ندارند. برخي از درايوهاي FAT با آن عمل مي كنند. اين دليل اشاره كردن بر رشته “MS WIN 4.1 است، و آن احتمالا به سبب سازگاري با برنامه ها معرفي شده. اگر شما نياز داشته باشيد كه چيزي جز اين در اينجا بكار ببريد آزاديد اما بعضي درايوهاي FAT قدرت شناسايي ولوم را ندارد.
BPB-byts per sec    11    2    شمردن بايتها در سكتور. اين مقدار فقط مقادير 512،1024،2048 يا 4096 مي گيرد. اگر ماكسيمم سازگاري با خواسته قديمي انجام شود فقط بايد از مقدار 512 استفاده شود. سيستم هاي عامل مايروسافت مقادير 1024،2048،4096 را پشتيباني خواهند كرد.
توجه: در مورد ماكسيمم سازگاري. اگر واسطه تا حد نصاب داشته باشد و يك سكتور فيزيكي سايز n داشته باشيد شما بايد از n  تا استفاده كنيد و اين بايد هميشه كمتر يا مساوي با 4096 باشد. ماكسيمم سازگاري تنها با استفاده از واسطه با سايزهاي سكتور مخصوص انجام مي شود .
BPB-sec per clus    13    1    تعداد سكتورها در واحد تخصيص. اين واحد بايد تواني از 2 كه بزرگتر از صفر است باشد. مقادير مجاز براي استفاده هستند 128,64,32,16,8,4,2,1 . توجه داشته باشيد كه مقدار بيشتر از k 32 براي نتايج در يك بايت در كلاستر (BPB-byts per sec, BPB_sec per clus اين تصور اشتباه است كه مقادير بيشتر از اين صحيح است. در مقادير بيشتر از 32kb كلاستر به درستي كار نمي كند. سعي نكنيد كه آنرا تعريف كنيد. بعضي از سيستم ها 64 بايت در كلاستر را اجازه مي دهد. اما بعضي از برنامه هاي نصبي كاربري روي يك چنين ولوم FAT به درستي كار نخواهد كرد.
BPB-Rsdseecnt    14    2    تعداد سكتورهاي رزرو شده در فضاي رزرو شده ولوم با شروع از اولين سكتور ولوم. اين فيلد نبايد صفر باشد. براي ولومهاي FAT12 و FAT16 اين مقدار نبايد مقداري به جز يك باشد. براي ولومهاي FAT32 به طور معمول 32 است. سيستم عامل مايكروسافت به طور شايسته اي پشتيباني خواهند كرد و مقدار اين فيلد صفر است.
BPB-numFats    1    16    شمردن ساختار داده اي FAT  روي ولوم. اين فيلد بايدهميشه شامل مقدار 2 براي هر ولوم FAT  از هر نوعي باشد. اگرچه كه مقادير بيشتر يا مساوي 2 بي عيب و صحيح است، اما بعضي از برنامه هاي نرم افزاري و تعداد كمي از سيستم هاي عملياتي ممكن است نتوانند با درايوهاي فايل سيستم FAT در مقدار بيشتر از 2 به درستي كار كنند. تمام درايوهاي فايل سيستم ميكروسافت مقادير بيشتر از 2 را پشتيباني مي كنند. اما هميشه مقدار مورد استفاده سفارش شده در اين فيلد 2 است. دليل اينكه مقدار 2 براي اين فيلد استفاده مي شود اين است كه افزونگي را براي ساختار داده اي FAT ميسر مي سازد. بنابراين اگر سكتوري در يكي از FAT ها بد باشد داده گم نمي شود چون يك المثني از آن در ديگر FAT  ها وجود دارد. روي واسطه هاي مبني بر NON_DISK مانند FLASH MEMORY چيزي مانند افزونگي يك طرح بلا استفاده است، مقدار 1 ممكن است براي ذخيره كردن فضايي كه يك كپي دوم مي دهد كه FAT از آن استفاده مي كند استفاده شود. اما اغلب درايوهاي فايل سيستم FAT  توانايي شناسايي ولومها را بدرستي ندارد.
BPB-rootentcnt    2    17    براي ولومهاي FAT 12 و FAT 16 اين فيلد شامل شماري از 32 بايت دايركتوري ورودي در فهرست ريشه است. براي ولومهاي FAT32 اين فيلد بايد صفر باشد. براي ولومهاي FAT12 و FAT32 اين مقدار بايد با محاسبه اي از ضرب در 32 در يك BPB-Byte persec ذكر شود. براي ماكسيمم سازگاري با ولومهاي FAT16 بايد از مقدار 512 استفاده كنند.
BPB-topsec16    2    16    اين فيلد يك مجموعه 16 بيتي قديمي از سكتورهاي روي ولوم است. اين محاسبات شامل محاسبه تمام سكتورها در تمام چهار ناحيه ولوم است. اين فيلد مي تواند صفر باشد، اگر آن صفر باشد پس
BPB-topsec32 كد صفر باشد . اين فيلد شامل سكتور شماره صفر و BPB_Topsec32 كه كد صفر است مي باشد به شرطي كه تمام سكتورها ثابت باشد(كمتر از 10000OX)
BPB-media    1    21    OXF8 يك مقدار استاندارد براي واسطه ثابت است(غير قابل انعطاف)براي واسطه قابل انعطاف oxFd, ,oxFC,oxFb,oxFA,oxF9,oxF8,oxFo مقادير استاندارد هستند. فقط يك موضوع مهم ديگر اينكه هر مقداري كه در اينجا قرار داده شود بايد همواري در بايت پايين fat[0] گذاشته شود. اين به واسطه قديمي MS-DOS 1.X بر مي گردد كه در اوايل مورد ملاحظه بود و معمولا بيشتر براي هر چيزي استفاده مي شد.
BPB-Fatsz16    22    2    اين فيلد در شمار 16 بيت FAT16 , FAT12 از سكتورهاي اشغال شده بوسيله اولين FAT به حساب مي آيد. در ولومهاي FAT32 اين فيلد بايد صفر باشد و BPB FAT_SZ 32  شامل سايز FAT است.
BPB-secperTRk    2    24    سكتورها در ترك براي اينتراپت OX13 . اين فيلد فقط براي واسطه اي كه يك هندسه دارد مناسب است(ولوم داخل تركها بوسيله هدها و سيلندرهاي گوناگون شكسته مي شود). روي اينتراپت OX13  قابل رويت هستند. اين فيلد شامل تعداد سكتور در ترك است.
BPB-num heads    2    26    تعداد هدها در اينتراپت OX13. اين فيلد براي BPB-SECPER TRK مناسب است. اين فيلد مبني بر تعداد هدهاست. براي مثال روي يك فلاپي درايو 1.44mg ،1.5 اينچي اين مقدار 2 است.
BPB-totsec32    28    4    تعداد سكتورهاي مخفي جلوتر از پارتيشني كه شامل اين ولوم FAT است. اين فيلد به طور معمول فقط براي واسطه نمايان روي اينتراپت ox13 مناسب است. اين فيلد هميشه بايد روي واسطه اي كه پارتيشن بندي نشده است صفر باشد. در واقع اين مقدار براي سيستم هاي ويژه عامل و مخصوص مناسب است.
BPB-hiddsec32    4    32    اين فيلد مجموع 32 بيتي جديد سكتورهاي روي ولوم است. اين تعداد شامل تعدادي از تمام سكتورها در تمام چهار ناحيه ولوم است. اين فيلد مي تواند صفر باشد. اگر آن صفر باشد پس BPB-Topsec16 نبايد صفر باشد. براي ولومهاي FAT32 اگر BPB-Topsec16 صفر باشد اين فيلد شامل تعداد سكتورهاست.(>=ox10000 تعداد)
دراين بخش تفاوتهاي سكتور بوت BPB براي FAT12 وFAT16 با سكتور BPB براي FAT32 بيان مي شود. در جدول اول ساختار نشان داده شده براي FAT12 و FAT16 مي‌باشد كه از آفست 36 سكتور بوت شروع مي شود.







انجام پایان نامه

انجام پایان نامه کامپیوتر، انجام پایان نامه ارشد کامپیوتر، انجام پایان نامه، پایان نامه

برای دیدن ادامه مطلب از لینک زیر استفاده نمایید

 دانلود مقاله | انجام پایان نامه

سفارش پایان نامه