PDA

View Full Version : ماه و پلنگ یا چگونه یک سیستم عامل بنویسیم ؟



mehrzad007
جمعه 26 بهمن 1386, 11:09 صبح
How you can design a new OS?
-------------------------------------------------------
این آرزوی خیلی از برنامه نویسان بوده که یک سیستم عامل بنویسند . من جمله خود من . چرا؟ شاید برای هر کسی دلیل خاصی داشته باشد اما برای من این بود که فکر می کنم این مساله چیزی است که ارزش کار کردن و وقت گذاشتن را دارد . و دوم اینکه دوست دارم از هر چیزی بیشتر از آن که اجازه داده شده کار بکشم . که مطمئنا این کار نیاز دارد که شما آشنایی با طرز کار کامپیوتر داشته باشید حال این آشنایی هر چه سطح پایین تر مفید تر . اما چرا دارم اینها را برای شما می گویم ؟ آرزوهای و اهداف من شاید چندان برای شما جالب نباشد اما فکر می کنم این مقاله مقداری از سوالات تازه کاران را جواب دهد . چرا که عموما با این مساله احساسی برخرود می کنند و خیز بلندی بر می دارند اما نه آنقدر بلند که به مقصد برساندشان پس سر خورده می شوند و مایوس .
برای نوشتن سیستم عامل اول ببینیم وظیفه یک سیستم عامل چیست ؟ مطمئنا اولین وظیفه هر سیستم عاملی مدیریت سخت افزار است . که مطمئنا برای این کار باید نه اگر دقیقا اما بدانید که سخت افزار ها چگونه کار می کنند . مثلا cpu . ram ... . بعد باید دید سیستم عامل چگونه با کاربر برخورد می کند . نیازها را چگونه دریافت می کند و پردازشش می کند . و بعد اینکه اطلاعات چگونه روی هارد شما ذخیره می شود . مخصوصا خود سیستم عامل . و چگونه سیستم عامل خودش را راه می اندازد . می بینید ؟ این یک دنیای جدید است که اگر سی و اسمبلی نمی دانید بهتر است اصلا وارد نشوید . بعله ... متاسفانه این یک حقیقت است . سیستم عامل را نمی شود با وی بی نوشت ! چرا؟ چون کار زبانهایی ویژوالی مثل وی بی در حقیقت استفاده از امکانات سیستم عامل است (که در اینجا ویندوز است ) . و بدتر از وی بی زبانهای دات نت . که علاوه به سیستم عامل به دات نت و کتابخانه های مربوطه اش هم احتیاج دارد . بخش اعظمی از سیستم های عامل با زبان سی و قسمتی از آن توسط اسمبلی نوشته می شود . مثلا لینوکس یا ویندوز . نمی دانم کجا خواندم که ویندوز 2000 از حدود شصت و پنج هزار خط کد تشکیل شده . شصت و پنج هزار خط کد به زبان سی ! بهتر است برگردیم ...
مطمئنا نوشتن ویندوز نه تنها هدف ما نیست بلکه در توان وقت و پول و دانش ما هم نیست . چه کار باید کرد ؟ یعنی بی خیال شویم ؟ نه ! سیستم عامل را که تصور می کنید حتما نباید ویندوز باشد . سیستم عامل هایی مثل مینیکس هم وجود دارند . مینیکس شاید هدف خوبی باشد . شاید چندان کاربردی نباشد اما مطمئنا قابل دستیابی تر از ویندوز و لینوکس است . این سیستم عامل را آندرو تنباووم نوشت . تا با کمک آن به شاگردانش بفهماند دقیقا یک سیستم عامل چه غلطی دارد می کند . حجم کمی دارد . فقط یک فلاپی ! و مهمتر از آن یک کتاب هم وجود دارد که کدهای آن را شرح می دهد و باز جالب تر انکه تا حد زیادی یعنی بیشتر از نود درصد از کدهایش با سی نوشته شده . و ساده و قابل فهم است . اما قبل از آنکه در گوگل به دنبال سورس آن بگردید اگر هنوز از سیستم عامل ویندوز را در ذهن دارید بهتر است همین الان بی خیال شوید . مینیکس اصلا ویندوز نیست ! فقط مهمترین و حیاتی ترین قسمت های مربوط به یک سیستم عامل را داراست . و متاسفانه ایروگلاس جز اینها نیست . شما فقط قسمت هایی شبیه اینها را در آن پیدا خواهید کرد :
مدیریت حافظه – ورودی و خروجی – فایل سیستم و پروسه ها
همین! چیز زیادی نیست اما درک درستی از سیستم عامل به شما می دهد و همین کافی است . اگر دنبال یک محیط پر زرق و برگ هستید و میخواهید سریعا انرا به دست بیاورید بهتر است به سمت حضرت لینوکس بروید . کدها در دسترس اند و کتابهای زیادی در مورد کاستومایز کردنش موجود است . و خیلی ساده و با تغییر دو تا بک گراند و چند تا نوشته می توانید یک سیستم عامل جدید بسازید و ادعای مالکیتش را بکنید ! اما اگر هنوز جایی نرفته اید اولا که به شما تبریک می گوییم و بعد پیشنهاد می کنم که از منابع زیر استفاده کنید . حداقل برای شروع خوب اند :
اول من سایت زیر را پیشنهاد می کنم . شما در مورد هر قسمتی از سیستم عامل می توانید مطالب و سورس کدهای نمونه ای را پیدا کنید . مثلا یک بوت لودر که سیستم را راه می اندازد و یک جمله را هم چاپ می کند . چیز زیادی نیست اما لذت بخش است .
Osdever.net
و بعد همانطور که گفتم کتاب آندرو تنباوم را بخوانید که سورس مینیکس را هم همراه دارد . البته به نظر من سعی کنید ابتدا سورس را سعی کنید کامپایل و اجرا کنید . بعد شروع کنید کتاب را بخوانید . خوشبختانه این کتاب ترجمه شده و در بازار به وفور موجود است . و همین طور کتابهای زیاد دیگری که حتما پیدا خواهید کرد .
در انتها خواهش می کنم . بعله خواهش . لطفا اگر این کار را میخواهید شروع کنید لطفا برخی باورها و مفهوم ها را دور بریزید .
"چرا ما یک سیتم عامل نداریم؟ " و "ما می توانیم .... " و "ما این بودیم و این هستیم ....." و....
داخل همین فوروم را به صورت نمونه نگاه کنید حدود ده بیست تا از سوالات و خروار پاسخ ها را ببینید . این همه وقت و شوق به هدر می رود و این تنها دلیلی بود که مجبورم کرد این را بنویسم . اگر دنبال مطلب علمی یا سورس کد یک سیتم عامل بودید و به این تاپیک سر زدید من معذرت میخوام . اما باز خواهش می کنم قضیه ماه و پلنگ را تکرار نکنید ....
با تشکر مهرزاد مقدس
زمستان 86
* : در انتها از دوستان خواهش میکنم که منابع بهتری اگر در این مورد می شناسند اضافه کنند و اگر حرفی دارند تا حداقل کسی که وارد تاپیک می شود استفاده ای برده باشد .
--------------------------------------------------------------------
بنا به توضیح دوست عزیز آقای mehdi311ggg (http://barnamenevis.org/forum/member.php?u=12705)

پس این کفار غلط گفتن که مثلا ویندوز 98 ، 15 میلیون خط کد داشته
http://www.nytimes.com/2006/03/27/te...gy/27soft.html (http://www.nytimes.com/2006/03/27/technology/27soft.html)
یا این که ویندوز 2000 ، نزدیک به 29 میلیون خط کد (29M SLOC) داره
http://en.wikipedia.org/wiki/Source_lines_of_code
http://www.knowing.net/PermaLink,gui...1f4f4ef99.aspx
این خط غلط است :
نمی دانم کجا خواندم که ویندوز 2000 از حدود شصت و پنج هزار خط کد تشکیل شده . شصت و پنج هزار خط کد به زبان سی ! بهتر است برگردیم ...
با تشکر از ایشان .
----------------------------------------------------------------------------------------

Mehdi Asgari
جمعه 26 بهمن 1386, 23:19 عصر
نمی دانم کجا خواندم که ویندوز 2000 از حدود شصت و پنج هزار خط کد تشکیل شده . شصت و پنج هزار خط کد به زبان سی ! بهتر است برگردیم ...
:متعجب:
باور نکردنیه. فکرشو بکن ، 65000 خط کد. چقدر آدم فقط استخدام شدن که این کد رو نگهداری کنن!
پس این کفار غلط گفتن که مثلا ویندوز 98 ، 15 میلیون خط کد داشته
http://www.nytimes.com/2006/03/27/technology/27soft.html
یا این که ویندوز 2000 ، نزدیک به 29 میلیون خط کد (29M SLOC) داره
http://en.wikipedia.org/wiki/Source_lines_of_code
http://www.knowing.net/PermaLink,guid,c4bdc793-bbcf-4fff-8167-3eb1f4f4ef99.aspx

mehrzad007
شنبه 27 بهمن 1386, 12:45 عصر
من نمی دونم اینو کجا شنیدم یا خوندم . مال خیلی وقت پیشه اما طبق این اطلاعات دوستمون درست می گن . دوستان دیگه هم کمک کنند یه مقدار این تاپیک پربارتر بشه . لینکهایی برای شروع و اطلاعات خاصی اگه مد نظرشونه ...


Windows 95 had 15 million lines of code. That grew to 18 million lines by the time Windows 98 launched, above. Windows XP, released in 2001, has 35 million lines of code.


1993Windows NT 3.14-5[1] (http://en.wikipedia.org/wiki/Source_lines_of_code#_note-Knowing.NET)1994Windows NT 3.57-8[1] (http://en.wikipedia.org/wiki/Source_lines_of_code#_note-Knowing.NET)1996Windows NT 4.011-12[1] (http://en.wikipedia.org/wiki/Source_lines_of_code#_note-Knowing.NET)2000Windows 2000more than 29[1] (http://en.wikipedia.org/wiki/Source_lines_of_code#_note-Knowing.NET)2001Windows XP40[1] (http://en.wikipedia.org/wiki/Source_lines_of_code#_note-Knowing.NET)2005Windows Vista Beta 250[citation needed (http://en.wikipedia.org/wiki/Wikipedia:Citation_needed)]

ir-tci
جمعه 03 اسفند 1386, 18:49 عصر
کدها در دسترس اند و کتابهای زیادی در مورد کاستومایز کردنش موجود است . و خیلی ساده و با تغییر دو تا بک گراند و چند تا نوشته می توانید یک سیستم عامل جدید بسازید و ادعای مالکیتش را بکنید !
اگر شما فکر میکنید که با این کار میتونید یک توزیع جدید بسازید. بهتر است این کار را بکنید.
www.technotux.org

mehrzad007
جمعه 03 اسفند 1386, 23:26 عصر
پسرم بهتره به جای این جوری نوشتن کمک کنی . این نوشته کامل تر بشه .
مثلا از اینجا شروع کن چه طوری میشه یه توزیع جدید ساخت . شروع کن ...

ir-tci
شنبه 04 اسفند 1386, 05:28 صبح
یک بررسی بر روی لینوکس شبدیکس

با مطرح شدن لینوکس به عنوان یک سیستم‌عامل روی میزی و پشتیبانی آن از زیر ساختارهای زبان فارسی مانند صفحه‌کلید فارسی و... و ایجاد پروژه ترجمه محیط گرافیکی KDE (پر استفاده‌ترین محیط گرافیکی سیستم‌عامل لینوکس) متخصصین شرکت چاپار شبدیز را بر آن داشت تا با ایجاد پروژه غیرانتفاعی FarsiKDE به ترجمه این محیط به فارسی بپردازند که حاصل کار تحسین برانگیز آنها تا کنون در سرتاسر دنیا و تحت توزیع‌های مختلف منتشر شده است و افتخاری است برای ایران و ایرانیان.

داشتن یک سیستم‌عامل فارسی از زمانی که کامپیوتر وارد ایران شده است، مورد توجه مهندسین و کاربران ایرانی قرار داشته و دارد. همیشه داشتن یک سیستم‌عامل که بتوان در آن از امکانات فارسی استفاده نمود و محیطی فارسی داشت، هیجان انگیز بوده است. داشتن یک سیستم‌عامل با محیط کاملا فارسی دارای مزیتی است که در آن قشر کم سن و سال کاربران کامپیوتری ما می‌توانند راحتتر از کامپیوتر استفاده نموده و در آن سریعتر پیشرفت نمایند. علاوه بر این، امکان آموزش این سیستم به کاربران نا آشنا و کم سن و سال و کاربرانی که به زبان انگلیسی آشنا نیستند، بسیار آسانتر خواهد بود. به قولی یک کودک ۱۰-۱۱ ساله برای کار کردن با کامپیوتر نیازی به دانستن زبان انگلیسی نخواهد داشت. نخستین قدم را در این راه، شرکت نرم‌افزاری سینا با ارائه ویندوز 3.1 با محیط کاملا فارسی و همراه با قفل سخت‌افزاری برداشت و از آن زمان شاهد ارائه نسخه‌های متعددی از ویندوزهای با امکانات و محیط فارسی بوده‌ایم. البته با توجه به قوانین جهانی کپی‌رایت، هیچکدام از موارد فوق قانونی نبوده و به هیچ وجه قابل مطرح شدن در جوامع جهانی نبوده‌اند. ثانیا بدلیل اینکه تغییرات انجام شده در این سیستم‌عامل ها بدلیل فقدان کدهای منبع بر روی Resource File‌ها صورت می‌گرفت، باعث ایجاد اشکالات عجیب و غریبی در عملکرد سیستم‌عامل میشد که فکر می‌کنم تمامی کاربران کمابیش با آن آشنایی داشته باشند.

در ادامه این پروژه و با هدف گسترش یک سیستم‌عامل کاملا فارسی و البته قانونی در ایران، شرکت چاپار شبدیز تصمیم به ارائه نخستین توزیع فارسی سیستم‌عامل لینوکس که مبتنی بر FarsiKDE است، نمود. با اینکه در سالهای اخیر استفاده از سیستم‌عامل لینوکس در ایران گسترش فراوانی یافته است، ولی هنوز اکثریت کاربران ایرانی، حتی با اطلاع از مزایای لینوکس، از نصب این سیستم‌عامل بر روی دستگاهشان بیمناک هستند. علت این امر هم عدم آشنایی دقیق از سطح امکانات و محیط این سیستم‌عامل است. به همین دلیل، شرکت چاپار شبدیز تصمیم گرفت توزیع خود را مبتنی بر لینوکس Knoppix قرار دهد که یک توزیع زنده بوده و از روی دیسک CD بوت شده و قابل استفاده است و کاربر نیازی ندارد تا آنرا روی کامپیوتر خود نصب نماید. نام این توزیع که نخستین توزیع فارسی سیستم‌عامل لینوکس به شمار می‌رود، شبدیکس (Shabdix) است.

چند روز پیش یک نسخه آزمایشی از این سیستم‌عامل از سوی شرکت چاپار شبدیز در اختیار من قرار داده شد تا من آنرا آزمایش نمایم. این مقاله حاصل مشاهدات و بررسی‌های من است. ضمنا شبدیکس قرار است تا پس از مدت کوتاهی به صورت رسمی منتشر شود. قابل ذکر است که ممکن است برخی نکاتی که در این مقاله ذکر می‌شود، در نسخه نهایی تغییر کرده باشد.

خوب نخستین قدم برای بررسی شبدیکس، بوت کردن آن بود. بنابراین CD را در دستگاه خود قرار داده و بوت کردم. نخستین چیزی که جلب توجه می‌کند نمایش لوگوی جالب شبدیکس در ابتدای بوت است. با فشردن کلید Enter بوت ادامه یافته و پس از نمایش پیام «با درود!»، سخت‌افزارهای سیستم بصورت خودکار شناسایی شده و با راه‌اندازی FarsiKDE اجرای سیستم کامل میشود. تمامی این فرایندها در کمتر از یک دقیقه به اتمام می‌رسند. سیستم از نظر پایه‌ای تفاوتی با Knoppix ندارد و تفاوت عمده در بکارگیری FarsiKDE است. نسخه Knoppix مورد استفاده، نسخه 3.2 می‌باشد. با توجه به گسترده بودن کاربران کارتهای گرافیکی مبتنی بر تراشه‌های nVidia، یکی از کارهای جالبی که امکان انجام آن وجود دارد، جایگزین کردن درایورهای استاندارد nv با درایور nvidia است که شتابدهنده سه بعدی را پشتیبانی می‌کند. با این اقدام، تعداد زیادی از کاربران می‌توانند قابلیت سه بعدی و کیفیت بهتر خروجی کارت گرافیک را داشته باشند.

یکی از نکاتی که هنگام راه‌اندازی و خاموش کردن شبدیکس جلب توجه می‌کند،صدای انگلیسی Initiating .... sequence است که جالب و بهتر خواهد بود با یک صدای فارسی جایگزین شود.

شبدیکس هنگام بوت کلیه پارتیشن‌های موجود روی دیسک سخت را شناسایی کرده و تمامی آنها را بصورت «فقط خواندنی» آماده اتصال می‌کند. این ویژگی می‌تواند برای کاربران تازه کار که این توزیع برای آنها درنظر گرفته شده است، کمی مشکل ساز باشد. در صورتی که بتوان امکان نوشتن را بصورت پیش‌گزیده فعال کرد، بهتر خواهد بود. یک کاربر نیمه وارد می‌تواند با ورود به کنسول پارتیشن مورد نظرش را با دستور mount مطابق دلخواه خود متصل نماید، ولی این امکان برای کاربران تازه کار کمی دشوار است.

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

من حین تهیه این بررسی، شبدیکس را به چندین نفر نشان دادم. اکثر آنها از اینکه یک محیط فارسی کامل در لینوکس می‌بینند، حیرت زده شده بودند، ولی اکثر آنها پس از رفع حیرت زدگی (!) معتقد بودند که قلم بکار رفته در پنجره‌ها و FarsiKDE واضح نیست. البته من هم با آنها هم عقیده هستم. در صورتی که بجای قلمی مانند Arial قلمی مانند Tahoma که واضح است جایگزین شود، محیط را برای کاربران بسیار جذاب‌تر خواهد ساخت.

سایر کاربردهایی که این دیسک می‌تواند برای شما داشته باشد، ایجاد یک پلاتفورم کاری قابل جابجایی (من به حدی به کارهای روزمره تحت لینوکس عادت کرده‌ام که تصور کارکردن با ویندوز برایم بسیار دشوار است. بنابراین در مسافرت‌ها می‌توانم این دیسک را همراه داشته و در با اولین کامپیوتر آنرا بوت کرده و استفاده نمایم.) و یک دیسک نجات کامپیوتر است.

با اینکه شبدیکس با ۱۲۸ مگابایت حافظه هم کار می‌کند، توصیه می‌کنم برای روانی و راحتی بیشتر، آنرا روی کامپیوتری با حداقل ۲۵۶ مگابایت رم اجرا نمایید. در این صورت بسیار روان کار خواهد کرد و برنامه‌ها نیز با سرعت بیشتری اجرا خواهند شد. دلیل نیاز به این مقدار حافظه هم روشن است. شبدیکس از دیسک سخت سیستم استفاده نمی‌کند تا با ایجاد swap بخشی از اطلاعات خود را روی آن قرار دهد.

در صورتی که مدتی با شبدیکس کار کردید و از آن خوشتان آمد، می‌توانید آنرا روی دیسک سخت خود نصب نمایید. نصب شبدیکس در حال توسعه بوده و در حال حاضر کمی غیر متعارف است. توصیه می‌کنم در صورتی که تازه کار هستید، از نصب آن خودداری نمایید. به هر حال قبل از آغاز نصب برنامه Qparted اجرا می‌شود که با استفاده از آن می‌توانید دیسک خود را پارتیشن‌بندی نمایید و یا پارتیشن‌های موجود را ویرایش کنید. پس از آن سوال و جواب‌های نصب آغاز شده و در پایان نیز محتویات CD روی دیسک سخت کپی می‌شوند. من در اینجا نمی‌خواهم وارد مبحث نصب شبدیکس شوم زیرا این مقاله آموزش نصب آن نیست. البته در آینده قصد دارم تا نحوه نصب آن را آموزش دهم. فقط این نکته را بدانید که نصب آن کاملا مشابه نصب توزیع Knoppix بوده و می‌توانید از راهنماهای موجود برای آن استفاده نمایید.

پس از نصب آن متوجه شدم که با مدیر بوت لیلو کار می‌کند. با توجه به اینکه اکثر توزیع‌های کنونی لینوکس مانند ردهت، زوزه، لیبرانت و ... از گراب استفاده می‌کنند و همچنین گراب امکانات بیشتری به کاربر ارائه داده و انعطاف پذیرتر می‌باشد، فکر می‌کنم جایگزین کردن گراب با لیلو فکر بدی نباشد. (هر چند می‌دانم آقای زینی طرفدار پروپا قرص لیلو هستند!!!)

vcldeveloper
شنبه 04 اسفند 1386, 05:38 صبح
برنامه نویسان ویندوز هرگز درک درستی از سیستم عامل نمیکنند. زیرا سورس ویندوز در دسترس نیست.
هم اکنون به ما بپیوندید.عجب!!... از اینکه با یکی از توسعه دهندگان احتمالی کرنل لینوکس آشنا میشم خیلی خوشحالم! شما که سورس لینوکس دستتون هست و به این راحتی حکم کردید که برنامه نویسان ویندوز، به دنبالش باید مک هم اضافه کرد، بدلیل در دسترس نبودن سورس سیستم عامل درک درستی از سیستم عامل ندارند، میشه لطف کنید و بگید چند درصد از سورس کد لینوکس برای شما قابل فهم هست؟ یا اینکه اصلا چه ضرورتی وجود داره که برای درک مفهوم سیستم عامل حتما سورس ویندوز رو مطالعه کرد؟!

mehrzad007
شنبه 04 اسفند 1386, 15:29 عصر
یک بررسی بر روی لینوکس شبدیکس

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

someCoder
شنبه 04 اسفند 1386, 21:50 عصر
این مقاله رو من احساس می کنم جایی دیدم منبعی نداره ؟
http://www.technotux.com/html/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=24&page=1

ir-tci
یک شنبه 05 اسفند 1386, 16:28 عصر
میشه لطف کنید و بگید چند درصد از سورس کد لینوکس برای شما قابل فهم هست؟
باید بگم که سورس کرنل برای من نکتهی گنگ نداره.
مازول هاییم که براش نوشتم رو هم مذارم براتون.

این مقاله رو من احساس می کنم جایی دیدم منبعی نداره ؟
من کار غیر قاننی کرد. من مجوز رو دارم.
این یه مقاله ی آزاده امیدوارم متوجه شید.

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

یا اینکه اصلا چه ضرورتی وجود داره که برای درک مفهوم سیستم عامل حتما سورس ویندوز رو مطالعه کرد؟
عنوان تاپیک ماه و پلنگ یا چگونه یک سیستم عامل بنویسیم ؟
مربوط به این است که چگونه یک سیستم عامل بنویسیم.
برای نوشتن.! سورس هسته ی سیستم عاملهای دیگر بسیار به ما کمک میکند.

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

mehrzad007
دوشنبه 06 اسفند 1386, 00:27 صبح
من کار غیر قاننی کرد. من مجوز رو دارم.
این یه مقاله ی آزاده امیدوارم متوجه شید.

من نگفتم که کار غیر قانونی کردید . گفتم مقاله آشناست . بهتر بود در هر صورت لینک منبع رو می گذاشتید .
--------------------

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

ir-tci
دوشنبه 06 اسفند 1386, 00:35 صبح
bebakhshid man ghasde chenin kari nadashtam .
man ham az modire mohtaram chenin darkhasti mabni bar pak shodane post haye ezafi daram.

miradli
سه شنبه 01 مرداد 1387, 17:16 عصر
با سلام :
برای شروع کار و درک کامل از طراحی سیستم عامل به هیچ وجه پیشنهاد نمیکنم از سورس لینوکس شروع کنید !!
من با دوست عزیزم مهرزاد در مورد مینیکس و کتاب اصول طراحی و پیاده سازی سیستم های عامل کاملا موافقم برای شروع کار .
کدهای هسته لینوکس آنقدر زیاد و مفصل هست که اگه در زمینه سیستم عامل تازه کار باشید به هیچ وجه درک کامل پیدا نخواهید کرد بلکه کلا از ادامه پشیمان خواهید شد .

و اما برای مراحل پیشرفته تر ادامه رو بخونید :

برای درک از سیستم عامل ویندوز هم میتونید یک کم روی سیستم عامل react os کار کنید !
Frontpage - ReactOS Website (http://www.reactos.org/en/index.html)

این سیستم عامل یک پروژه اوپن سورس هست که این قدرت رو داره که جایگزین ویندوز بشه ! البته هنوز کامل نیست این رو تو سایت خودش گفته ! ولی با این حال میتونه برنامه های ویندوز رو نصب و اجرا کنه و با درایورهایی که برای ویندوز اکس پی سازگاری داره ! این سیستم عامل از بسیاری نظرها شبیه به ویندوز اکس پی هست . البته فاقد تم و استایل اکس پی هست و از قالب ویندوز کلاسیک استفاده می کنه .
این هم تصویری از میزکار react os :
http://www.reactos.org/media/screenshots/2007/tour/ros_033_desktop_tour.jpg


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

2 - تغییرات در زیر ساخت ها و کرنل و ایجاد توزیع جدید ! این کار کمتر انجام میشه و چند توزیع محکم و معتبر بیشتر وجود نداره ! به عنوان مثال :
SuSE/Novell (http://www.suse.com/) , Mandriva (http://mandriva.com/) , Slackware (http://www.slackware.com/) , debian (http://www.debian.org/) , RedHat (http://www.redhat.com/)

که مثالا بسته های نرم افزاری نصب شونده روی هر کدوم متفاوت است برای debian > .deb و برای redhat < .rpm و ...... که نسخه های جدید برپاییه اینها تولید میشه ! مثلا : Parsix , Knoppix , shabdix و نسخه معروف ubuntu همه بر پاییه ی debian تولید شده اند !
و slax و learnux و karamad و ..... برپاییه ی slackware تولید شده اند .

حالا برای ایجاد نسخه جدید از لینوکس باید یک پایه انتخاب کنید ! پیشنهاد می کنم با چند توزیع کار کنید و بررسی کنید و انتخاب کنید و کارتون رو شروع کنید و مطمعن باشید که اسناد و راهنما برای هر توضیع وجود داره که چطور یک نسخه دلخواه جدید بسازید . اما اگر نیاز به یک نسخه که از نظر remaster راحت تر باشه دارید slax هست , که از چند فایل فشرده ساخته شده و شما با ساخت یک فایل فشرده مشابه و قرار دادنش کنار اون فایلها نسخه خودتون رو دارید ! این توضیع از نظر ایجاد نسخه دلخواه واقعا ساده هست . حتی برنامه ای برای این کار با GUI تحت ویندوز دارد که کار را واقعا ساده کرده .!!!
سعی می کنم آموزش تولید نسخه جدید از چند توزیع رو آماده کنم و قرار بدم !
این کار سخت نیست ولی توجه کنید که نیاز مند هدف و ایده هست که در کل متن باز و لینوکس برای این ایجاد شده تا شما اگر ایده ی جدید دارید مجبور به نوشتن یک سیستم عامل از اول نباشید نه اینکه دلتون رو خوش کنید که خودتون سیستم عامل دارید بدون هیچ چیز خاص و فقط با تغییر چند اسم و لوگو ...!!! !!
من چند سالی هست که توزیع لینوکس خودم رو ایجاد کردم و دارم ازش استفاده میکنم ، اما غیر از خودم و چند دوست کسی با اون کار نکرده ( منتشرش نکردم !) چون این نسخه برای نیازهای من ایجاد شده و هیچ ایده و هدفی برای استفاده عموم درونش نیست !
نسخه ای خوب هست که کاربران بیشتری رو داشته باشه مثلا Ubuntu کاربران زیادی رو به خودش مشغول کرده !
در مورد ویرایش و بازسازی و Compile هسته لینوکس هم اگر نیاز بود توضیح میدم .


با امید اینکه این مطالب بتونه کمک کنه .
" میرعدلی "

miradli
جمعه 04 مرداد 1387, 13:44 عصر
دوستان عزیز بنده آموزش ایجاد لینوکس Slax را در سایت به دلیل نا هماهنگی با موضوع این تاپیک در بخش لینوکس ( سیستم عامل های آزاد ) قرار دادم . امیدوارم مفید واقع بشه .

برای ساخت لینوکس دلخواه مبتنی بر Slax به این تاپیک بروید (http://barnamenevis.org/forum/%D8%AA%D9%88%D8%B3%D8%B9%D9%87%E2%80%8C%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D9%88-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%D9%87%D8%A7%DB%8C-%D8%A2%D8%B2%D8%A7%D8%AF/114946-%D8%A8%D9%87-%D8%B1%D8%A7%D8%AD%D8%AA%DB%8C-%D9%86%D8%B3%D8%AE%D9%87-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%AE%D9%88%D8%AF%D8%AA%D9%88%D9%86-%D8%B1%D9%88-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%DA%A9%D9%86%DB%8C%D8%AF.html)


(http://barnamenevis.org/forum/%D8%AA%D9%88%D8%B3%D8%B9%D9%87%E2%80%8C%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D9%88-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%D9%87%D8%A7%DB%8C-%D8%A2%D8%B2%D8%A7%D8%AF/114946-%D8%A8%D9%87-%D8%B1%D8%A7%D8%AD%D8%AA%DB%8C-%D9%86%D8%B3%D8%AE%D9%87-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%AE%D9%88%D8%AF%D8%AA%D9%88%D9%86-%D8%B1%D9%88-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%DA%A9%D9%86%DB%8C%D8%AF.html)

miradli
جمعه 11 مرداد 1387, 04:58 صبح
به دلیل اینکه در سایت چندین تاپیک با مضوعات مشابه ایجاد شده ، به صورت پراکنده و ... و به عنوان مثال یک نفر ادعا میکنه یک سیستم عامل ساخته ! و نفر دیگری پیشنهاد تولید سیستم عامل ایرانی رو میده ! . ...
من فکر می کنم این تاپیک کمی متفاوت و بهتر ایجاد شده و از ابتدا اطلاع رسانی و آموزش بوده ، از دوستان و اساتید درخواست میکنم اگر مقاله و یا مطلبی برای درک بهتر دارند قرار بدن تا این تاپیک به فعالیت خودش ادامه بده ، بنده هم سعی می کنم مقاله و ... قرار بدم .
به عنوان مثال چگونگی بوت شدن سیستم و ...

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

امیدوارم چنین بحث هایی باعث روشن شدن راه برای دوستانی که هدفی یا ایده ای دارند بشه و زودتر به نتیجه برسن .

ali_asg
دوشنبه 02 خرداد 1390, 12:51 عصر
توی این فروم در مورد ساخت سیستم عامل ‍پست های زیادی هست و همه ی اونا به سیستم عامل مینیکس و کتاب آندرو تننبام اشاره کردم . خواستم بپرسم که ترجمه فارسی این کتاب توی بازار هست یا نه ؟ واینکه شما ترجمه اون رو ‍پیشنهاد می کنین ؟ اگه هست بهترین ترجمه فارسی اون مال کیه ؟

pswin.pooya
دوشنبه 02 خرداد 1390, 21:09 عصر
توی این فروم در مورد ساخت سیستم عامل ‍پست های زیادی هست و همه ی اونا به سیستم عامل مینیکس و کتاب آندرو تننبام اشاره کردم . خواستم بپرسم که ترجمه فارسی این کتاب توی بازار هست یا نه ؟ واینکه شما ترجمه اون رو ‍پیشنهاد می کنین ؟ اگه هست بهترین ترجمه فارسی اون مال کیه ؟

بله هست

بهتر نبود يه پست جداگونه ميدادي