انجمن‌های فارسی اوبونتو

جامعه کاربران => کافه اوبونتو => نویسنده: Mmjafari در 16 امرداد 1395، 09:41 ق‌ظ

عنوان: نوشتن سیستم عامل از اول
ارسال شده توسط: Mmjafari در 16 امرداد 1395، 09:41 ق‌ظ
سلام.
من می خوام یک سیستم عامل جدید بنویسم. البته از بیخ. به اسمبلی و سی آشنایی دارم. از کجا باید شروع کنم؟
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: ابراهیم مشهدی تفرشی در 16 امرداد 1395، 10:20 ق‌ظ
بابا دمت گرم
باریکلا به این شجاعت و همت

برخلاف شما من هیچ سررشته نه از سی دارم نه از اسمبلی ولی این رو می دونم برای نوشتن سیستم عامل سی خیلی بهتره از اسمبلی هستش چون قبلا این تجربه شده سیستم عامل یونیکس سابقا به زبون اسمبلی بود ولی در سال ۱۹۷۲ همش رو از اول دوباره به زبون سی نوشتن.
https://fa.wikipedia.org/wiki/%DB%8C%D9%88%D9%86%DB%8C%DA%A9%D8%B3 (https://fa.wikipedia.org/wiki/%DB%8C%D9%88%D9%86%DB%8C%DA%A9%D8%B3)
نقل‌قول
بازنوشتن به زبان سی[ویرایش]
در ۱۹۷۲، یونیکس به زبان سی بازنوشته شد. این برخلاف پندار همگانی آن زمان بود که می‌گفت «هر چیز پیچیده‌ای مثل یک سیستم‌عامل که باید با رویدادهای حساس به زمان سر و کار داشته باشد، باید منحصراً به زبان اسمبلی نوشته شود.» نتیجه مهاجرت از زبان اسمبلی به زبان سطح بالاتر سی این بود که کد یونیکس پرتابلتر و قابل حمل‌تر شد و برای اجرا بر روی ماشین‌های دیگر تنها کافی بود قسمت‌های کوچکی از آن به زبان اسمبلی مخصوص همان ماشین نوشته شوند.

ای‌تی‌اندتی کد منبع یونیکس را تحت مجوزهایی در دسترس دانشگاه‌ها، شرکت‌های تجاری و دولت ایالات متحده قرار دارد. مجوزها در همه جای کد منبع قرار داده شده بودند، حتی کدهای وابسته به ماشین در داخل هسته سیستم‌عامل، که به زبان اسمبلی پی‌دی‌پی-۱۱ نوشته شده بودند. در اواخر دهه ۱۹۷۰، کدهای منبع یونیکس در کتابی به نام «نسخه ۶ یونیکس به روایت لیونز، به همراه کد منبع» که توسط جان لینوز نوشته شده بود، به صورت گسترده منتشر شد. این کار باعث شد یونیکس به شکل قابل توجهی برای مقاصد آموزشی استفاده گردد.

برای اینکه از کجا باید شروع کرد؟
خوب توی اینترنت خیلی سایتها هستند که کمک می کنن فقط باید کلمه جادویی انترنت رو بگی:
how to ...مثلا
how to write a new operating systemیا چیز های دیگه ای که مثل همین باشند
سایت های زیادی معرفی می کنه
مثل این
http://www.wikihow.com/Make-a-Computer-Operating-System (http://www.wikihow.com/Make-a-Computer-Operating-System)

یه راه دیگه هم اینه که کدهای منبع یه سیستم عامل دیگه رو - فقط برای وارد شدن و نه برای کپی کردن - مطالعه کنید مثلا همین لینوکس یا سیستم های دیگه هم هست که احتمالا کدشون رو ارائه می کنند

