magnetsoft
New Member
سلام سلام
برای نوشتن یک سیستم عامل مستقل از چه زبون برنامه نویسی استفاده کنم؟
برای نوشتن یک سیستم عامل مستقل از چه زبون برنامه نویسی استفاده کنم؟
سلام
می خواستم بدونم که اگه بخوام یه سیستم عامل مستقل بنویسم باید از چه زبان برنامه نویسی استفاده کنم؟
با گفته های آقای سعید موافقم ولی باید اینم اضافه کنم که بهتون پیشنهاد میکنم که دنبال نوشتن سیستم عامل نباشید چون کار بیهوده ای هستش .. اما اگه کارتون صرفا جنبه ی تحقیقی داره و نمی خواید به صورت عملی این کار رو بکنید مشکلی که نیست ، خیلی هم خوبه
موفق باشید - ایام به کام
زبان های برنامه نویسی Assembly و C و ++C برای این منظور مناسب اند.
باید کامپایلری داشته باشه که :
- بتونه با مدل حافظه Tiny (کد برنامه و داده ها جمعا 64 کیلوبایت بیشتر نشه و همه بخش های برنامه
یکجا در یک سگمنت قرار بگیرند) کار کنه، این مدل حافظه مورد استفاده در فایل های اجرایی COM ئه.- خروجی 16 بیتی داشته باشه. کامپایلر هایی که فقط 32 بیتی و یا 64 بیتی اند، مناسب اینکار نیستند.
- قابلیت استفاده از کد های سطح پایین زبان اسمبلی رو در برنامه ارائه کنه. این قابلیت برای ساختن
سیستم عامل مورد نیاز است.
مثلا ++MASM، Borland Turbo C و TASM
یک سیستم عامل مستقل در ابتدا صرفا کدی داره که موقع بالا آمدن سیستم از روی سکتور صفر دیسک اجرا میشه.
کدی که کامپایل می کنید را مستقیما اجرا نمی کنید، آنرا در سکتور صفر (و سکتور های بعدی) دیسک قرار می دهید تا
خودش موقع boot شدن سیستم اجرا شود. محتویات سکتور صفر ساختار مشخصی دارد که باید رعایت شود.
هیچ سرویس آماده ای در هنگام اجرای این کد قابل دسترسی نیست، بجز سرویس هایی که وقفه های BIOS ارائه می کنند.
معمولا در زبان های برنامه نویسی دستوراتی هست که ذاتا از سرویس های سیستم عامل مثل DOS استفاده می کنند، باید
از این دستورات اجتناب کنید، مثل باز کردن فایل یا دستورات نمایش متن در کنسول. این روتین ها باید توسط سرویس های BIOS
انجام شوند، بخش عمده شان را باید خودتان باز نویسی کنید.
از اونجایی که سیستم فایل در ابتدای اجرا هنوز وجود نداره و باید بعدا پیاده سازی اش کنید، کد راه انداز سیستم عامل معمولا یک
سکتور بیشتر نیست. سکتور صفر رو خود سیستم می خونه و کد شما رو اجرا می کنه، اگر نیاز به کد بیشتری باشد باید خودتان
در کد تان سکتور های بیشتری را بخوانید.
خوب من می خوام با اسمبلی کد بنویسم، باید دانلود کنم نرم افزار رو دانلود کنم ؛ لینک دانلود می دی؟
اگه زحمتی نیست!
ببخشید کنکاو شدم چرا به صورت عملی در آوردن این کار بیهودست؟
البته شاید بتونم حدس بزنم، چون این قدر شرکت قوی وجود دارن که دیگه برای انجام کاری دیر باشه ونشه کاری کرد!!!