خب در سلسله مقالاتی قصد دارم توسعه و طراحی یک سیستم عامل رو توضیح بدم.
برای شروع به چند چیز نیاز داریم :
۱- انگیزه و هدف :
خب معمولش این هست که انگیزه یا هدف رو طوری تعیین کنیم که بتونیم از پسش بر بیایم. اگر شخصی هستید که فقط به جهت علاقه دنبال طراحی و نوشتن سیستم عامل هستید، هدف خود را «لذت از سیستم» یا «فان» تعریف کنید 🙂
۲- حوصله و دقت :
دقت کنید که حتما دامنه حوصله ای خودتون رو گسترش بدید! چون سیستم عامل مثل برنامه های ساده نیست که نهایتا جایی کم بیاریم کد بقیه رو دست نخورده بیاریم توی برنامه خودمون! ولی نشدنی هم نیست. فقط باید حوصله به خرج بدیم و سیستم عامل خودمون رو با کدها هماهنگ کنیم یا بالعکس! (که کار رو بیشتر کردیم! اون هم بسیار بسیار بیشتر!)
۳- برنامه نویسی :
الف) اسمبلی و C : این دو زبان در کنار هم سیستم عاملهای خوبی رو ساختند! داس ، ویندوز ، لینوکس و تقریبا کل سیستم عاملهای امروزی ترکیبی از این دو هستند ! حال یا بصورت این لاین اسمبلی یا جدا جدا و سپس به هم لینک شدند!
ب) C یا C++ یا هر زبان دلخواه دیگر : این قسمت به خودتون بستگی داره. قسمتهایی مثل بوت لودر عموما با اسمبلی یا سی نوشته میشن در صورتی که سایر قسمت ها با توجه به سیاست های شما یا توانایی هاتون با زبانهای دیگر (از خود C و C++ گرفته تا پاسکال و بیسیک و …) اجرا بشه.
۴- محیط توسعه:
قبلا در این باره بحث شده. ولی باز تکرار میکنم لینوکس (و علی الخصوص اوبونتو) بسیار مناسب هست. اگر نمیخواید روی سیستمتون نصب کنید در VM نصب کرده سپس توسط puTTY و openssh-server از درون ویندوز با هم کار کنید.
۵- منابع:
اگرچه نباید تنها به منابع اینترنتی اکتفا کرد ولی فعلا چند منبع اینترنتی معرفی میکنم :
۱- مایک او اس : http://mikeos.berlios.de
۲- او اس دو : http://wiki.osdev.org http://forums.osdev.org
۳- او اس دور : http://osdever.net