PDA

View Full Version : همکاری و کمک در ساخت سیستم عامل



mrcoder01
شنبه 06 تیر 1394, 04:03 صبح
سلام خدمت عزیزان
از تمام کسانی که در زمینه "ساخت سیستم عامل" علاقه دارند تقاضا می کنم در این مطلب اعلام نمایند و ما را در این راه همراهی نمایند.
** افرادی که نیز که میتوانند منبعی - اموزشی - مطلبی برای ارتقا سطح کدنویسی و .. کمک نمایند خوش حال می شویم.

سوالاتی که داشتم :
1- با چه زبانی بنویسیم ساده تر و بهتر هست (اسمبلی-c-C++‎‎‎‎‎‎ و ...)؟
2- آیا امکان هست لوگو یا تصاویری در سیستم عامل استفاده شود؟
3- چه ابزارات و برنامه های برای شروع نیاز هست؟
4- چگونه یک محیط گرافیکی (GUI) در آن ایجاد کنیم (رنگ بندی - عکس و ...)

بنده در این زمینه زیاد تخصصی ندارم میتونم بگم با اسمبلی چند سیستم عامل بسیار ساده ساخته ام و آن را به bin , img تبدیل کرده ام و آن ها را امتحان کردم درست بودند لطفا کمک کنید.

کسی هست؟

mr.dp+
شنبه 06 تیر 1394, 10:46 صبح
کلا هدفت اینه یک سیستم عامل از پایه بسازی و تجربه بشه برات یا اینکه توزیعش کنی و مردم استفاده کنن ؟

mrcoder01
شنبه 06 تیر 1394, 11:14 صبح
برای شروع نمیشه که یک چیزی مثل ویندوز 8 یا 10 درست کردش
خود مایکرسافت هم سیستم عامل هایی که ساخت از ابتدا به ترتیب اینا هستند:
1- Xenix
2- ms-dos
3- windows 1
4- windows 2
5- windows 3
6- windows 95
7- windows 98
8- windows me
9- windows 2000
10- windows xp
11- windows vista
12- windows 7
13-windows 8
14-windows 10
و دیگر سیستم هایی را که نوشتند
که تصاویرشات را نیز به ترتیب قرار داده ام در زیر:
132633
132634
132635
132636
132637
132638
132639
132640
132641
132642
132643
132644
132645
132646
با این حال اینکه برای اولین کار بیایی یک چیزی در حد ویندوز 10 بسازی . چیز خیلی عجیبی هست
برای شروع میتونیم حداکثرش و نهایتش یک چیزی خیلی خیلی ضعیف تر از ویندوز xp بزنیم.
در مورد توزیع هم بگم خب اول باید سیستم رو نوشت . تست کرد . ارتقا داد .
بنظرم اولین سیستم عامل نمیتونه محیط کاربر بسندی داشته باشه که بتونیم توزیع کنیم
ولی در مورد توزیع هم میتونم از طریق شرکت این کار رو شروع کنیم.
و اون رو بصورت های مختلف ا ز جمله سی دی در فروشگاه ها توزیع کنیم.

اگه کسی هست بنده بصورت جدی در این زمینه هستم.
کسی هست؟
اعلام کنید تا با هم کار و ارتقا یابیم.

rahnema1
شنبه 06 تیر 1394, 13:02 عصر
سلام
ما اینجا تالار توسعه سیستم عامل داریم حالا اونجا هم میتونید مراجعه کنید و با دوستان مشورت کنید:
http://barnamenevis.org/forumdisplay.php?118-توسعه‌ی-هسته‌ی-سیستم-عامل

mrcoder01
دوشنبه 08 تیر 1394, 01:01 صبح
مطلب کاربردی و جامعی درش وجود نداشت

کسی نیست همکاری کنیم؟؟؟؟؟؟

pbm_soy
دوشنبه 08 تیر 1394, 03:20 صبح
چرا روی لینوکس کارنمیکنید؟!
همون لینوکس را از پایه کار کنید و تک تک بخشها را مطالعه و بررسی کنید و هر بخش را که دوست نداشتید اصلاحش کنید یا اصلا پاک کنید و آن بخش را از اول خودتون بنویسید!
مرحله به مرحله کار کنید
مثلا اول روی کرنل و لودر لینوکس کار کنید و یک سیستم عامل کوچک برای خودتان کامپایل کنید و راه اندازی کنید بعد برید سراغ مراحل بعد مانند رابط کاربری مانند شلها و یا اینترفیسهای گرافیکی مانند KDE , Gnome

