# برنامه نویسی سطح پایین > توسعه‌ی هسته‌ی سیستم عامل >  ساخت سیستم عامل

## farshad_momtaz

سلام
من می خواستم یه سیستم عامل بسازم هیچ جایی را پیدا نکردم برای منبع و نمی دوستم باید از کجا شروع کنم (اگه می تونین لطفا کمک کنین) و بعدش تصمیم گرفتم یه لینوکس درست کنم چون می بینم لینوکس ها زیاد شدن و مدل های مختلفی از اونا هست 
بلدم با لینوکس ها کار کنم و اطلاعاتی هم دربارشون دارم مثل این که همشون یونیکس پیشرفته اند ولی من تا حالا از یونیکس نشنیدم نمی دونم هم چی هست (اگه کسی داره لطفا لینک ازش بزاره) چطوری می شه یونیکس را قوی کرد (طراحی کرد یا درست کرد)که بشه یه لینوکس؟
من اکثر زبون های سطح پایین را بلدم(و البته سطح بالا هم همین طور) اگه هم بلد نباشم یاد می گیرم
خیلی ممنون می شم کمک کنین فوری فوری
اگه هم دوستانی هستند که می خوان تو این کار کمک کنن بگن
راستی هدف من ساختن یه سیستم عامل ایرانی هست نه ترجمه اون
ممنون

----------


## vcldeveloper

تاپیک های قبلی که در این زمینه در همین بخش ایجاد شده است را مطالعه کنید.

----------


## Delphi Coder

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

----------


## hamed_gibago

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

----------


## smile17

بهتره اول در مورد طراحی کرنل سیستم عامل بخونی
یه سرچ هم در مورد سیستم عامل ملی بزن ببین چیز به درد بخوری پیدا میکنی یا نه
به نظر من این پروژه خیلی سخت تر و فنی تر و گسترده ت از اونی هست که فکر میکنی

----------


## sigmaos

می توانید به این تاپیک سربزنید 
من سیستم عامل سیگما را نوشتم 
https://barnamenevis.org/showthread.p...A7%D9%85%D9%84

----------


## pswin.pooya

سلام
متاسفانه همنطور که پیشتر اشاره شد. اطلاعات فنی کافی و همینطور کد سیستم عامل و ... در دسترس نیست. اطلاعات بشدت کم و ناقص هستند. مثلا شما ادعا کردین که برنامه اجرا می کنه، خب سوالی که مطرح میشه اینه:

که این برنامه ها با چه قالبی هستند. و یا چند بیتی هستند. حتی روی چه دستگاهی اجرا میشن. نحوه اجرای اونها چجوری؟ نحوه مدیریت خطا و ... چجوریه و ...

یا برفرض ساختار سیستم عامل و ... چجوریه. 


متاسفانه با جوء ای که وجود داره شما باید حتی بتونید ثابت کنید که اینکار رو کردید یا نه. ما اینجا مورد داشتیم که ثبت اختراع کرده (با اینکه قبلش چندین سیستم عامل نوشته شده.) و حتی مورد داشتیم که طرف کد سیستم عامل رو کپی کرده و یا حتی مورد فتوشاپی هم داشتیم. با وجود اینها شما باید به شکلی مستندات ارائه کنید که ما حداقل از وجود این سیستم عامل و اینکه توسط شما نوشته شده اطمینان پیدا کنیم.

مورد بعدی که توی این چند ساله اخیر من به شدت باهاش مخالف شدم بحث های تبلیغاتی و اسپانسری و ... است که متاسفانه تجربه تلخی ازش داریم جوری که همه ایرانی ها دارن تاوان اون رو پس می دن. به نظر من شما باید برنامه ای تولید کنید که به درد اجتماع و صنعت بخوره و با استفاده از بودجه دولتی و یا مردمی اینکار رو انجام ندید. هیچ جای دنیا تکنولوژی ساخته و یا وارد نمیشه مگر اینکه توجیح داشته باشه.

----------


## pbm_soy

* اول از همه هدفت را مشخص کن و حتما طوری هدف را انتخاب کن که متناسب با توانائی هات باشه. آیا میخواهی اینکار را با اهداف تجاری پیش ببری یا اینکه صرفا برای دل خودت و یا کنجکاوی است؟!

* مسیر کار را منطقی انتخاب کن یعنی سعی کن از انجام کارهای انجام شده بپرهیزی! مثلا لینوکس و سیستم عاملهای متن باز زیادی وجود دارد میتوانید خیلی از بخشهای سیستم عاملت را از آنها استفاده کنی (البته اگه مشکل لایسنسی نداشته باشید و تناقض با اهدافت نداشته باشه)

* در همین سایت جائی دیدم که یکی از دوستان سیستم عامل نوشته و حالا میخواد براش اینترفیس گرافیکی بنویسه چرا باید وقتتون را تلف کنید برای نوشتن اینترفیس گرافیکی جدید وقتی اینترفیسهای خوب و جامعی مانند KDE و Gnome بصورت متن باز موجودند فوقش میتوانید ویرایش کنید و یا بومی سازیش کنید شاید در مراحل بوومی سازی حتی نیازی نباشه یک خط کدهم بنویسید 

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

