PDA

View Full Version : ایجاد FAT12,16



Developer Programmer
یک شنبه 17 مهر 1384, 15:39 عصر
از بین دوستان کسی میدونه چطور باید یک FAT رو پیاده سازی کرد؟
و اینکه آیا باید قبل از بالا آمدن سیستم عامل کنترل رو بدست گرفت و بر کارها نظارت کرد؟

PalizeSoftware
یک شنبه 13 آذر 1384, 21:22 عصر
از بین دوستان کسی میدونه چطور باید یک FAT رو پیاده سازی کرد؟


برای اطلاع از ساخت یه FAT توصیه می‌کنم که یکبار ساختار FAT 12 یا 16 رو ببین تا برات مشخص بشه چه آیتم‌هایی رو باید در نظر گرفت.

و اینکه آیا باید قبل از بالا آمدن سیستم عامل کنترل رو بدست گرفت و بر کارها نظارت کرد؟
از طریق تغییر روتین وقفه‌های 13 (برای خواندن و نوشتن سطح پایین سکتورها) و 21(روتین‌های دسترسی به فایل) می‌تونی به مقصودت برسی. حتی بعد از بالا اومدن سیستم عامل (البته منظور من در محیط داس)

Developer Programmer
یک شنبه 13 آذر 1384, 23:44 عصر
پروژه آزمایشگاه سیستم عامل یکی از بچه ها ، پیاده سازی FAT بود
من قبلا به خاطر ویروس نویسی زیاد با سکتور و این جور چیزها ور رفتم ؛ اما اینکه خودم یه FAT بسازم و بتونم آدرس ها ،فایلها و سکتورها رو نگه دارم و حذف و درج فایل و دسترسی رو کنترل کنم یکمی غیرمعقول به نظر می آد ...یعنی شاید اونطور که من پروژه رو تجسم میکنم باید فراتر از یک پروژه دانشجویی باشه

PalizeSoftware
دوشنبه 14 آذر 1384, 00:10 صبح
بعنوان پروژه سیستم عامل واقعا کار پرهزینه‌ای (از نظر وقت) است، اما مشکل نیست. اگه بخواهیم خیلی دور دست رو نگاه کنیم قاعدتا باید نرم‌افزارها هم بشکلی نوشته شوند که با این FAT سازگار باشند. اما برای شروع و برای اینکه همچین طرحی به مرحله تست برسه میشه جور دیگه‌ای به قضیه نگاه کرد.
به این صورت که همه پارامترهای موجود در ساختار فعلی FAT رو بعلاوه چند پارامتر دیگه (وجه تمایز با FAT‌ قبلی) معرفی کنیم تا برنامه‌های قبلی مشکلی نداشته باشن و بتونند کار کنند. فکر کنم پیاده‌سازی خود FAT مهمتر از پیاده‌سازی نوع جدیدی از FAT باشه. حالا با توجه به رجیسترهایی که عملا در استفاده از اینتراپت‌های 21 یا 13 آزاد هستند و کاربردی ندارند بتونیم عناصر اضافه شده به ساختار خودمون رو مقدار دهی کنیم.
البته چون درگیر با اصل قضیه نیستم طبعا مشکلاتی پیش خواهد آمد که فعلا از دید من خارج خواهد بود.

aakh1361
دوشنبه 14 آذر 1384, 01:13 صبح
سلام
من یک دو سه ماهی هست که در مورد Fat دارم تحقیق می کنم ولی هنوز نتونستم یک برنامه بنویسم که بدون استفاده از توابع و وقفه های سیستم عامل به ساختار فایل سیستم عامل دسترسی داشته باشم این کار را هم در راستای طراحی یک سیستم عامل انجام دادم و تا حالا تونستم بعضی از قابلیتهای سیستم عامل رو بدون استفاده از هیچ یک از امکانات سیستم عامل باز نویسی کنم تا ببینیم اگر خدا بخواد یک Mini Os کوچیک از توش در بیاد تا حالا :

1 - قابلیت چند ریسمانی (Multi Task) (انجام شده)
2 - ساخار فایل (در حال به پایان رسیدن) سیستم فایل
3 - خط فرمان (هنوز کامل نشده) Shell
4 - باز نویسی بردار وقفه ها
و چند مورد دیگه که بعضی هاش انجام شده و بعضی دیگش هنوز در مرحله تحقیق هست

من هم الان به ساختار فایل برخورد کردم کتاب انگیلسی از خود مایکروسافت در مورد FAT دارم که FAT12 وFAT 16 و FAT32 رو به طور کامل و مفصل توضیح داده چون کتاب خیلی تخصصی متنش هست هنوز از بعضی از قسمتهاش رو نفهمیدم ولی اگر کسی از دوستان پیدا بشه که به ترجمه این کتاب کمک کنه من حاضرم با هاش به طور کامل همکاری کنم کتاب 36 صحفه هست و نوشته خود مایکروسافت هست

PalizeSoftware
دوشنبه 14 آذر 1384, 01:32 صبح
من یک دو سه ماهی هست که در مورد Fat دارم تحقیق می کنم ولی هنوز نتونستم یک برنامه بنویسم که بدون استفاده از توابع و وقفه های سیستم عامل به ساختار فایل سیستم عامل دسترسی داشته باشم
اگه منظورت دسترسی به سکتورهاست که این رو هم می‌تونی از طریق برنامه‌ریزی کنترلر هارد بهش برسی منتها کار پیچیده‌ای است ولی امکانات زیادی جلوت باز می‌شه که دیدنی!
اینها رو بیشتر توضیح بده تا ببینم چکار کردی:
1- MultiTasking
2- بازنویسی روتین وقفه‌ها

در ضمن در کدام بخش از کتاب مشکل داری؟ من متنش رو ندارم ولی می‌تونم کمک کنم.

aakh1361
سه شنبه 15 آذر 1384, 17:29 عصر
اگه منظورت دسترسی به سکتورهاست که این رو هم می‌تونی از طریق برنامه‌ریزی کنترلر هارد بهش برسی منتها کار پیچیده‌ای است ولی امکانات زیادی جلوت باز می‌شه که دیدنی!

نه منظورم نوشتن یکی از برنامه های (الگوریتم) مدیریت فایل هست (مثلا FAT , NTFS , ex2 , ex3 ...) که بعد از تحقیق متوجه شدم که پیاده سازی FAT تقریبا آسانتر از بقیه هستش و سورس و برنامه های رو که FAT رو پیاده سازی کرده باشن زیادتر از بقیه هست و راحت میشه پیدا کرد


1 - MultiTasking برنامه ای که چند برنامه دیگه رو به صورت واقعا همزمان اجرا کنه مثل ویندوز و لینوکس در اخر تایپم برنامه رو گذاشتم

2- بازنویسی روتین وقفه‌ها : اینکه اگر سیستم عاملی نوشتیم سیستم عامل ما به چه وقفه های نیاز داره به غیر از 16 وقفه سخت افزاری که مشخصا بقیه وقفه ها چه کار کنند ؟ مثلا کارت گرافیک . موس . کارت صدا . مودم و غیره هر کدوم از کدوم وقفه استفاده کنند نظرم اینه که از همون خط وقفهای که ویندوز برای ارتباط برقرار کردن استفاده می کنه ما هم استفاده کنیم مثلا ویندوز از وقفه 0x19 برای ارتباط با مودم استفاده می کنه و ما هم تو سیستم خودمون وقفه 0x19 وقفه ارتباط با مودم قرار بدیم




در ضمن در کدام بخش از کتاب مشکل داری؟ من متنش رو ندارم ولی می‌تونم کمک کنم.


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

آخه هم متنش انگلیسی و بدتر اینکه متنش تخصصی هم هست و نیاز به کسی دارم که تو زمینه ترجمه متون تخصصی کمکم کنه اگر شما بتونید کمک کنید خیلی ممنون میشم چون خودم اگر بخوام ترجمه کنم کارم زمان می بره

در ضمن پروژه من OPEN SOURCE هست و من هیچ نفع مادی یا معنوی از این کارهام نمی برم و فقط بخاطر عشق به وطن و هموطنانم هست که این کار بسیار پرمشقت رو انجام می دم هر چند انجام ای پروژه باعث به وجود امدن مشکلاتی هم برایم شده ولی فکر کنم ارزشش رو داشته باشه

در ضمن این رو هم بگم تنها مشکلم ترجمه متون تخصصی سیستم عامل هست اونهای که در موردش کتاب فارسی باشه خریدم ولی در مورد تقریبا 90 درصد مباحث تخصصی سیستم عامل کتاب فارسی نداریم همون طور که گفتم مشکلم نبودن منابع فارسی هست والا از نظر پیاده سازی و نوشتن و درک کردن کد سیستم عامل مشکلی نیست

اگر کسی تو این زمینه کمک کنه بدونه کمک و زحماتش به هدر نمیره

aakh1361
سه شنبه 15 آذر 1384, 17:37 عصر
این هم برنامه ای که چند ریسمانی رو پیاده می کنه + سورسش + کتاب FAT نوشته مایکرو سافت + کتابی درباره مدیریت حافظه : صحفه بندی و پیاده سازی ان:

این برنامه رو 1 - 2 ما پیش نوشتم ولی دیگه سعی (وقت) نکردم که قسمت ها اضافش رو حذف کنم و کد تمیز تحویلتون بدم دیگه ببخشید
منتظر کمک شما دوستان هستم

PalizeSoftware
چهارشنبه 16 آذر 1384, 01:34 صبح
در مورد الگوریتم پیاده‌سازی و بازیابی محتویات FAT‌ نمونه برنامه‌هایی قبلا پیاده کردم. بذار بگردم برات پیدا کنم.
FAT16 به مراتب ساده‌تر از FAT12 هست. ظرف چند روز آینده توضیحاتی برات می‌نویسم.
در ترجمه دو PDFی که ضمیمه بود مشکلی داری؟ اگه هست بگو تا یه نگاهی بندازم.

aakh1361
چهارشنبه 16 آذر 1384, 14:53 عصر
در مورد الگوریتم پیاده‌سازی و بازیابی محتویات FAT‌ نمونه برنامه‌هایی قبلا پیاده کردم. بذار بگردم برات پیدا کنم.
FAT16 به مراتب ساده‌تر از FAT12 هست. ظرف چند روز آینده توضیحاتی برات می‌نویسم

ممنون
منتظر کمک شما هستم



در ترجمه دو PDFی که ضمیمه بود مشکلی داری؟
اگه هست بگو تا یه نگاهی بندازم.

بله
اگر زحمتی نمیشه لطفا هر چند صحفه اش رو که تونستید به فارسی ترجمه کنید این مورد خیلی مهمه
http://asefsoft.com/qsimages/72.gif http://asefsoft.com/qsimages/72.gif

aakh1361
چهارشنبه 16 آذر 1384, 15:11 عصر
راستی یادم رفت در مورد برنامه ازتون بپرسم
شما نظرتون در مورد برنامه چیه ؟ پیشنهادی . انتقادی و ...
خوشحال میشم نظرتون رو در این مورد بدونم کاملا هم از انتقادات در مورد این برنامه استقبال می کنم

Developer Programmer
چهارشنبه 16 آذر 1384, 17:27 عصر
سلام
شاید سیستم عامل MENUET که به صورت کدباز و به زبان اسمبلی نوشته شده بتونه مشکل گشا باشه
موفق باشید

aakh1361
چهارشنبه 16 آذر 1384, 17:48 عصر
سلام
شاید سیستم عامل MENUET که به صورت کدباز و به زبان اسمبلی نوشته شده بتونه مشکل گشا باشه
موفق باشید

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

Iran-PC
جمعه 26 مرداد 1386, 18:04 عصر
سلام.
من در مورد fat16 اطلاعات میخوام.
از دوستانی که ... متشکرم.:چشمک:

من میخوام خودم فایل سیستم رو بخونم و خودم فایل بسازم و غیره.:متفکر:
این کار رو با mmc میخوام انجام بدم (دیوونه نشدم):چشمک:
یه سورس دیدم , اما اشتباه بود.:عصبانی:

این فایلی که زمیمه کردم سکتور اول یه mmc با حجم 32 مگا بایته.
تو اون سورسه گفته بود که آدرس مشخصات بوت سکتور (منظور از آدرس شماره سکتورشه) تو آدرس 1C6 و به صورت 4 بایتی هست که خوب میبینید حرف بی ربطه.
لطفا زود کمک کنید.
خیلی مرسی.