payam200525
دوشنبه 08 تیر 1394, 04:45 صبح
من هستم و خودم دنبال ساخت و تجربه اولین سیستم عامل هستم....شما تا بحال به کجا رسیدی؟

firebox
دوشنبه 08 تیر 1394, 10:34 صبح
بهتره از هسته یونیکس استفاده کنید ، اینکه بخواهید خودتون از پایه بنویسید ، کار عاقلانه ای نیست.
برای نمونه الان سیستم عامل های مک و IOS بر پایه یونیکس هستن ، شرکت بزرگی مثل اپل نیومده از پایه بنویسه و ترجیح داده از یونیکس استفاده کنید ، به شما هم پیشنهاد میکنم همین کار رو کنید.

در آخر این رو هم بگم ، الان با وجود سیستم عاملی مثل لینوکس ، که به صورت گسترده ای توسط توسعه دهنده ها مورد استفاده قرار میگیره و میشه گفت تو زمینه های مختلف نرم افزارهای براش توسعه داده شده ، ایجاد یک سیستم عامل جدید ضرورتی نداره و کسی هم ازش استفاده نخواهد کرد ، مگر برای یک سازمان یا شرکت خصوصی بخواهد استفاده بشه اونهم باز به هزینه اش نمی صرفه.

golbafan
دوشنبه 08 تیر 1394, 11:16 صبح
سلام یه سیستم عامل میشناسم که اپن سورسه و بر پایه ویندوز هم هست اتفاقا:
https://www.reactos.org/

reza_noei
سه شنبه 09 تیر 1394, 12:20 عصر
سلام



1- با چه زبانی بنویسیم ساده تر و بهتر هست (اسمبلی-c-C++‎‎‎‎‎‎‎‎‎ و ...)؟
به نظر من C گزینه ی خوبیه.



2- آیا امکان هست لوگو یا تصاویری در سیستم عامل استفاده شود؟
البته که هست منتها زمانی که تسهیلات مربوطه را داشته باشید. فعلا مسئله لوگو یا تصویر نیست باید بتونید فعل "سیستم عامل" را پیاده سازی کنید یعنی مدیریت منابع و ارائه یک واسط راحت تر برای کار با کامپیوتر.



3- چه ابزارات و برنامه های برای شروع نیاز هست؟
به نظر من کار کردن در محیط لینوکس و خط فرمان آن گزینه خوبی چون کار کردن و تست کردن در آن بسیار سریعتر انجام میشود.



4- چگونه یک محیط گرافیکی (GUI) در آن ایجاد کنیم (رنگ بندی - عکس و ...)
فعلا زوده که در مورد محیط گرافیکی صحبت کنید اگه بخواهید یک سیستم عامل 16 بیتی بنویسید مشکلی نیست میتونید در همون حدی که بایاس در اختیارتون قرار میده gui تون رو درست کنید، نمونه mikeos.
ولی اگه بخواهید 32 یا 64 بیتی کد بزنید باید درایو نویسی هم یاد بگیرید تا بتونید یک gui با استفاده از کارت گرافیکی راه اندازی کنید.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


چرا روی لینوکس کارنمیکنید؟!
همون لینوکس را از پایه کار کنید و تک تک بخشها را مطالعه و بررسی کنید و هر بخش را که دوست نداشتید اصلاحش کنید یا اصلا پاک کنید و آن بخش را از اول خودتون بنویسید!
مرحله به مرحله کار کنید
مثلا اول روی کرنل و لودر لینوکس کار کنید و یک سیستم عامل کوچک برای خودتان کامپایل کنید و راه اندازی کنید بعد برید سراغ مراحل بعد مانند رابط کاربری مانند شلها و یا اینترفیسهای گرافیکی مانند KDE , Gnome




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

1. مطالعه های کتاب مرجعی مثل کتاب آقای تننباوم
2. مطالعه و استفاده از منابع ساده مثل آموزشهای ویدئویی و مقالاتی در این زمینه

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

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