پیشنهاد من اینه که اول روی انواع توزیعهای لینوکس و انواع هسته هاش وقت بذاری و مطالعه کنی و نصب کنی
چند وقت پیش حتی وب سایتی را دیدم که به شما اجازه تولید یک توزیع جدید از لینوکس Suse به شما میداد که کاملا تک تک بخشهای آنرا شما مشخص میکردید و در نهایت آن وب سایت فایل ISO توزیع شما را اجازه دانلود میداد آدرسشم این بود:
https://susestudio.com/

شاید وب سایت از این دست زیاد باشد من فقط یکبار این سایت را تست کردم فکر میکنم تاحالا امکاناتش و قابلیتهاش بیشتر شده باشه!

*یااینکه اگه میخواهید حرفه ای تر از این سطح پیش برید میتوانید به سایت  http://www.linuxfromscratch.org/ مراجعه کنید که ساخت لینوکس از صفر را میگوید و فوق العاده است مطالب این سایت میتواند شروع برنامه نویسی سیستم عامل برای شما باشد*
فکر میکنم با کار کردن مطالب سایت فوق حس کنجکاوی شما کاملا ارضاء شود و میتوانید راه خودتون را برای آینده برنامه نویسی پیدا کنید

----------


## pbm_soy

> می توانید به این تاپیک سربزنید 
> من سیستم عامل سیگما را نوشتم 
> https://barnamenevis.org/showthread.p...A7%D9%85%D9%84


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

----------


## sigmaos

> سلام
> متاسفانه همنطور که پیشتر اشاره شد. اطلاعات فنی کافی و همینطور کد سیستم عامل و ... در دسترس نیست. اطلاعات بشدت کم و ناقص هستند. مثلا شما ادعا کردین که برنامه اجرا می کنه، خب سوالی که مطرح میشه اینه:
> 
> که این برنامه ها با چه قالبی هستند. و یا چند بیتی هستند. حتی روی چه دستگاهی اجرا میشن. نحوه اجرای اونها چجوری؟ نحوه مدیریت خطا و ... چجوریه و ...
> 
> یا برفرض ساختار سیستم عامل و ... چجوریه. 
> 
> 
> متاسفانه با جوء ای که وجود داره شما باید حتی بتونید ثابت کنید که اینکار رو کردید یا نه. ما اینجا مورد داشتیم که ثبت اختراع کرده (با اینکه قبلش چندین سیستم عامل نوشته شده.) و حتی مورد داشتیم که طرف کد سیستم عامل رو کپی کرده و یا حتی مورد فتوشاپی هم داشتیم. با وجود اینها شما باید به شکلی مستندات ارائه کنید که ما حداقل از وجود این سیستم عامل و اینکه توسط شما نوشته شده اطمینان پیدا کنیم.
> ...


اولا ادعا نیس و واقعیت هست...
من اصلا متوجه منظور شما نیستم :
منظور شما از اطلاعات فنی چیه ؟؟؟
اگه منظور شما اینه که روی چه پردازنده هایی اجرا میشه و .... منظور X86 است و فعلا بصورت 16 ببیتی 
در ضمن اگه منظور از کد سیستم عامل سورس برنامه است که باید بگم سخت در اشتباه هستید چون سورس بسته است البته حاضرم بخش هایی از اون رو توی سایت بزارم تا همه بدونن که از صفر نوشته شده ( منظورم کرنل هست ) نه بوت لودر 
البته فعلا به صورت command promt در ضمن من فعلا واسه مدیریت خطا کاری انجام ندادم در ضمن میخوام بگم  کرنل با این که از نوع هیبرید هست و فعلا از وقفه های بایوس استفاده شده  یکسری مشکلات مثل ورود به مد 32 بیتی و مدیریت حافظه دارم

احتمالا شما که من رو متهم به ادعا داشتن می کنید باید بدونید زمانی که دارید از وقفه های بایوس (BIOS INTRUPTS) استفاده میکنید دیگه نمیتونید از محیط protected mode استفاده کنید چون در این صورت اتصال شما در این محیط با وقفه های بایوس عملا به صورت OFFLINE و DISConnect در میآد!!!!!!

در ضمن من توی این سیستم عامل فعلا کاری برای دسترسی به درایو های دیگه نکردم چون فعلا نتونستم DRIVE DRIVER رو بنویسم 
:د شروع در اسمبلی هم بصورت ORG 100H به 0RG 16384 فعلا برای مدیریت هممون حافظه 1m طراحی شده 

DISK CASHE و بقیه چیز ها و... 

مورد بعدی که توی این چند ساله اخیر من به شدت باهاش مخالف شدم بحث های تبلیغاتی و اسپانسری و ... است که متاسفانه تجربه تلخی ازش داریم جوری که همه ایرانی ها دارن تاوان اون رو پس می دن. به نظر من شما باید برنامه ای تولید کنید که به درد اجتماع و صنعت بخوره و با استفاده از بودجه دولتی و یا مردمی اینکار رو انجام ندید. هیچ جای دنیا تکنولوژی ساخته و یا وارد نمیشه مگر اینکه توجیح داشته باشه.