به هر حال موفق باشید
مشکله و ممکنه
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: دانیال بهزادی در 16 امرداد 1395، 11:03 ق‌ظ
از صحبتتون این‌طور برمی‌آد که احتمالاً به صورت دقیق نمی‌دونید سیستم‌عامل چبه. توصیهٔ من شروع از این‌جاست: http://www.linuxfromscratch.org/lfs/view/stable/
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: Mmjafari در 16 امرداد 1395، 11:27 ق‌ظ
درسته. اما من دارم سعی در اختراع دوباره چرخ می کنم.
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: koosha در 16 امرداد 1395، 11:33 ق‌ظ
خب اصلا اینکار اگر هم بتونید منطقی نیستش . هدفتون از اینکار چیه ؟ اگر واقعا دانشش رو دارید بهتره روی هرد کار کنید .
البته بعید میدونم درک درستی داشته باشید از اینکه باید دقیقا چیکار کنید چون فرآیند پیچیده ای هستش و دانش بالایی نیاز داره .
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: Mmjafari در 16 امرداد 1395، 11:37 ق‌ظ
ایده ای غیر از ایده پیاده شده روی هرد، لینوکس ، بی اس دی یا ان تی دارم. بنا بر این بهتره از اول شروع کنم.
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: koosha در 16 امرداد 1395، 01:55 ب‌ظ
چه ایده ای ؟
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: MADMAN در 16 امرداد 1395، 02:55 ب‌ظ
از صحبتتون این‌طور برمی‌آد که احتمالاً به صورت دقیق نمی‌دونید سیستم‌عامل چبه. توصیهٔ من شروع از این‌جاست: http://www.linuxfromscratch.org/lfs/view/stable/
مثل همیشه کاملا صحیح
مینیکس با هدف آموزش ساخته شده. امکاناتش کمه ولی قراره که کدش اینقدر ساده نوشته بشه که همه بتونن بخوننش. خب واسه اینکه بفهمیم چی می شه که بوت می شه گرافیک چیه و چه جوری کار می کنه و چه جوری فایل کپی می شه و غیرو غیره بد نیست نگاهی بهش بندازی.
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: Mmjafari در 16 امرداد 1395، 03:59 ب‌ظ
نمیشه فعلا مطرح کرد. اون صفحه رو هم دیدم
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: nixoeen در 16 امرداد 1395، 08:21 ب‌ظ
کتاب‌های دانشگاهی سیستم‌عامل رو بخونید :)
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: koosha در 16 امرداد 1395، 09:12 ب‌ظ
نمیشه فعلا مطرح کرد. اون صفحه رو هم دیدم
یعنی میخوای سیستم عامل رو متن بسته و انحصاری توسعه بدی ؟   
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: Mmjafari در 17 امرداد 1395، 08:59 ق‌ظ
نمیشه فعلا مطرح کرد. اون صفحه رو هم دیدم
یعنی میخوای سیستم عامل رو متن بسته و انحصاری توسعه بدی ؟   
نه ولی فعلا قصد مطرح کردن ندارم
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: فاروق در 18 امرداد 1395، 04:07 ب‌ظ
یک سایت هست ‏OSDev.org‏ اگر اشتباه نکنم مطالبش خوبه.
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: bestos در 21 امرداد 1395، 01:22 ق‌ظ
دوست عزیز اگه فکر کردی یه سیستم عامل جدید رو شروع میکنی و بعدش سیستم عاملت مثل لینوکس جهانی میشه و خودتم مثل آقای توروالدز جهانی میشی سخت در اشتباهی. خودتو گول نزن و از رویا بیا بیرون. به هزار دلیل شدنی نیست. عمرت رو تلف نکن. اگه تونستی همین هرد یا bsd رو یک درجه ارتقا بدی تمام دنیا بهت ایمان میارن!
اپل با اون عظمتش نرفت از اول بنویسه، bsd رو گرفت ادامه داد. یعنی شما از اپل هم دانش و تواناییت بیشتره؟
در ضمن هنوز برای من سواله که شما اصلاً با چه استدلالی میخوای از اول os بنویسی. واقعاً دونستنش برام جالبه. نمیخواد همه چیز رو لو بدی فقط بگو این سیستم عاملهای موجود چه ایرادی دارن از نظر تو؟
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: Nelliel در 21 امرداد 1395، 11:00 ق‌ظ
دوست عزیز اگه فکر کردی یه سیستم عامل جدید رو شروع میکنی و بعدش سیستم عاملت مثل لینوکس جهانی میشه و خودتم مثل آقای توروالدز جهانی میشی سخت در اشتباهی. خودتو گول نزن و از رویا بیا بیرون. به هزار دلیل شدنی نیست. عمرت رو تلف نکن. اگه تونستی همین هرد یا bsd رو یک درجه ارتقا بدی تمام دنیا بهت ایمان میارن!
اپل با اون عظمتش نرفت از اول بنویسه، bsd رو گرفت ادامه داد. یعنی شما از اپل هم دانش و تواناییت بیشتره؟
در ضمن هنوز برای من سواله که شما اصلاً با چه استدلالی میخوای از اول os بنویسی. واقعاً دونستنش برام جالبه. نمیخواد همه چیز رو لو بدی فقط بگو این سیستم عاملهای موجود چه ایرادی دارن از نظر تو؟

