پاسخ : ساختار FAT32 و سایر فایل ها و اجرای آن با AVR
ساختار fat ساختار سبکیه. سکتور به سکتور:
0- سکتور بوت. شامل کد اجرای اولیه بوت سیستم و بار کردن فایلهای راه انداز و label دیسک.
دو کپی عین هم از ساختار fat که دو خانه اولش رزروه. بقیه اش برای هر کلاستر یکی. (بعد بهش میرسیم)
چند سکتور برای دایرکتوری اصلی.
هر دایرکتوری در چند سکتور نگهداری میشه که حالت عادی اسم. تاریخ ایجاد فایل یا دایرکتوری - حجم و نوع فایل و شماره کلاستر شروع روی هارد.
کلاستر چیه؟ معنیش میشه خوشه. فرض کن یم هارد 500 گیگ داریم یعنی با فرض سکتورهای 512 بایتی میشه نزدیک یک میلیارد سکتور. جون این تعداد بالاتر از 16 بیت میشه پس برای نگهداری هر عددی از صفر تا یک میلیارد بایستی یک متغیر 4 بایتی استفاده بشه ولی برای هارد 32 مگی این میشه 65536 و برای یک فلاپی یک مگا بایتی میشه تقریبا 2000 سکتور. یعنی تا بحال خواستیم اطلاعات رو بر اساس سکتور روی هارد بریزیم و اندیس گذاری کنیم. اولا برای هارد های خیلی بزرگ این باعث اتلاف حجم هارد میشه و مهمتر از اون اینه که اغلب فایلهای بزرگ رو روی هاردهای بزرگ میذارن. ضمنا حجم عملیات جنبی برای خوندن و نوشتن اطلاعات خیلی زیاد میشه. پس میایم بجای سکتور از واحد بزرگ تری استفاده میکنیم که بهش میگن خوشه و متشکل از تعدادی سکتور به اندازه توانی از 2 هست. مثلا 1 یا 2 یا 4 یا 8 یا 16 الی آخر.
در دایرکتوری شماره اولین کلاستر ذخیره میشه و در خونه مربوط به این کلاستر در جدول fat شماره کلاستر بعدی تا الی آخر. آخری هم حاوی یک مقدار رزرو برای مشخص کردن اینکه این آخرین کلاستره.
اما بایتهای اضافی از انتهای کلاستر آخر با توجه به حجم فایل که در دایرکتوری قید شده حذف میشه.
سه نوع fat داریم. 12 بیتی برای فلاپی و هارد های خیلی کوچیک. 16 بیتی برای هارد های متوسط حداکثر 2 گیگ حجم و 32 بیتی که چون تعداد اعداد بیشتری رو میتونه در خودش به عنوان شماره کلاستر قبول کنه تعداد بیشتری کلاستر و استفاده بهتر از حجم هارد. اما محدودیت fat32 اینه که اولا فایل بالاتر از 2GB نمیتونه روش نگهداری بشه و ثانیا......خوب همین اولی بسشه. برای موقعی که میخوای بتونی یک فایل مثلا 7 گیگا بایتی روی یک پارتیشن ذخیره کنی حتما باید چیزی مثل ntfs استفاده کنی. ایضا موارد حفاظتی رو هم fat پشتیبانی نمیکنه.
پیاده سازی روتین هاش نسبتا راحته اما بقول آقای نحوی چه کاریه؟
جونتو از سر راه آوردی؟
یه آلمانیه میگفت: شما ایرونی ها مثل یه دریا میمونین....بیکران.....اما به عمق یک سانتیمتر!
ما آلمانی ها یک چاه .... کوچولو .... اما عمیق!
سعی کن راهی رو انتخاب کنی و در اون متخصص بشی. همه چیز دون خوبه اما آخرش میشی چار فرانسه. کم هم نیستن. متخصصه که کمه و پر ارزش. از حاصل عمر و وقت بقیه استفاده کن تا بتونی توی زندگی موفق باشی. بذار هزینه تجربه هاتو بقیه داده باشن. (اصفهانیم دیگه.... چه میشه کرد؟ همش به پول ختم میشه!!!)
اما جدای از اینا اگه باهاش حال میکنی حالشو ببر. به کسی هم ربطی نداره. ولی حیف از عمرت. صد حیف.
یادت باشه: چرخ رو دوباره اختراع نمیکنن.
ساختار fat ساختار سبکیه. سکتور به سکتور:
0- سکتور بوت. شامل کد اجرای اولیه بوت سیستم و بار کردن فایلهای راه انداز و label دیسک.
دو کپی عین هم از ساختار fat که دو خانه اولش رزروه. بقیه اش برای هر کلاستر یکی. (بعد بهش میرسیم)
چند سکتور برای دایرکتوری اصلی.
هر دایرکتوری در چند سکتور نگهداری میشه که حالت عادی اسم. تاریخ ایجاد فایل یا دایرکتوری - حجم و نوع فایل و شماره کلاستر شروع روی هارد.
کلاستر چیه؟ معنیش میشه خوشه. فرض کن یم هارد 500 گیگ داریم یعنی با فرض سکتورهای 512 بایتی میشه نزدیک یک میلیارد سکتور. جون این تعداد بالاتر از 16 بیت میشه پس برای نگهداری هر عددی از صفر تا یک میلیارد بایستی یک متغیر 4 بایتی استفاده بشه ولی برای هارد 32 مگی این میشه 65536 و برای یک فلاپی یک مگا بایتی میشه تقریبا 2000 سکتور. یعنی تا بحال خواستیم اطلاعات رو بر اساس سکتور روی هارد بریزیم و اندیس گذاری کنیم. اولا برای هارد های خیلی بزرگ این باعث اتلاف حجم هارد میشه و مهمتر از اون اینه که اغلب فایلهای بزرگ رو روی هاردهای بزرگ میذارن. ضمنا حجم عملیات جنبی برای خوندن و نوشتن اطلاعات خیلی زیاد میشه. پس میایم بجای سکتور از واحد بزرگ تری استفاده میکنیم که بهش میگن خوشه و متشکل از تعدادی سکتور به اندازه توانی از 2 هست. مثلا 1 یا 2 یا 4 یا 8 یا 16 الی آخر.
در دایرکتوری شماره اولین کلاستر ذخیره میشه و در خونه مربوط به این کلاستر در جدول fat شماره کلاستر بعدی تا الی آخر. آخری هم حاوی یک مقدار رزرو برای مشخص کردن اینکه این آخرین کلاستره.
اما بایتهای اضافی از انتهای کلاستر آخر با توجه به حجم فایل که در دایرکتوری قید شده حذف میشه.
سه نوع fat داریم. 12 بیتی برای فلاپی و هارد های خیلی کوچیک. 16 بیتی برای هارد های متوسط حداکثر 2 گیگ حجم و 32 بیتی که چون تعداد اعداد بیشتری رو میتونه در خودش به عنوان شماره کلاستر قبول کنه تعداد بیشتری کلاستر و استفاده بهتر از حجم هارد. اما محدودیت fat32 اینه که اولا فایل بالاتر از 2GB نمیتونه روش نگهداری بشه و ثانیا......خوب همین اولی بسشه. برای موقعی که میخوای بتونی یک فایل مثلا 7 گیگا بایتی روی یک پارتیشن ذخیره کنی حتما باید چیزی مثل ntfs استفاده کنی. ایضا موارد حفاظتی رو هم fat پشتیبانی نمیکنه.
پیاده سازی روتین هاش نسبتا راحته اما بقول آقای نحوی چه کاریه؟
جونتو از سر راه آوردی؟
یه آلمانیه میگفت: شما ایرونی ها مثل یه دریا میمونین....بیکران.....اما به عمق یک سانتیمتر!
ما آلمانی ها یک چاه .... کوچولو .... اما عمیق!
سعی کن راهی رو انتخاب کنی و در اون متخصص بشی. همه چیز دون خوبه اما آخرش میشی چار فرانسه. کم هم نیستن. متخصصه که کمه و پر ارزش. از حاصل عمر و وقت بقیه استفاده کن تا بتونی توی زندگی موفق باشی. بذار هزینه تجربه هاتو بقیه داده باشن. (اصفهانیم دیگه.... چه میشه کرد؟ همش به پول ختم میشه!!!)
اما جدای از اینا اگه باهاش حال میکنی حالشو ببر. به کسی هم ربطی نداره. ولی حیف از عمرت. صد حیف.
یادت باشه: چرخ رو دوباره اختراع نمیکنن.
دیدگاه