با این جمله شما مخالف هستم و به چشک اهانت بهش نگاه میکنم 

امیدوارم چنین چیزی دیگه نباشه ....

----------


## sigmaos

> دوست عزیز لینکهای دانلود سیستم عاملت در وبلاگت کار نمیکنند!
> در صورت امکان لینکهاش را اصلاح کنید و یا حداقل یک کپی برای من بفرستید مشتاقم ببینمش!


فعلا داریم روی نسخه 4 کار میکنیم به محض کامل شدن خدمت شما نیز ارائه خواهد شد

با تشکر بهروز

----------


## pswin.pooya

> ولا ادعا نیس و واقعیت هست...
> من اصلا متوجه منظور شما نیستم :
> منظور شما از اطلاعات فنی چیه ؟؟؟


مساله اتهام و یا غیره نیست. من فقط می گم مستندات بیشتر ارائه بدید که بتونه بیشتر از فقط یک اسم و زبان برنامه نویسی باشه. مشکل اینجاست که بارها دوستان ادعال طراحی داشتن و به شکل های مختلف خلافش ثابت شده.

منظور من از اطلاعات فنی. مواردی هست که بدونیم چه شکلی کار می کنه. مثلا همین 32 بیتی هست یا 16 بیتی. مولتی تسکینگ داره یا نه. مدیر حافظه داره با نه و ... اینجور موارد. 




> با این جمله شما مخالف هستم و به چشک اهانت بهش نگاه میکنم


خب هرکس نظر خودش رو داره. شما چرا باهاش مخالف هستنید؟ 

ببینید از اونجا که بحث پژوهشی نداریم و فعلا در مرحله مهندسی هستیم توجیهی برای تزریق پول به یه پروژه وجود نداره چون علمش وجود داره (بماند که در دسترس هست یا نه) معمولا حالت اسپانسری توی این زمینه برای علمی هست که وجود نداره و ... شما در بحث مهندسی باید بتونید چیزی تولید کنید که کاربرد داره و می تونه فروش بره. وگرنه هرکسی توی خونه می شینه و یه برنامه مثل سیستم عامل تولید می کنه و بعد ادعای بودجه و ... می کنه. درسته که اینکار زمانبر هست و هزینه هایی رو هم لازم داره اما باید توجه کنید که اینکار از شما و یا من خواسته نشده و به احتمال 99 درصد هم هیچ مشکلی رو از اجتماع و جامعه حل نمی کنه که ادعایی براش وجود داشته باشه در نتیجه حتی دولت هم بخواد حمایت کنه به نظر من اشتباه هست. باید حتما یک بازده و یا حداقل بازگشت سرمایه ای وجود داشته باشه که بشه وجود اسپانسر و ... رو توجیح کرد در غیر این صورت اینکار فقط دور ریختن پولی میشه که می تونست جای دیگه سرمایه گذاری بشه.

----------


## sigmaos

یه مشکلی که هست اینه که من با ویندوز و لینوکس خیلی حال نمیکنم 
هر دو اونها در قسمت های ارتباط با سخت افزار دچار مشکلات اساسی اند :
مثلا زمانی که روی ویندوز یه درایور اشتباه نصب بشه بعد خروجی نمیده و خیلی چیز های دیگه 
نمی دونم کسی اینجا menutos یا kolibri os رو دیده یا نه 
با اسمبلی نوشته شدن گرافیکی اند و خیلی سبک و مفید یه جوری که هر کس روی فلش ها یا فلاپی یا هارد میتونه اونها رو استفاده کنه 

میشه یه نگاهی به همین مایکروسافت انداخت که شعارش بود هر کامپیوتر یک ویندوز و یک آفیس 
توی این شعار اثری از پول نیس 
تازه من خودم با هزینه شخصی این کار رو میکنم شهرت و اعتبار چیزیه که بهتر از پوله و بهتر میشه با اون به چیزی به اسم پول رسید 
منم همچین قصدی دارم البته در انتها
که یه سیستم عامل کوچولو که سرعتش خیلی زیاده و تازه مفسر رو یادم رفت بگم؟؟؟؟
احتمالا تا الان همتون ویندوز 10 رو دیدید میدونید که چطور میتونه خیلی از برنامه ها رو که مربوط به خودش نیس اجرا کنه بدون نرم افزار خاصی  منظورم اینه مفسر های خوبی داره 
منم یه همچین تصمیمی دارم و هدفم پول نیس 
مثلا یه سیستم عامل کوچولو که میتونه آندروید و... دیگه رو اجرا کنه کوچیک باشه با سرعت 

من بیشتر نظرم رو اینه ....

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

نمیخوام سیستم عامل من اینطور شه ...

----------


## pbm_soy

موفق باشید

----------

