تبلیغات
کامپیوتر 88 - sectoring
تبادل اطلا عات بین دانشجویان

sectoring

تاریخ:چهارشنبه 17 فروردین 1390-08:47 ق.ظ

آشنایی با جدول اسکان فایل ( FAT )
همانطور که می‌دانید هارد دیسک هنگامی که در کارخانه ساخته می‌شود کاملا خام است. پس از طی شدن فرآیند تولید عمل فرمت سطح پایین با همان Low level Format روی آن انجام می‌شود. با این عمل هارد به صورت شیار شیار و در حالتی که هر شیار از چندین سکتور تشکیل شده قالب بندی و وضعیت بدسکتور‌ها مشخص می شود. مابین شیارها شکافی برنامه ریزی شده وجود دارد که به آن Gap یا گوه گفته می شود. وظیفه این گوه‌ها این است که آدرس سکتورهای فیزیکی دو طرف خود را نگهداری کرده و برای اطلاع کنترل‌ گر هارد دیسک علامت لازم را فراهم کنند. معمولا هارد‌های فعلی در کارخانه فرمت سطح پایین می‌شوند و نیازی به این کار توسط کاربر نیست.  بعد از اینکه هارد فرمت سطح پایین شد لازم است پارتیشن بندی شود. پارتیشن بندی شامل: ایجاد جدول پارتیشین ( که وظیفه نگهداری آدرس پارتیشنها ) یا همان Master Boot Record ) MBR ) را دارد و خود قطعاتی که بعدا به صورت درایو‌های هارد دیسک شناخته می‌شود و بوت رکورد پارتیشن‌ها است.
پس از پایان پارتیشن بندی هارد، فرمت سطح بالا (یا همان فرمت معمولی) لازم است. در این نوع فرمت هر پارتیشن به صورت مجزا از دیگران قابل بندی شده و علاوه بر بوت رکورد و سکتورهای منطقی ( که با سکتور‌های مرحله فرمت سطح پایین متفاوت است ) دو سکتور نیز جهت جدول اسکان فایل یا همان FAT  که مبحث اصلی ما است، تشکیل می‌شود. قابل ذکر است که دو نسخه تکراری از یک جدول در هر هارد قرار می‌گیرد به جهت افزایش اطمینان از اینکه حذف یا خراب نمی‌شوند. این جدول مهمترین جدول برای اطلاعات موجود در هارد است.
با ادامه مقاله همراه باشید :

