دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

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

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: سیستم فایلی FAT ( FAT Fileing System ) ( مقاله )

  1. #1
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض سیستم فایلی FAT ( FAT Fileing System ) ( مقاله )

    سیستم فایلی( FAT ( Fat Fileing System:

    همانطور که می دانید هارد دیسک هنگامی که در کارخانه ساخته می شود کاملآ خام است. پس از طی شدن فرایند تولید عمل فرمت سطح پایین یا همان Low Level Format روی آن انجام می شود. با این عمل هارد به صورت شیار شیار و در حالتی که هر شیار از چندین سکتور تشکیل شده قالب بندی و وضعیت بدسکتورها مشخص می شود. ما بین شیارها شکافی برنامه ریزی شده وجود دارد که به آن Gap یا گوه گفته می شود.

    وظیفه ی این گوه ها این است که آدرس سکتورهای فیزیکی دو طرف خود را نگهداری کرده و برای اطلاع کنترل گر هارد دیسک علامت لازم را فراهم کنند.

    معمولا هاردهای فعلی در کارخانه فرمت سطح پایین می شوند و نیازی به انجام این کار توسط کاربر نیست. بعد از اینکه هارد فرمت سطح پایین شد لازم است پارتیشن بندی شود.

    پارتیشن بندی شامل:

    ایجاد جدول پارتیشن ( که وظیفه نگهداری آدرس پارتیشن ها ) یا همان MBR ( Master Boot Record ) را دارد و خود قطعاتی که بعدآ به صورت درایوهای هارد دیسک شناخته می شود و بوت رکورد پارتیشن ها است.
    پس از پایان پارتیشن بندی هارد ، فرمت سطح بالا ( یا همان فرمت معمولی ) لازم است. در این نوع فرمت هر پارتیشن به صورت مجزا از دیگر پارتیشن ها قالب بندی شده و علاوه بر بوت رکورد و سکتورهای منطقی ( که با سکتورهای مرحله فرمت سطح پایین متفاوت است) دو سکتور نیز جهت جدول اسکان فایل یا همان FAT ( File Allocation Table )که مبحث اصلی ماست ، تشکیل می شود.

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

    هنگامی که کاربر در سطح سیستم عامل با کامپیوتر کار می کند ، در واقع با داده هایی سر و کار دارد که به صورت منطقی در فایلهای مختلف سازماندهی شده اند. یعنی سکتور های منفرد به صورت مستقیم مورد استفاده قرار نمی گیرند. امام سیستم عامل با سکتورها سر و کار داشته و به علت بعضی محدودیت ها در هنگام طراحی ، هر بار می تواند با مجموعه ای از سکتورهای متوالی که به آنها کلاستر یا خوشه هم گفته می شود، کار کند.
    این کلاستر ها با توجه به اینکه به هم پیوسته هستند واحدهای تخصیص یا Allocation Unit نیز نامیده می شوند. برای اینکه سیستم عامل بتواند عمل درست خود را انجام دهد تعداد سکتورها در هر کلاستر ، باید توانی از 2 باشد ( برای مثال 4 ، 8 ، 16 ، 32 و ... ).

    در حال استفاده از کامپیوتر دائمآ فایل ها ایجاد یا حذف شده و یا تغییر داده می شوند. به همین دلیل به سختی می توان کلاستر های مربوط به یک فایل را در کنار هم نگه داشت. مثلآ فرض کنید که دیسکی حاوی 3 فایل باشد. اولین فایل خوشه ، 3 خوشه ، دومی 2 خوشه ، و فایل سوم 3 خوشه اشغال کرده باشند.
    حالا فرض کنید فایل دوم از روی دیسک پاک شود بنابراین به اندازه ی 2 خوشه ما بین فایل های اول و سوم فاصله می افتد. حالا اگر فایلی که 4 خوشه دارد به دیسک اضافه شود ، دو امکان پیش می آید: اول اینکه فایل جدید بعد از فایل دوم قرار گیرد و دوم اینکه قسمتی از فایل در دو خوشه آزاد قبلی نوشته شود و بقیه آن در ادامه فایل دوم ذخیره شود. به دلیل کاهش شدید سرعت دسترسی به فایل استفاده از روش اول مقرون به صرفه نیست. بنابراین فایل سوم فعلی ما در دو خوشه مجزا ( دو کلاستر غیر متوالی ) ذخیره می شود. به این حالت پراکندگی فایل گفته می شود.

    نکته قابل ذکر این است که برنامه هایی همچون Defrag جهت رفع این حالت بکار برده می شوند. در صورتی که فایل پراکنده نمی شد ، مشخص کردن خوشه تمام فایل ها به سادگی صورت می گرفت زیرا کافی بود آدرس خوشه ابتدایی و تعداد خوشه های استفاده شده نگهداری شود.

    ولی به دلیل پراکندگی این کار امکان نخواهد داشت به همین علت است که جدول اسکان فایل یا FAT ایجاد شده است.

    در حال حاظر 3 نوع FAT استاندارد وجود دارد: 12 ، 16 و 32 بیتی.
    فت ( FAT ) 12 بیتی جهت فلاپی دیسک ، فت 16 بیتی استاندارد هاردهای قدیمی و فت 32 جهت استفاده در سیستم های عامل ویندوز 98 تا Xp در نظر گرفته شده است.

    FAT زنجیره خوشه ها را مشخص می کند. به ازای هر شماره خوشه یک داده ثبت شده در FAT وجود دارد.
    همچنین هر یک از این داده های ثبت شده شماره خوشه بعدی را در زنجیره خوشه ها مشخص می کند. اگر خوشه ای در این زنجیره قرار نداشته باشد یعنی آزاد بوده و می توان از آن برای ذخیره استفاده کرد.
    در FAT 16 طول هر یک از داده های ثبت شده 16 بیت می باشد یعنی هر یک از داده های ثبت شده حداکثر می تواند به دو ، به توان شانزده یا 65536 کلاستر آدرس دهی شود.

    به عبارت بهتر دیسکی که از FAT 16 استفاده می کند حداکثر می تواند 65536 کلاستر داشته باشد. بنابراین با یک محاسبه ی ساده مشخص می شود که هر کلاستر هارد عبارت از چند بایت یا چند سکتور خواهد بود.( قابل ذکر اینکه هر سکتور 512 بایت است).

    مثلآ برای یک هارد 1 گیگا بایتی ( 2 به توان 30 به طور واقعی ) اندازه کلاستر 16 کیلوبایتی بدست می آید. اما از آنجا که در هارد اطلاعات دیگری مثل بوت سکتور و فت ها ذخیره می شود ظرفیت به طور واقعی 1 گیگابایت نخواهد بود.
    از طرف دیگر حجم خوشه ها باید همواره توانی از 2 باشد. بنابراین در هارد 1 گیگابایتی هر کلاستر 32 کیلوبایت خواهد بود.

    از آنجایی که 2 فایل نمی توانند از یک کلاستر مشترک استفاده کنند ، اگر فایلی حتی 1 بایت ظرفیت داشته باشد یک کلاستر کامل را اشغال خواهد کرد. بنابراین یک فایل 1 بایتی در چنین هاردی 32 کیلوبایت از ظرفیت هارد کم خواهد کرد. این مسئله را Wasting یا تلفات می نامند. این روش در نهایت ممکن است به هدر رفتن مقدار زیادی از ظرفیت هارد منجر شود.

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

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

    برنامه ای که جهت رفع اشکالات فت تهیه شده در داس Chkdsk یا Scandisk و در ویندوز Scandisk نام دارد.
    FAT 32 آخرین نسخه استاندارد می باشد در سیستم های عامل 95 ( البته سرویس پک 2 آن ، سیستم عامل ویندوز 98 و ME ، ویندوز NT5 به بعد و البته ویندوز Xp استفاده می شود ).

    ویژگی های اصلی FAT 32 عبارتند از:
    1. فت 32 می تواند هاردهای بزرگتر از 2 ترابایت ( 2000 گیگا بایت ) را نیز پشتیبانی کند. بنابراین می توان گفت که دست کم در آینده نزدیک با مشکل محدودیت ظرفیت هارد مواجه نخواهیم شد.
    2. از آنجا که در FAT 32 برای مشخص کردن هر کلاستر از 4 بایت استفاده شده است ، می توان به تعداد کلاستر های بیشتری دسترسی پیدا کرد ( در فت 16 ، 2 بایت برای این کار در نظر گرفته شده بود ). فت 32 می تواند تا 2 به توان 28 (یا 268435156) کلاستر را شناسائی کند. بنابراین فت 32 در مقایسه با فت 16 کلاستر های کوچکتری را مورد استفاده قرار می دهد ، در نتیجه میزان تلفات به مقدار قابل ملاحظه ای کاهش پیدا می کند و ...
    به عنوان توصیه ، اگر از چند سیستم عامل در دستگاه خود استفاده می کنید ( مثل لینوکس ، مک یا داس و ... ) مراقب سازگاری سیستم عامل ها با سیستم فایل مورد استفاده ی خود باشید.
    جدول تخصیص فایل ( FAT ) فایل سیستم اولیه در سیستم عاملهای داس و ویندوز می باشد. فایل سیستم جدول تخصیص فایل ( FAT ) بصورت ساده ای طراحی گردیده و به همین دلیل آن یک فرمت عمومی برای فلاپی دیسک ها ( دیسک های نرم ) می باشد ; علاوه بر این ، این فرمت بصورت واقعی توسط تمامی سیستم عاملهای مختص IBM/PC پشتیبانی می گردد و به همین دلیل اغلب جهت اشتراک اطلاعات بین سیستم عاملهای متفاوت که روی یک کامپیوتر بوت می شوند بکار گرفته می شود ( در یک محیط چند بوتی) همچنین در روی تکه حافظه های سخت حالت ( Solid – State Memory ) و سایر دستگاه های مشابه بکار گرفته می شود.
    FAT از لحاظ طراحی ، قدیمی به نظر می آید و طراحان آن بنظر می رسد اطلاعات دقیقی از طراحی یک سیستم فایل مناسب نداشته اند و به همین دلیل دارای اشکالات عمده ای می باشد.
    ایرادات FAT:
    - اولین ایراد آن سادگی لایه فایل آن است که اجازه تکه – تکه نمودن ( Fragmentation ) آسان آن ، که منجر به کندی عملیات در سیستم عامل استفاده کننده می گردد.
    - دومین ایراد FAT برای پشتیبانی ایرادات سیستم طراحی نگردیده است.
    - سومین ایراد این است که نگارشهای اصلی آن اجازه استفاده از نامهای فایل بیش از 11 کاراکتر را نمی دهند ( 8 کاراکتر برای نام فایل ، 3 کاراکتر برای پسوند آن ) ، همچنین تغییراتی که بر روی این سیستم از سوی مایکروسافت انجام گرفته اما در سیستمی به نام VFAT پیاده سازی گردیده این امکان را می دهد که بتوان 255 کاراکتر و بیشتر را به عنوان نام فایل قرار داد.
    - در نهایت چهارمین ایراد این است که بر روی خوشه ها ( Cluster ) مقدار زیادی از فضای مورد استفاده به دلیل تعدد فایلهای با ظرفیت پایین به هدر می رود.

    هر چند به دلیل اینکه IBM ، MS-DOS را به عنوان سیستم عامل منتخب بر روی PC ها طراحی نمود و اینکه MS-DOS از FAT استفاده می کند ، این سیستم فایل بصورت گسترده در بخش های مهمی استفاده می گردد. بدلیل طراحی اولیه آن ، پیاده سازی دستور العملهای این فایل سیستم به سادگی میسر می گردد و همچنین به دلیل گستردگی بی مثال ویندوز و داس ، FAT در بعضی مواقع تبدیل به استانداردی جهت تبادل اطلاعات می شود.

    ساختار فایل سیستمی FAT :
    یک فایل سیستم FAT بر روی یک پارتیشن حاوی بخش های ذیل می باشد:
    Partition Boot Record ، که حاوی یک یا چند سکتور در ابتدای پارتیشن می باشد که در بر گیرنده اطلاعاتی ابتدایی در مورد سیستم عامل ( بطور نوع خاص آن ) و برنامه هدایت کننده عملیات بوت ( Boot Loader ) می باشد.
    جدول تخصیص فایل ( FAT ) فهرستی از اتصالات ( Link ) بین کلاستر ها می باشد. کلاسترها قطعات کوچک و مرتبتی می باشند که
    داده های موجود در فایلها در آنها ذخیره می گردند. این زنجیره های اطلاعاتی لزومآ برای ثبت داده های فایلها و شاخه ها به ترتیب روی دیسک قرار نگرفته اند ، در واقع این کلاستر ها روی سطح دیسک پخش می باشند.
    هر رکورد فایلی یا inode ، ( که در ذیل شرح داده شده اند ) محل قرار گیری اولین کلاستر را نشان می دهد و آن کلاستر نیز به نوبه خود محل قرار گیری کلاستر های مرتبت بعدی را در دیسک در خود نگه می دارد ( و به همین ترتیب تا به انتهای فایل ).
    تعداد بیت هایی که برای آدرس دهی کلاستر ها اختصاص می یابد در حقیقت ظرفیت FAT را نشان می دهد. اعدادی مثل 12 ، 16 ، 32 در حقیقت ماکسیمم ظرفیت یک پارتیشن FAT را که می توان آدرس دهی نمود نمایش می دهد.
    FAT یک یا چند ( معمولا دو ) کپی از خود را بر روی دیسک نگهداری می کند تا اگر به دلیل فعالیتهای مختلف سیستم عامل آسیب دید به داده های قرار گرفته روی دیسک آسیبی نرسد ، همچنین سیستم عامل نتواند ورودی های اضافه ای برای آنها ایجاد نماید.
    شاخه ریشه ( Root Directory ) برای پارتیشن ( که حداکثر ظرفیت را دارد ، معمولآ 512 ورودی روی هارد دیسک دارد ، نوشته شده بر روی بوت رکورد ) رکوردهایی از فایلها و شاخه هایی که در درون آن قرار می گیرند دارد.
    رکوردها یا inode ها حاوی اطلاعاتی در مورد فایلها و شاخه های پارتیشن از قبیل تاریخها ، ظرفیت ، نام ، و کلاستر اول را در خود نگهداری
    می کنند.
    ناحیه داده ( Data Area ) جایی که داده ها ، inode ها ( زیر شاخه ها ) ذخیره شده هستند و اکثر فضای پارتیشن را اشغال نموده است. این بخش به قطعات کوچکی بنام کلاستر تقسیم می شود.
    ظرفیت فایلها و زیر شاخه ها می تواند بصورت دلخواه ( تا جائیکه فضای خالی از کلاستر ها وجود داشته باشد ) به آسانی توسط افزودن لینکهای بیشتری به زنجیره فایلها در سیستم FAT افزایش یابد.
    بخاطر داشته باشید هر کلاستر توسط تنها یک فایل می تواند اشغال شود پس بنابراین اگر برای مثال 20 بایت از یک فایل روی یک کلاستر به ظرفیت 32 کیلوبایت به اصطلاح نشست 32 کیلو بایت از دیسک برای آن 20 بایت به هدر رفته باشد.
    برای ذخیره نامهای طولانی فایلها ( Long File Name – LFN ) روی یک فایل سیستم FAT ، ویندوز 95 و بالاتر از یک ترفند به ترتیبی که یک رکورد ساختگی روی جدول فایلهای دایرکتوریی که فایل در آن قرار دارد اضافه می کند. رکورد توسط یک صفت
    ( ( Volume Lable که برای یک فایل FAT امکانپذیر نیست ، توسط برخی از برنامه های قدیمی
    MS-DOS خوانده نمی شود ، علامت زده می شود.
    هر رکورد ساختگی می تواند حاوی 13 کاراکتر از نوع 2-UCS باشد ( 26 بایت ) ، به علاوه 15 بایت اضافه مربوط به سیستم 3+8 قدیمی که حاوی تاریخ و یا ظرفیت آن می باشند ، باشد.


    تهیه و تنظیم : مصطفی كاوه

  2. 2 کاربر از پست مفید Admin سپاس کرده اند .


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. مقاله: (GIS(Geographic Information System { مقاله }
    توسط Admin در انجمن بخش مقالات سخت افزار
    پاسخ ها: 0
    آخرين نوشته: 7th September 2008, 07:31 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •