انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: رامین در 11 مهر 1389، 08:55 بظ
-
نمیدونم جای درستی دارم این مطلب را بیان میکنم یا نه ولی می پرسم
دوستانی که حرفه ای هستند راهنمایی کنند ;D
من این ترم برنامه سازی سیستم برداشم که استادش به ما گفت باید 1 پروژه هم تحویل بدید که 10 نمره هم داره حالا این پروژه نوشتن سیستم عامل با زبان اسمبلی هستش :o :'( ](*,)
حالا من نمیدونم برا اینکار باید از کجا شروع کنم چی باید بخونم چی بایدبلد باشم.حالا اگه کسی از دوستان میتونند راهنمایی کنندکه کلا باید چیکار کنم ممنون میشم
-
http://mikeos.berlios.de/write-your-own-os.html (http://mikeos.berlios.de/write-your-own-os.html)
-
نمیدونم جای درستی دارم این مطلب را بیان میکنم یا نه ولی می پرسم
دوستانی که حرفه ای هستند راهنمایی کنند ;D
من این ترم برنامه سازی سیستم برداشم که استادش به ما گفت باید 1 پروژه هم تحویل بدید که 10 نمره هم داره حالا این پروژه نوشتن سیستم عامل با زبان اسمبلی هستش :o :'( ](*,)
حالا من نمیدونم برا اینکار باید از کجا شروع کنم چی باید بخونم چی بایدبلد باشم.حالا اگه کسی از دوستان میتونند راهنمایی کنندکه کلا باید چیکار کنم ممنون میشم
:o :o :o :o :o
فک کنم منظورش این بوده که یه Bootloader بنویسید بیارید وگرنه سیستم عامل که :o :-X :P
-
احتمالا شما از ژاپن تشریف دارید بعد واسه اینکه به ایرانیا بفهمونید چقدر سطح علمی پایینی دارن رفتین فارسی یاد گرفتین اومدید اینجا تاپیک زدین!:D
بابا مگه میشه واسه پروژه سیستم عامل تحویل داد!!!!
-
سلام
اگه منظور از درس برنامه سازی سیستم همون درس اسمبلی باشه که شما نیازی نیست که سیستم عامل بنویسید! کافیه دستورات زبان اسمبلی رو یاد بگیرید و پروژه تون رو انجام بدید اگه می خواهید این کار رو تو اوبونتو و لینوکس انجام بدید فکر می کنم این کتاب مناسب باشه.
http://www.adinebook.com/gp/product/9643547876 (http://www.adinebook.com/gp/product/9643547876)
ولی اگه درس به عنوان درس ازمایشگاه سیستم عامل هست باز هم موارد مورد نیاز به شما گفته می شه!
-
احتمالا شما از ژاپن تشریف دارید بعد واسه اینکه به ایرانیا بفهمونید چقدر سطح علمی پایینی دارن رفتین فارسی یاد گرفتین اومدید اینجا تاپیک زدین!:D
بابا مگه میشه واسه پروژه سیستم عامل تحویل داد!!!!
آره بابا پس چی که میشه٬ لینوس تروالدز هم استادشون همین پروژه رو براشون تعیین کرده بود که لینوکس رو نوشت (هسته منظورمه!)٬ اصلا اگر این پروژه نبود ما الان لینوکسی نداشتیم.
تازه مگه اینا چیشون از لینوس کمتره؟! سطح علمی دانشگاه؟! سطح علمی استاد؟! سطح علمی دانشجو؟! هوش؟! و یا پشتکار؟! کدومش آخه؟! :o
-
با حرف های پیروزان به این نتیجه رسیدم که باید منتطر هسته ای به نام رامینوکس باشیم...
من میگم یه خاطر کیفیت آسفالت هست وگرنه هنر نزد ایرانیان است و بس(؟؟؟؟) :D
-
سلام به بچه ها؛
آخه چرا اینجوری با این دوست تازه وارد برخورد می کنید؟!!!!!!! :oops: من اگه بودم با این حرفا درس رو رها می کردم!!!!!!!
رامین جان به این سایت سر بزن ( نمی دونم رفتی یا نه ) :
http://www.barnamenevis.org/forum/
اونجا تا دلت بخواد برنامه نویس هست و می تونن راهنماییت کنن. به نظرم درخواستت رو باهاشون در میون بذار.
امید وارم موفق باشی.
-
سلام به بچه ها؛
آخه چرا اینجوری با این دوست تازه وارد برخورد می کنید؟!!!!!!! :oops: من اگه بودم با این حرفا درس رو رها می کردم!!!!!!!
رامین جان به این سایت سر بزن ( نمی دونم رفتی یا نه ) :
http://www.barnamenevis.org/forum/
اونجا تا دلت بخواد برنامه نویس هست و می تونن راهنماییت کنن. به نظرم درخواستت رو باهاشون در میون بذار.
امید وارم موفق باشی.
سلام محمد جون
اولا که ما یکم شوخی کردیم تا فضا عوض شه و یکی مثه شما میاد میبینه یه لبخندی هم بزنه!
ولی این آقا رامین ما نه گذاشته نه ورداشته میگه استادمون گفته باید سیستم عامل بنویسیم! نکرده یه کلمه ای مثل خیلی ساده٬ خیلی ابتدایی٬ بسیار پیش پا افتاده یا ... بذاره بعدش محض احتیاط!
-
ولی این آقا رامین ما نه گذاشته نه ورداشته میگه استادمون گفته باید سیستم عامل بنویسیم! نکرده یه کلمه ای مثل خیلی ساده٬ خیلی ابتدایی٬ بسیار پیش پا افتاده یا ... بذاره بعدش محض احتیاط!
یا للعجائب! خوب مگه چه اشکالی داره؟ استاد لینوس اینا هم بهشون گفته بود برن یه سیستم عامل بیارن که حالا شما داری ازش استفاده می کنی!
تازه بعضی استادای ایرانی سخت گیرترن! میگن برین دوتا سیستم عامل بیارین یا بعضی مواقع هم که از ***من*** دانشجو راضی نباشن می گن سه تا!
تازشم با زبان اسمبلی می نویسیم! ما اصرار داشتیم همینطوری صفر و یکا رو توی ***نوت پد*** بریزیم تا بشه سیستم عامل ولی این استاده می گه دیگه نمیخواد رو کم کنید! اونقد استاد متواضعیه!!!
دانشجوهای ما تقریبا هر ده روزی یه سیستم عامل می نویسن واسه اینکه فقط خودشونو گرم کنن!
حسودیت می شه؟ تو دانشگاه ***ما*** اینجوریه!!!
هی این بیسوادا گیر الکی میدن!
-
اولا که پروژه رو میدن که خودتون انجام بدید.
ثانیا درس برنامه نویسی سیستم که انجام یک سری کارهای سیستمی با زبان اسمبلی هست هیچ موقع پروژه ای به اسم نوشتن یه سیستم عامل نداره. نوشتن یه سیستم عامل حتی ابتدایی در توان هیچ یک از استاد های ایران نیست چه برسه به یه دانشجو! اونم یه نفری!
-
اولا که پروژه رو میدن که خودتون انجام بدید.
ثانیا درس برنامه نویسی سیستم که انجام یک سری کارهای سیستمی با زبان اسمبلی هست هیچ موقع پروژه ای به اسم نوشتن یه سیستم عامل نداره. نوشتن یه سیستم عامل حتی ابتدایی در توان هیچ یک از استاد های ایران نیست چه برسه به یه دانشجو! اونم یه نفری!
بفرما٬ مشاهده کردید؟! بعد میگین چرا اینجوری برخورد میکنید!
+1 فاراب جان.
-
بفرما مشاهده کردید! بعد میگین چرا اینجوری برخورد میکنید!
1+ پیروزان جان :D:D:D:D
-
والا این استاد اینجوری به ما گفته البته باید درگروه های 4 تایی این کار رو انجام بدیم.استادشم اگه میخوایید اسمشو بگم ولی اگه نگم بهتره یهو آشنا در بیاد
گفته 1 چیزایی در حد داس 1 ذره جمع و جور تر
و گفته اگه نمیخواهید میتونید 1 آنتی ویروس یا 1 چیزی مثل پارتیشن مجیک بنویسید بیارید (با سی شارپ) البته گفته چون اینا ساده تر نمره کمتری داره ](*,)
ولی دستتون درد نکنه همتون با حال جواب داده بودید کلی خندیدم(ما هم اینا را بش گفتیما ولی خوب...) :D
-
به استاد محترم بفرمایید این موضوعات خیلی ساده است بهتر نیست یک سیستم عامل بهتر از apple و اون هم با صفر و یک بنویسید!!!!
این کارهایی که استادتان فرموده اگر انجام بشود گره شما به عنوان نوابغ معرفی خواهد شد اون هم در سراسر دنیا.
کتاب Operating Systems Design and Implementation را یک نگاه بیندازید منظورم را متوجه می شوید.
تورلدز یک سال طول کشید هسته اولیه لینوکس را, آن هم شبیه یونکس بنویسد (البته اصلا از کدهای یونیکس استفاده نکرده است) و شما فقط ۴ ماه فرصت دارید.
-
مامانم ایناااااااا!
آنتی ویروس؟
پارتیشن مجیک؟
استاد محترم داشنگاه رو اشتباه اومدم مثه اینکه!
اصلا ایران اشتباه اومدن!
بهش بگو اون آدرس رو بهت نشون بده ببین درست اومده یا نه :D
-
اقا کلا ۳ حالت برای حرف این استاد امکان داره :
۱-نوشتن یک سیستم عامل خیلی خیلی خیلی ساده : تو بعضی از کتاب های c++ دیدم که یارو نویسنده ه گفته یه سیستم عامل خیلی خیلی خیلی ساده بنویسید که بتونه همچین کارهایی رو انجام بده. حالا استاد این دوست هم همین سیستم عامل رو می خواد منتها یک کم پیشرفته تر و با اسمبلی
۲-نوشتن یک سیستم عامل تقریبا ساده : اقا به فرض تروالدز تو ۱ سال کرنل رو طراحی کرده باشه. این دوست که نمی خواد اون کرنل رو طراحی کنه!!! پس می شه سر و ته قضیه رو ۴ ماهه در اورد و یه کرنل خیلی خیلی ساده نوشت و ....
۳-نوشتن یک سیستم عامل ساده : حالت بالا به صورت ۱ نفره در ۴ ماه ممکنه بود.این حالت در ۴ ماه برای ۴ نفر امکان داره.پس این دوست می تونه با ۳ نفر دیگه در ۴ ماه یه کرنل خیلی ساده و ... بنویسه
بوت لودر و امنیت و .... رو کاملا بی خیال شو.
-
یک سوال
آیا تا باحال با اسمبلی کد نوشته اید؟
-
با منی؟
-
اقا کلا ۳ حالت برای حرف این استاد امکان داره :
۱-نوشتن یک سیستم عامل خیلی خیلی خیلی ساده : تو بعضی از کتاب های c++ دیدم که یارو نویسنده ه گفته یه سیستم عامل خیلی خیلی خیلی ساده بنویسید که بتونه همچین کارهایی رو انجام بده. حالا استاد این دوست هم همین سیستم عامل رو می خواد منتها یک کم پیشرفته تر و با اسمبلی
۲-نوشتن یک سیستم عامل تقریبا ساده : اقا به فرض تروالدز تو ۱ سال کرنل رو طراحی کرده باشه. این دوست که نمی خواد اون کرنل رو طراحی کنه!!! پس می شه سر و ته قضیه رو ۴ ماهه در اورد و یه کرنل خیلی خیلی ساده نوشت و ....
۳-نوشتن یک سیستم عامل ساده : حالت بالا به صورت ۱ نفره در ۴ ماه ممکنه بود.این حالت در ۴ ماه برای ۴ نفر امکان داره.پس این دوست می تونه با ۳ نفر دیگه در ۴ ماه یه کرنل خیلی ساده و ... بنویسه
بوت لودر و امنیت و .... رو کاملا بی خیال شو.
من نمیدونم اگه این کارا اینقدر سادست که شما میگین چرا دست به کار نمیشین و اگه احیانا وقت گرانبهاتونو زیاد میگیره، 4 تا از رک و رفقا هم خبر کنید و دور همی یه سیستم عامل، نه همون کرنل رو نمینوسین و دنیا رو از تنبلی و کاهلی و نادونی در نمیارید؟! :o
فیلم هندی زیاد میبینید اینطور که واضحه!
اگه به این راحتیا بود دوست من که لینوس تنها بشر توی کل تاریخ نمیشد که تونسته کرنل بنویسه (دقت کن، کرنل، سیستم عامل که بماند). در ضمن کرنل به تنهایی به هیچ دردی نمیخوره و برای ارتباط با دنیای خارج احتیاج به واسطه و کامپایلر داره.
من توصیم اینه که رامین جان شماره این استادشونو بدن تا دوستان یه خورده توجیهش کنن. اینطور که پیداست نمیدونه سیستم عامل چیه!
-
دوستان یکم بیشتر مراعات کنن تا درگیری پیش نیاد و کسی ناراحت نشه.
این استاد بنده خدا هم حتما سر کلاس توضیح داده که از دانشجوها چی میخواد و اسم اون رو سیستمعامل گذاشته، سخت نگیرید.
برای این دوستمون اگه کمکی از دستمون بر بیاد راهنماییش میکنیم مثل معرفی یه برنامهای یا چیزی که تو ابونتو بتونه کارش رو راه بندازه، اگر هم نبود که دیگه هیچ، وقت و انرژیمون رو بزاریم برای کارهای مفید دیگه خیلی بهتره
-
از صحبت های heresh جان من به این نتیجه رسیدم که با RemasterSys یه توزیع لایو از ابونتو بگیرین و بدین استاد!!!
-
منظور من معرفی برنامه برای نوشتن کد اسمبلی یا چیزهایی در اون رابطه بود، اینکه اگه خواست برنامه رو تو محیط ابونتو بنویسه کمکش کنیم
درضمن هیچ کدوم از توزیعهای گنو/لینوکس رو کاملا با زبون اسمبلی ننوشتن تا بشه از RemasterSys استفاده کرد :)
-
با سلام
دوستان ، اگرچه نوشتن یک سیستم عامل کار اصلا ساده ای نیست اما فکر می کنم شما کمی دارید تندروی می کنید. اولا لینوس تنها شخصی در دنیا نبوده است که یک نفره یک کرنل را نوشته است ! اگر شما فقط کمی در اینترنت جستجو کنید نمونه های بسیاری از سیستم عامل های بسیار ساده را می بینید که توسط یک نفر نوشته شده اند. اغلب این سیستم عامل ها برای مقاصد آموزشی و یا سرگرمی نوشته می شوند و اتفاقا سیستم عامل های آموزشی کوچک به زبان اسمبلی نیز کم نیستند. به عنوان مثال فقط کافی بود سری به لینکی که در پست دوم ارسال شده بود بیاندازید تا با یک سیستم عامل بسیار کوچک و جالب به زبان اسمبلی آشنا شوید. خیلی از این سیستم عامل های آموزشی بسیار هم کوچک هستند که به دانشجویان اجازه می دهد کد آنها را در چند هفته مطالعه کنند . (اینکه اسمبلی بلد هستند یا نه یک بحث دیگر است ! )
مسلما استاد ایشان نیز توقع نداشتند unix رو باز آفرینی کنند ! من فکر می کنم یک کرنل ساده که چند روتین ساده برای کار داشته باشد و بتواند بوت شود کاملا کفایت کند.
-
درضمن هیچ کدوم از توزیعهای گنو/لینوکس رو کاملا با زبون اسمبلی ننوشتن تا بشه از RemasterSys استفاده کرد :)
پس mFatOs رو نشستن از اول نوشتن؟
-
از صحبت های heresh جان من به این نتیجه رسیدم که با RemasterSys یه توزیع لایو از ابونتو بگیرین و بدین استاد!!!
+1
تازه کلاسشم خیلی خیلی بیشتره، استادشونم شاخ در میاره و ندید 20 رو بهشون میده. بعدشم میتونن ثبتش کنن و توسعش بدن تا جهانی بشه، کلی هم معروف میشن و میتونن فرار مغزها کنن...
بدون شوخی عرض کردم.
-
مسلما استاد ایشان نیز توقع نداشتند unix رو باز آفرینی کنند ! من فکر می کنم یک کرنل ساده که چند روتین ساده برای کار داشته باشد و بتواند بوت شود کاملا کفایت کن.
استاد بزرگ فرمودند یه چیزی در حد داس و ایناااااا!
داس یه سیستم عامل با چند روتین سادست ؟
فک نمی کنم!
ولی در هر صورت بحث نوشتن سیستم عامل حتی در حد آموزشی و عشقی چیزی نیست که بشه تو دانشگاه های ایران بحث بشه!
-
با سلام
دوستان ، اگرچه نوشتن یک سیستم عامل کار اصلا ساده ای نیست اما فکر می کنم شما کمی دارید تندروی می کنید. اولا لینوس تنها شخصی در دنیا نبوده است که یک نفره یک کرنل را نوشته است ! اگر شما فقط کمی در اینترنت جستجو کنید نمونه های بسیاری از سیستم عامل های بسیار ساده را می بینید که توسط یک نفر نوشته شده اند. اغلب این سیستم عامل ها برای مقاصد آموزشی و یا سرگرمی نوشته می شوند و اتفاقا سیستم عامل های آموزشی کوچک به زبان اسمبلی نیز کم نیستند. به عنوان مثال فقط کافی بود سری به لینکی که در پست دوم ارسال شده بود بیاندازید تا با یک سیستم عامل بسیار کوچک و جالب به زبان اسمبلی آشنا شوید. خیلی از این سیستم عامل های آموزشی بسیار هم کوچک هستند که به دانشجویان اجازه می دهد کد آنها را در چند هفته مطالعه کنند . (اینکه اسمبلی بلد هستند یا نه یک بحث دیگر است ! )
مسلما استاد ایشان نیز توقع نداشتند unix رو باز آفرینی کنند ! من فکر می کنم یک کرنل ساده که چند روتین ساده برای کار داشته باشد و بتواند بوت شود کاملا کفایت کند.
منظور من کرنل هایی که شما میفرماید نبود که اگه اینطور بود استاد لینوس قبل از لینوس سیستم عامل نوشته بود! بنده خدا نشسته بوده برا کلاس تدریسش 2000 خط کد نوشته بوده که لینوس با الهام از اون لینوکس رو نوشته.
استاد اینا هم به جای این حرفا باید بره از استاد لینوس اینا یاد بگیره و به خودشم یکم زحمت بده.
ولی در هر صورت بحث نوشتن سیستم عامل حتی در حد آموزشی و عشقی چیزی نیست که بشه تو دانشگاه های ایران بحث بشه!
+1
-
درضمن هیچ کدوم از توزیعهای گنو/لینوکس رو کاملا با زبون اسمبلی ننوشتن تا بشه از RemasterSys استفاده کرد :)
پس mFatOs رو نشستن از اول نوشتن؟
مگه mFatOs کامل با زبان اسمبلی هستش!؟
-
مگه mFatOs کامل با زبان اسمبلی هستش!
mFatOS نسخه ای سفارشی شده یا remaster بر پایه اوبونتو ۱۰.۰۴ و SuperOS 10.04 Beta است که با ظاهری متفاوت، برنامه های مکمل و تنظیمات بهینه تجربه ای جذاب و متفاوت از کار با اوبونتو را برای کاربران مبتدی و با تجربه فراهم می کند.
:o :o :o
استاد اینا هم به جای این حرفا باید بره از استاد لینوس اینا یاد بگیره و به خودشم یکم زحمت بده
+1
البته ایشون استاد استادان هستن اینجور که معلومه!!!!
-
احتمالا استادتان می خواسته همه شما را بیندازد دنبال بهانه می گشته؟
شاید هدفش این بوده که تحقیق کنید و بفهمید که طراحی سیستم عامل بسیار دشوار است تا رسد به نوشتن آن!
در ضمن این دوست که فرمودند چند سیستم عامل بااسمبلی نوشته شده اند اگر امکان دارد لینک آن رادر اختیار دوستان قرار دهد شاید مشکل پروژه حل شود؟
شاید تنها بتوان برنامه ای نوشت که بتواند فقط سیستم مورد نظر را بوت کند نه چیزی بیشتر!
-
اگر این داستان جنجالی صحت داره خوب یه مقداری کمک!!!
زبان اسمبلی رو برای نوشتن سیستم عامل فراموش کنید! اینکار یه پروژه دو سه هزار خطی C رو میکنه یک میلیون خط! که ایراد یابی فاندامنتالش تقریبا غیر ممکنه! بعدا می تونید برنامه رو به هر زبونی که باشه با یکم کار سبک به زبان اسملبی ترجمه کنید!
نیاز داره به کمینه یه تیم با همون تعداد سه جهار نفر که تا حد بسیار قابل قبولی با یک زبان خاص (زبان های حد متوسط ) آشنائی داشته باشن. مطمئنا زبان های حد بالا بدرد این کار نمیخورن ( لطفا یه تیم با متخصصین زبان بیسیک یا پی اچ پی رو فراموش کنید! ).
پیشنهاد میشه برای هریک از اعضاء تیم یک جلد از ترجمه فارسی کتاب تاننباوم رو بخرید و شروع به خوندنش کنید.
کتاب تاننباوم (این اسم نویسنده کتاب هست ، توی اینترنت دربارش سرچ کنید. اسم کتاب هست *** سیستم های عامل***یا یه همچین چیزی! ) برداشت قابل درک و بسیار عالی به شما از یه سیستم عامل میده و کار کرد اونها رو بخوبی برای شما شرح میده. کدهای مینیکس رو هم توش آورده و تیکه به تیکه با این مثال عملیاتی توضیح داده که جه باید بکنید اما خوندن اون نیازمند این هست که برداشت کاملی از سخت افزار داشته باشید.
فکر کنم همین یه قلم کتاب رو که بخونید براحتی بتونید یه سیستم عامل قابل قبول راس یه نمره ده بنویسید اما خوندن و فهمیدن این کتابه خودش یه یک سال روزی 16 ساعت وقت نیاز داره! ;)
اگه هنوز فکر می کنید که توی حذف و اضافه نباید این واحد رو حذف کنید اینکه می خواید هسته شما یکپارچه باشه یا نه و اینکه این هسته گرامی تا چه حد قابلیت بعد از بوت شدن رو قراره داشته باشه ، قابل توسعه باشه یا محدود ، پیکر بندی انحصاری یا عام و مطالبی از این قبیل رو باید محبت کنید و قبل از شروع یا از اون استاد گرامی بپرسید و یا دربارش به اندازه کافی تحقیق کنید و تصمیم بگیرید.
راستی این کار برای ساده شدن نیاز داره برای اون تیمتون به تعداد هر نفر یه سیستم هم ببندید که قطعات کاملا یکسان داشته باشه! توی همش مین ، سی پی یو و رم از همه مهمتره. فکر کنم یه سیستم ارزون هم برای این کار بتونید پیدا کنید ( که بعید می دونم ولی ممکنه توی مزایده های دولتی بتونین گیر بیارید! ) برای این کار از همه چیز مناسبتره!
به نظر می رسه شما هیچ تصویر ذهنی از این پروژه ندارید ( و البته استاد شما هم!!! )
اگر یه سیستم عامل باشه ( مثل لینوکس ) و شما بخواهید اونو از ابتدا بر پایه هستش بچینید از حد اطلاعات همه اساتید ایرانی بسیار بسیار فراتر هست. گواه این مطلب رو هم می تونید در مینتینرهای سیستم عامل های مختلف و میزان اطلاعاتشون پیدا کنید ;) ( یکم سرچ کنید و سورس همین اوبونتو رو دانلود کنید و فقط یه نگاه بهش بیاندازید بهتر متوجه عرایض بنده خواهید شد! دبیان هم توی سایتش بخشی برای گاید دولوپر ها داره که دیدنش بهتر مطلب رو برای شما جا خواهد انداخت!!! )
اینم یه پیش نهاد راس ده نمره: سورس DLL رو دانلود کنید و برای یه سیستم سخت افزاری خاص بهینش کنید و شاخ و برگش رو بزنید و چنجش کنید به اسمبلی ، بدید دست این استاد دیوانه بره یه نمره بهتون بده فکر کنه دانشجو کلمه ائیه که روی ایرانی هم میشه گذاشت! فکر کنم این کار رو براحتی توی یک یا دوسال بتونید سامون بدید ;)
شاد باشین!!!
-
با اجازه از استاد هادی :D
خب یه فکر بهتر دارم!
شما با همون C# , F#, VB.net, VB, Visual C++, Visual C و کلا زبان های قابل کار در ویژوال استودیو یک عدد فایل منیجر بر پایه ویندوز انجین (Windows Engine) بنویسید و با بوت بالا بیارید!!!
بده دست استاد استاد هم قاب بگیره!
سورس اینگونه فایل منیجر ها به وفو در اینترنت یافت میشود!!!!
-
شاید اینها مفید واقع شود:
علاوه بر http://mikeos.berlios.de/write-your-own-os.html که nixoeen عزیز ارسال کردند :
http://www.kolibrios.org/
http://www.codeguru.com/forum/showthread.php?t=440878
http://viralpatel.net/taj/tutorial/hello_world_bootloader.php
-
دیدن مشخصات کاربری آدرس ایمیل [ارسال پیغام خصوصی [کاربر آفلاین
پاسخ به: راهنمایی برای نوشتن سیستم عامل
« پاسخ #19 حاضر: دیروز در ساعت 20:44:48 بعدازظهر »
نقل قولنقل قول
نوشته: ibtkm در دیروز در ساعت 19:14:42 بعدازظهر
اقا کلا ۳ حالت برای حرف این استاد امکان داره :
۱-نوشتن یک سیستم عامل خیلی خیلی خیلی ساده : تو بعضی از کتاب های c++ دیدم که یارو نویسنده ه گفته یه سیستم عامل خیلی خیلی خیلی ساده بنویسید که بتونه همچین کارهایی رو انجام بده. حالا استاد این دوست هم همین سیستم عامل رو می خواد منتها یک کم پیشرفته تر و با اسمبلی
۲-نوشتن یک سیستم عامل تقریبا ساده : اقا به فرض تروالدز تو ۱ سال کرنل رو طراحی کرده باشه. این دوست که نمی خواد اون کرنل رو طراحی کنه!!! پس می شه سر و ته قضیه رو ۴ ماهه در اورد و یه کرنل خیلی خیلی ساده نوشت و ....
۳-نوشتن یک سیستم عامل ساده : حالت بالا به صورت ۱ نفره در ۴ ماه ممکنه بود.این حالت در ۴ ماه برای ۴ نفر امکان داره.پس این دوست می تونه با ۳ نفر دیگه در ۴ ماه یه کرنل خیلی ساده و ... بنویسه
بوت لودر و امنیت و .... رو کاملا بی خیال شو.
من نمیدونم اگه این کارا اینقدر سادست که شما میگین چرا دست به کار نمیشین و اگه احیانا وقت گرانبهاتونو زیاد میگیره، 4 تا از رک و رفقا هم خبر کنید و دور همی یه سیستم عامل، نه همون کرنل رو نمینوسین و دنیا رو از تنبلی و کاهلی و نادونی در نمیارید؟! Shocked
فیلم هندی زیاد میبینید اینطور که واضحه!
اگه به این راحتیا بود دوست من که لینوس تنها بشر توی کل تاریخ نمیشد که تونسته کرنل بنویسه (دقت کن، کرنل، سیستم عامل که بماند). در ضمن کرنل به تنهایی به هیچ دردی نمیخوره و برای ارتباط با دنیای خارج احتیاج به واسطه و کامپایلر داره.
من توصیم اینه که رامین جان شماره این استادشونو بدن تا دوستان یه خورده توجیهش کنن. اینطور که پیداست نمیدونه سیستم عامل چیه!
مثل اینکه دوستان خوب متوجه نشدن!
اقا چرا هر کی اسم سیستم عامل می شنوه فکر می کنه منظور یه سیستم عاملی هست که :
۱-graphical باشه
۲-باید پروتکشن های مثل ssp و dep و ... داشته باشه
۳-مشکل دسترسی به اینترنت نداشته باشه
۴-boot loader داشته باشه
۵-permision بندی داشته باشه
.....
بنده گفتم استاد ایشون از اینا یه سیستم عامل خیلی خیلی ساده خواسته. حالا همتون تا کف bootloader و امنیت و .... رفتید؟!
-
واقعا این تاپیک رو که خوندم فهمیدم نباید روی این انجمن وقت گذاشت ](*,)
بنده خدا یه راهنمایی خواسته شما زدید داغونش کردید ](*,) ](*,)
-
واااااا این که مال شونصد ساله پیشه :)) .
چطوری پیداش کردید؟
من دیشب اتفاقی MikeOS رو توی یوتوب دیدم. حالا خودم یه چیزی با سورسهاش نوشتم :
خب ابتدا :
۱- نصب qemu-system
sudo apt-get install qemu-system
۲- دانلود و اکسترکت :
http://uplod.ir/y829yfkxa6bk/velsa.zip.htm
۳- سپس باید مجازی سازی کنید :
qemu-system-i386 -fda velsa.iso
یا
qemu-system-i386 -fda velsa.flp
-
واقعا این تاپیک رو که خوندم فهمیدم نباید روی این انجمن وقت گذاشت ](*,)
بنده خدا یه راهنمایی خواسته شما زدید داغونش کردید ](*,) ](*,)
بنظر بد نباشه برای جلوگیری از بی احترامی به دیگران یکم قوانین رو سخت تر کرد شایدم قوانین درسته و ناظرها کارشونو درست انجام نمیدن :-X
اگر دین ندارید لااقل آزاد مرد باشید... نه اینکه آزادانه بی احترامی کنین
شایدم اینایی که اینجوری برخورد میکنن نفوذیای ویندوزین که میخوان آبروی لینوکسی ها رو ببرن >:(
-
واقعا این تاپیک رو که خوندم فهمیدم نباید روی این انجمن وقت گذاشت ](*,)
بنده خدا یه راهنمایی خواسته شما زدید داغونش کردید ](*,) ](*,)
بنظر بد نباشه برای جلوگیری از بی احترامی به دیگران یکم قوانین رو سخت تر کرد شایدم قوانین درسته و ناظرها کارشونو درست انجام نمیدن :-X
اگر دین ندارید لااقل آزاد مرد باشید... نه اینکه آزادانه بی احترامی کنین
شایدم اینایی که اینجوری برخورد میکنن نفوذیای ویندوزین که میخوان آبروی لینوکسی ها رو ببرن >:(
نه نفوذی و ... در کار نیست. متاسفانه! فقط کافیه الان بگید یه توزیع جدید میخواید ایجاد کنید ببینید چه رفتاری باهاتون میشه ](*,)
-
یه سوال، کسی لینک دانلود این کتاب سیستم عامل تننباوم رو نداره؟ خودم کلی گشتم چیزی نیافتم :(
-
یه سوال، کسی لینک دانلود این کتاب سیستم عامل تننباوم رو نداره؟ خودم کلی گشتم چیزی نیافتم :(
برو توی این سایت : http://libgen.info
عبارت Operating systems design and implementation رو تایپ کن.
روی گزینه Smart (اگه اشتباه نکنم) دوبار کلیک کن و Submit Query رو بزن.
-
دوست عزیز شما میتونی از لینک زیر ویرایش سوم رو دانلود کنید .
http://uplod.ir/61mliat6lj6s/Prentice.Hall.Operating.Systems.Design.and.Implementation.3rd.Edition.Jan.2006.chm.tar.gz.htm
اوه... چه زیاد بود! کی حال داره بخونش تازه اونم با این زبان انگلیسی نصفه نیمه؟! ;D چه حالی داشته نویسندش! و درضمن ممنون :)
-
ترجمهی فارسیاش هم تو بازار هست که بهترینش برای دکتر حقیقته!
-
ترجمهی فارسیاش هم تو بازار هست که بهترینش برای دکتر حقیقته!
انتشارات نص؟
-
انتشاراتش رو یادم نیست الآن! مترجمش دکتر ابوالفضل طرقی حقیقته
-
انتشاراتش رو یادم نیست الآن! مترجمش دکتر ابوالفضل طرقی حقیقته
ممنونم :) . اگر کتابی هم در زمینه زبان اسمبلی میشناسید ممنون میشم معرفی کنید. شدیدا نیاز دارم :)
-
Art of assembly
البته انگلیسیه. به صورت آنلاین و pdf موجوده.
-
نمي دونم پاسخ من الان به درد شما ميخوره يا خير اما اميدوارم كمكي كرده باشم .
متاسفانه امروزه كسي به مفاهيم اوليه بها نمي ده . نتيجه اون هم همين رفتار دوستان در اين تاپيكه . بايد دست اين استاد رو به گرمي فشرد و ازشون تقدير كرد . كاش تمام اساتيد ما اين شكلي بودند . خيلي بي راهه نمي رم .
* داس رو به شكل متعصبانه اي دوست دارم ! و بايد عرض كنم به هيچ وجه سيستم عامل ساده و كوچكي نيست . اگر احيانا روند توسعه سيستم عامل رو ادامه بديد شما هم به اين مورد معترف بشيد . پس شما نبايد انتظار يه سيستم عامل كامل مثل داس رو داشته باشيد !!!
اما در مورد كار شما ، خوشبختانه امروزه منابع بسيار زيادي در مورد توسعه سيستم عامل به فارسي وجود داره ! حتي چندين تيم بسيار عالي دارن روي اين موارد كار مي كنند . اما بنا به دلايل زيادي بيشتر جنبه آموزشي داره تا كاربردي . دلايلش رو اگر دوست داشتيد توضيح ميدم . نوشتن سيستم عامل به زبان اسمبلي تنها يه مقدار زيادي سخته . البته اين كار نيز قبلا انجام شده . يه سيستم عامل ساده با چند برنامه كاربردي وجود داره كه از روي فلاپي - قبلا البته جديدا رو نممي دونم - بوت ميشه سبك و ساده و با كلي امكانات تازه ! اگر اشتباه نكنم محيط گرافيكال هم داره .
براي توسعه سيستم عامل ، بهترين محيط لينوكس هست . به دلايل زيادي باز كه توضيحش اينجا نمي گنجه . بعد يه سري مراحل داره كارتون كه شما بايد خيلي از موارد رو براي ابتدا ناديده بگيريد . يه سيستم عامل بايد چند مورد اساسي رو داشته باشه :
1- بوت لودر
2- مدير حافظه
3- سيستم فايل
4- هسته
و ...
براي هر كدوم مثال هايي به زبانهاي مختلف وجود داره . سعي كنيد با توجه به زمان و هدف كار قسمت هايي رو كپي بزنيد يا بازنويسي كنيد همين .
هر كدوم از اين موارد كلي زير برگ و زير شاخه دارند اما خوب شما يه پي سي ساده رو بدون حواشي در نظر بگير و بر اساس اون برو جلو . با توضيحات شما فكر نمي كنم حتي نيازي به كنترلر ماوس هم حتي باشه !
لينك هايي براي شروع :
http://www.osdever.net/tutorials
براي شروع اين سايت خيلي خوبه . همه چيزي رو پله به پله برات توضيح ميده . بر پا كردن محيط طراحي - نوشتن مراحل مهم و ...
http://www.google.com/url?sa=t&rct=j&q=%D8%B7%D8%B1%D8%A7%D8%AD%D9%8A%20%D8%B3%D9%8A%D8%B3%D8%AA%D9%85%20%D8%B9%D8%A7%D9%85%D9%84%20%D8%B3%D9%8A%20%D8%A7%D8%B3%D9%85%D8%A8%D9%84%D9%8A&source=web&cd=3&cad=rja&ved=0CDcQrAIoAzAC&url=http%3A%2F%2Fbarnamenevis.org%2Farchive%2Findex.php%2Ft-95053.html&ei=nbeTUMkL8tXhBLL_gfgP&usg=AFQjCNGercI_a8_dEURWzLEoYenCoyi4Zg (http://www.google.com/url?sa=t&rct=j&q=%D8%B7%D8%B1%D8%A7%D8%AD%D9%8A%20%D8%B3%D9%8A%D8%B3%D8%AA%D9%85%20%D8%B9%D8%A7%D9%85%D9%84%20%D8%B3%D9%8A%20%D8%A7%D8%B3%D9%85%D8%A8%D9%84%D9%8A&source=web&cd=3&cad=rja&ved=0CDcQrAIoAzAC&url=http%3A%2F%2Fbarnamenevis.org%2Farchive%2Findex.php%2Ft-95053.html&ei=nbeTUMkL8tXhBLL_gfgP&usg=AFQjCNGercI_a8_dEURWzLEoYenCoyi4Zg)
اينم يه نوشته قديمي از من ! راستش يادم نيست چي توش نوشتم الان هم سرور برنامه نويس داره ظاهرا جابجا ميشه براي همين حتي نتونستم بخونمش . بعد از مدتها اينو توي اينترنت ديدم !!!
+ اين لينك ها
http://osdevel.blogfa.com/
http://vazeh.com/n-1335513.html
منم پيشنهاد مي كنم به فوروم برنامه نويس دات ا ار جي سر بزنيد . اونجا برنامه نويس هاي در سطوح مختلف حضور دارند كه بهتر مي تونند بهتون كمك كنند . حتي تا اونجا كه يادمه يكي شون يه سيستم عامل كامل نوشت .
مطالب قديمي رو هم سرچ كنيد به چندين و چند مطلب كه به اين موضوع اشاره دارند مي رسيد .
بر خلاف دوستان هم فكر نم يكنم كتاب تننباوم براي شما مناسب باشه !!! فقط يه سورس همراهش هست از يه سيستم عامل به نامه مينيكس - كه الهام بخش همين لينوكس خودمون هم بوده !!! - كه فقط سه هزار خط هستش ! كه رفتار يونيكس بيسي داره كلا . اگر بتونيد مطالعه اش كنيد مورد جالبيه .
-
خب یک سوال فنی از دوستان ;D
برای سطح پایین C بهتره یا ASM ؟ البته از نظر وقت گذاشتن میگم :) .
-
برای سطح پایین C بهتره یا ASM ؟ البته از نظر وقت گذاشتن میگم .
نظر منو بخوايي سي ! دلايلش هم بسيار زياده !
سي به پلت فورم خاصي بستگي نداره يعني همون كد بدون تغيير خاصي يا با تغيير خيلي اندكي ميشه روي ويندوز يا لينوكس اجرا بشه . يا حتي از پردازنده هاي مختلف پشتيباني ميشه ! اصطلاخا بهش مي گند قابليت حمل . چيزي كه اسمبلي تقريبا فاقد اونه !
كد نويسي خيلي خيلي نسبت به اسمبلي راحت تره . كد قابل فهم تره و ..
منابع و مثال هاي بيشتر وجود داره . آموزش هاي بيشتر و كاربردي تر هست .
خيلي از كارهايي كه توي سي با يه خط انجام ميشه رو شما بايد توي سي با چندين خط انجام بدي !
....
اما در مقابل كاربرد هاي خاصي براي اسمبلي وجود داره :
مثل استفاده از اين برنامه توي كرك كردن برنامه ها . ديباگ برنامه ها و ...
برنامه هايي كه با اسمبلي نوشته ميشند چون هر خط به يه خط كد ماشين تبديل ميشه سرعت بسيار بالايي دارند و ...
در كل جز در موارد خاص استفاده از اسمبلي اصلا منطقي نيست .
-
برای سطح پایین C بهتره یا ASM ؟ البته از نظر وقت گذاشتن میگم .
نظر منو بخوايي سي ! دلايلش هم بسيار زياده !
سي به پلت فورم خاصي بستگي نداره يعني همون كد بدون تغيير خاصي يا با تغيير خيلي اندكي ميشه روي ويندوز يا لينوكس اجرا بشه . يا حتي از پردازنده هاي مختلف پشتيباني ميشه ! اصطلاخا بهش مي گند قابليت حمل . چيزي كه اسمبلي تقريبا فاقد اونه !
كد نويسي خيلي خيلي نسبت به اسمبلي راحت تره . كد قابل فهم تره و ..
منابع و مثال هاي بيشتر وجود داره . آموزش هاي بيشتر و كاربردي تر هست .
خيلي از كارهايي كه توي سي با يه خط انجام ميشه رو شما بايد توي سي با چندين خط انجام بدي !
....
اما در مقابل كاربرد هاي خاصي براي اسمبلي وجود داره :
مثل استفاده از اين برنامه توي كرك كردن برنامه ها . ديباگ برنامه ها و ...
برنامه هايي كه با اسمبلي نوشته ميشند چون هر خط به يه خط كد ماشين تبديل ميشه سرعت بسيار بالايي دارند و ...
در كل جز در موارد خاص استفاده از اسمبلي اصلا منطقي نيست .
آیا میشه کرنل رو با C خالص نوشت ؟
-
ممنونم :) . اگر کتابی هم در زمینه زبان اسمبلی میشناسید ممنون میشم معرفی کنید. شدیدا نیاز دارم :)
بهترین کتابی که در این زمینه خوندم راهنمای اسمبلر 80x86 بود برای شخصی به اسم مشحون اگه اشتباه نکنم
-
آیا میشه کرنل رو با C خالص نوشت ؟
نه. شما یه سر به osdev.org بزن. بعضی قسمتها رو از inline assembly استفاده کردن.
-
آیا میشه کرنل رو با C خالص نوشت ؟
نه. شما یه سر به osdev.org بزن. بعضی قسمتها رو از inline assembly استفاده کردن.
:) .
ممنون دیدم وبگاهش رو . خیلی وبگاه خوبی هم هست. من با MikeOS اونجا آشنا شدم و کرنلی هم که با اسمبلی نوشتم رو از مستندات همین سایت و MikeOS استفاده کردم (چند پست قبلتر هستش! اگر نگاه کنید کرنلی بسیار ساده نوشتم که در QEMU یک خوشامد ساده میگه به کاربر :دی) .
البته Inline Assembly باز بهتره تا نوشتن با خود اسمبلی :D .
-
اخه inline assembly اون که تازه با syntax های at & t هست خیلی نوشتنش دردسر داره. همش کوتیشن داره و این حرفا.
پیشنهاد من اینه که بوت لودر و قسمتهای کمی رو که واسه لود شدن و اجرا شدن فایلها هست با fasm بنویسی و بقیش رو با C
fasm سریعترین assembler هست.
اگه خواستی یه نگاه به سایتش بنداز
http://flatassembler.net/
-
اخه inline assembly اون که تازه با syntax های at & t هست خیلی نوشتنش دردسر داره. همش کوتیشن داره و این حرفا.
پیشنهاد من اینه که بوت لودر و قسمتهای کمی رو که واسه لود شدن و اجرا شدن فایلها هست با fasm بنویسی و بقیش رو با C
fasm سریعترین assembler هست.
اگه خواستی یه نگاه به سایتش بنداز
http://flatassembler.net/
خودم در نظر دارم که بوت لودر رو گراب قرار بدم چون :
1- هم آزاد و قویه .
2- شناسایی خوبی داره (وقتی سیستم عاملم رو خواستم نصب کنم راحتم :)) ).
-
بر خلاف دوستان هم فكر نم يكنم كتاب تننباوم براي شما مناسب باشه !!! فقط يه سورس همراهش هست از يه سيستم عامل به نامه مينيكس - كه الهام بخش همين لينوكس خودمون هم بوده !!! - كه فقط سه هزار خط هستش ! كه رفتار يونيكس بيسي داره كلا . اگر بتونيد مطالعه اش كنيد مورد جالبيه .
به نظر میاد این کتاب رو نخوندید. این کتاب فقط یک سورس همراهش نیست، سورس تنها قسمت فرعی این کتاب هست! برای شخصی که بخواد پایههای سیستمعامل رو یاد بگیره، یکی از بهترین کتابهای سیستمعامل هستش.
برای سطح پایین C بهتره یا ASM ؟ البته از نظر وقت گذاشتن میگم :) .
بستگی داره دقیقا برای چه کاربردی. خوب Assembly عموما زمان بیشتری میبره نسبت به C و میتونه توسعه اون سختتر باشه، ولی از اون طرف سرعت بالاتری داره و حجم کمتری میگیره.
از طرف دیگه Assembly شدیدا به معماری سختافزارتون وابسته هستش، در حالی توی C زحمت اکثریت سازگاری با معماری شما توسط Compiler کشیده شده.
-
به نظر میاد این کتاب رو نخوندید. این کتاب فقط یک سورس همراهش نیست، سورس تنها قسمت فرعی این کتاب هست! برای شخصی که بخواد پایههای سیستمعامل رو یاد بگیره، یکی از بهترین کتابهای سیستمعامل هستش.
بنده حرف شما رو قبول دارم اين كتاب يكي از بهترين هاي سيستم عامل هست . اما اگر دقت كنيد فقط گفتم "اين كتاب به درد شما نمي خوره " نه كه كتاب به درد نمي خوره !
با توجه به زمان و نوع كاري كه ايشون ميخوان انجام بدند و حجم مطالب كتاب و سطحشون ، مطالعه اش كاري جز وقت تلف كردن نيست !
بعد سيستم عامل هاي نوين براي حل مسائل از راههايي استفاده مي كنند كه توي كتاب بهشون اشاره اي نشده ! به نظر اين كتاب صرفا يه داكيومنت براي مينيكسه ! كه منطقي هم هست و در كنار اين به شما مفاهيم رو هم ياد مي ده . مثلا در مورد مديريت حافظه و سيستم فايل و ... راه حل هاي كتاب رو با مثلا روش هاي ويندوز يا لينوكس مقايسه كنيد .
-
موضوع مربوط به پنجسال پیشه. لطفاً موضوعهای قدیمی رو بالا نیارید و موضوع جدید بسازید.