چرا همه فکر می‌کنن تا یکی می‌خواد توزیع بسازه یا از اول سیستم عامل بسازه می‌خواد معروف شه؟ یا بگه خفنه؟ :) شاید قصد بنده خدا فقط وارد شدن یه یه دنیای باحال به اسم طراحی سیستم عامل باشه :)
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: کیهان در 21 امرداد 1395، 01:35 ب‌ظ
خب جامعه ما یه اصطلاح داره
((shut up and calculate))
شما هم بهتره بجای صحیت دربارش بسازیش...
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: سید وحید رضا برهانی در 23 امرداد 1395، 12:46 ب‌ظ
کار خوبی هست.
 چرخ خودت رو بساز!
این سایت رو نگاه کن:
http://mikeos.sourceforge.net/write-your-own-os.html
خیلی مطالب آموزنده ای داره و ظاهرا نوشتن یک سیستم عامل چیز سختی نیست.البته نوشتن یک سیستم عامل خفن که بتونه بازیهای خفن تر از خودش رو اجرا کنه ظاهرا سخته.
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: Mmjafari در 03 شهریور 1395، 05:55 ق‌ظ
خب اصلا اینکار اگر هم بتونید منطقی نیستش . هدفتون از اینکار چیه ؟ اگر واقعا دانشش رو دارید بهتره روی هرد کار کنید .
البته بعید میدونم درک درستی داشته باشید از اینکه باید دقیقا چیکار کنید چون فرآیند پیچیده ای هستش و دانش بالایی نیاز داره .
این کار چه سودی برای جامعه کاربری داره؟ و چه توزیع هایی تحت هرد وجود دارن؟
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: دانیال بهزادی در 03 شهریور 1395، 09:32 ق‌ظ
این کار چه سودی برای جامعه کاربری داره؟
به جامعه امکان استفاده از کرنلی رو می‌ده که حتا از لینوکس هم بهتره.

و چه توزیع هایی تحت هرد وجود دارن؟
در حال حاضر دبیان و آرچ و گیکس به صورت رسمی و اوبونتو به صورت غیررسمی. با روند شتابان توسعهٔ هرد، این توزیع‌ها بیش‌تر هم می‌شن.
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: Mmjafari در 03 شهریور 1395، 03:20 ب‌ظ
این کار چه سودی برای جامعه کاربری داره؟
به جامعه امکان استفاده از کرنلی رو می‌ده که حتا از لینوکس هم بهتره.

و چه توزیع هایی تحت هرد وجود دارن؟
در حال حاضر دبیان و آرچ و گیکس به صورت رسمی و اوبونتو به صورت غیررسمی. با روند شتابان توسعهٔ هرد، این توزیع‌ها بیش‌تر هم می‌شن.
از چه لحاظ از لینوکس بهتره؟
بعد هرد چند درصد کامله؟ همه قابلیت های مهم رو داره؟
عنوان: پاسخ : نوشتن سیستم عامل از اول
ارسال شده توسط: koosha در 03 شهریور 1395، 04:09 ب‌ظ
خب برای اطلاعات بیشتر باید اینجا رو بخونی : https://www.gnu.org/software/hurd/
هرد ساختار میکروکرنل داره . این خودش دریای برتری رو میاره . هرد قراره جزء مهم یک سیستم عامل آزاد باشه . در نتیجه شما داخل هرد دیگه برای هر کاری مثل کرنل های یونیکسی (مثل لینوکس) به دسترسی مدیر سیستم نیاز ندارید .
همچنین هرد امنیت بیشتر و قابلیت کانفیگ و تغییرات بیشتری رو ارائه میکنه .
میتونی اینجا رو هم بخونی : https://www.gnu.org/software/hurd/advantages.html
الان روی نسخه ی ۰.۸ هستش . ماخ هم باید کنارش پیشرفت بکنه . برای استفاده ی کاربر الان مناسب نیست ، چون ماخ تعدادی از سخت افزار ها رو نمیشناسه .
پیاده سازی ساختار میکروکرنل سختتر از کرنل یکپارچه هستش برای همین بیشتر طول کشیده .