هنگامی که کاربر در سطح سیستم عامل با کامپیوتر کار می‌کند، در واقع با داده‌هایی سر و کار دارد که به صورت منطقی در فایلهای مختلف سازماندهی شده‌اند. یعنی سکتور‌های منفرد به صورت مستقیم مورد استفاده قرار نمی‌گیرند. اما سیستم عامل با سکتورها سروکار داشته و به علت بعضی محدودیتها در هنگام طراحی، هر بار می‌تواند با مجموعه‌ای از سکتور‌های متوالی که به آتها کلاستر یا خوشه گفته می‌شود می گویند. این کلاستر ها با توجه به اینکه به هم پیوسته هستند واحدهای تخصیص یافته یا Allocation Unit نیز نامیده می‌شوند. برای اینکه سیستم عامل بتواند عمل درست خود را انجام دهد تعداد سکتورها در هر کلاستر باید توانی از ۲ باشد ( برای مثال ۴، ۸، ۱۶، ۳۲ و … ) .
در حال استفاده از کامپیوتر دایما فایل‌ها ایجاد یا حذف شده و یا تغییر داده می‌شوند. به همین دلیل به سختی می‌توان کلاستر‌های مربوط به یک فایل را در کنار هم نگه داشت. مثلا فرض کنید که دیسکی حاوی ۳ فایل باشد. اولین فایل خوشه ۳ خوشه، دومی ۲ خوشه و فایل سوم ۳ خوشه اشغال کرده باشند. حالا فرض کنید فایل دوم از روی دیسک پاک شود بنابراین به اندازه ۲ خوشه مابین فایل‌های اول و سوم ( که الان دومی شده است ) فاصله می‌افتد. حالا اگر فایلی که ۴ خوشه دارد به دیسک اضافه شود، دو امکان پیش می‌آید : اول اینکه فایل جدید بعد از فایل دوم قرار گیرد و دوم اینکه قسمتی از فایل در دو خوشه آزاد قبلی نوشته شود و بقیه آن در ادامه فایل دوم ذخیره شود. به دلیل کاهش شدید سرعت دسترسی به فایل استفاده از روش اول مقرون به صرفه نیست. بنابراین فایل سوم فعلی ما در دو خوشه مجزا ( دو کلاستر غیر متوالی ) ذخیره می شود. به این حالت پراکندگی فایل گفته می شود. نکته قابل ذکر اینکه برنامه‌هایی همچون Defrag جهت رفع این حالت به کار برده می‌شود. در صورتی که فایل پراکنده نمی‌شد، مشخص کردن خوشه تمام فایل‌ها به سادگی صورت می‌گرفت زیرا کافی بود آدرس خوشه ابتدایی و تعداد خوشه‌های استفاده شده نگهداری شود ولی به دلیل پراکندگی این کار امکان نخواهد داشت.  به همین علت است که جدول اسکان فایل یا FAT ایجاد شده است.
در حال حاضر ۳ نوع FAT  استاندارد وجود دارد : ۱۲، ۱۶ و ۳۲ بیتی.  فت ۱۲ بینی جهت فلاپی دیسک، فت ۱۶ استاندارد قدیمی هارد‌ها و فت ۳۲ جهت استفاده در سیستم‌های عامل ویندوز ۹۸ و xp در نظر گرفته شده است.
FAT  زنجیره خوشه‌ها را مشخص می‌کند. به ازای هر شماره خوشه یک داده ثبت شده در FAT وجود دارد. همچنین هریک از این داده‌های ثبت شده شماره خوشه بعدی را در زنجیره خوشه‌ها مشخص می‌کند. اگر خوشه‌ای در این زنجیره قرار نداشته باشد یعنی آزاد بوده و می‌توان از آن برای ذخیره استفاده کرد.
در FAT16  طول هریک از داده‌های ثبت شده ۱۶ بیت می‌باشد. یعنی هریک از داده‌های ثبت شده حداکثر می‌تواند به دو به توان شانزده یا ۶۵۵۳۶ کلاستر آدرس ‌دهی کند. به عبارت بهتر دیسکی که از FAT16  استفاده می‌کند حداکثر می‌تواند ۶۵۵۳۶ کلاستر داشته باشد. بنابراین با یک محاسبه ساده مشخص می شود که هر کلاستر هارد عبارت از چند بایت یا چند سکتور خواهد بود ( قابل ذکر اینکه هر سکتور ۵۱۲ بایت است ).
مثلا برای یک هارد ۱ گیگابایتی ( ۲ به توان ۳۰ به طور واقعی ) اندازه کلاستر ۱۶ کیلو بایتی بدست می‌آید. اما از آنجا که در هارد اطلاعات دیگری مثل بوت سکتور و فت‌ ها ذخیره می‌شود ظرفیت به طور واقعی ۱ گیکابایت نخواهد بود. از طرف دیگر حجم خوشه‌ها باید همواره توانی از ۲ باشد. بنابراین در هارد ۱ گیگابایتی هر کلاستر ۳۲ کیلوبایت خواهد بود.
از آنجایی که ۲ فایل نمی‌توانند از یک کلاستر مشترک استفاده کنند، اگر فایلی حتی ۱ بایت ظرفیت داشته باشد یک کلاستر کامل را اشغال خواهد کرد. بنابراین یک فایل ۱ بایتی در چنین هاردی ۳۲ کیلوبایت از ظرفیت هارد کم خواهد کرد. این مساله را Wasting یا تلفات می‌نامند. این روش در نهایت ممکن است به هدر دادن مقدار زیادی از ظرفیت هارد منجر شود.
یک روش مقابله با این مشکل این است که پارتیشنها را مقدار کوجکتری در نظر بگیریم. در این حالت هر پارتیشن، بوت سکتور و فت خاص خودش را خواهد داشت. هرچه این اندازه کوچکتر باشد مقداری کمتری از فضای هر خوشه هدر خواهد رفت. روش غیر رسمی‌ای که برای مقابله با این وضعیت وجود دارد این است که فایل‌ها را فشرده سازی کرد. در این صورت از آنجا که هر فایل زیپ به هر حال ( یک ) فایل است، تعداد کلاستر کمتری تلف خواهد کرد.
همانطور که قبلا ذکر شد ۲ نسخه از فت روی هر دیسک وجود دارد. در حقیقت اگر فت موجود در درایوی خراب شود، ممکن است تمام داده‌های موجود در هارد از بین بروند. حتی اگر داده‌ها همچنان بر روی هارد وجود داشته باشند، راهی برای بازسازی زنجیره کلاستر‌ها و دستیابی به آنها وجود نخواهد داشت.
مواردی پیش می‌آید که ممکن است موجب بروز اشکال در فت شوند. اصلی ترین مشکل معمولا به این صورت بروز می‌کند که برنامه‌ای فایلی را باز می‌کند و در آن تغییراتی می دهد بنابراین اندازه فایل نیز تغییر می‌کند با افزایش یا کاهش داده‌ها آدرس فت نیز تغییر می‌کند ولی تا زمانی که فایل بسته نشود، این تغییرات در فت ثبت نمی‌شود. بنابراین اگر به علتی ( برای مثال قفل کردن برنامه یا قطع برق و … ) برنامه به صورت معمول بسته نشود، فت به روز نشده و آدرسهای اشتباهی خواهد داشت. ممکن است جایی خالی باشد و فت به آن اشاره کند و یا بالعکس و یا مورد بدتر اینکه آدرس محتویات دو فایل تداخل کند ( که در این صورت هر دو فایل آسیب خواهند دید ).
برنامه‌ای که جهت رفع اشکالات فت تهیه شده در داس chkdsk یا Scandisk و در ویندوز Scandisk نام دارد.
FAT32  آخرین نسخه استاندارد می‌باشد در سیستمهای عامل ۹۵ ( البته سرویس پک ۲ آن، سیستم عامل ویندوز ۹۸ و ME، ویندوز NT5  به بعد و البته ویندوز XP  استفاده می‌شود ).
ویژگی‌های اصلی FAT32 عبارتند از:
۱- فت ۳۲ می‌تواند هارد‌های بزرگتر از ۲ ترابایت ( ۲۰۰۰ گیگابایت ) را تیز پشتیبانی کند. بنابراین می‌توان گفت که دست کم در آینده نزدیک با مشکل محدودیت ظرفیت هارد مواجه نخواهیم بود.
۲- از آنجا که در FAT32 برای مشخص کردن هر کلاستر از ۴ بایت اسفاده شده است ،  می ‌توان به تعداد کلاسترهای بیشتری دسترسی پیدا کرد ( در فت ۱۶ ،  ۲ بایت برای این کار در نظر گرفته شده بود ).  فت ۳۲ می‌تواند تا ۲ به توان ۲۸ ( یا ۲۶۸۴۳۵۱۵۶ ) کلاستر را شناسایی کند. بنابراین فت ۳۲ در مقایسه با فت ۱۶ کلاسترهای کوچکتری را مورد استفاده قرار می‌دهد ، در نتیجه میزان تلفات به مقدار قابل ملاحظه‌ای کاهش پیدا می‌کند.
و …
به عنوان آخرین توصیه ،  اگر از چند سیستم عامل در دستگاه خود استفاده می‌کنید ( مثل لینوکس، مک یا داس و … ) مراقب سازگاری  FAT  آنها باشید !!!


 



نوع مطلب : آموزشی