PDA

View Full Version : سی یا پاسکال در سیستم عامل نویسی



omidan321
دوشنبه 10 تیر 1392, 11:45 صبح
سلام به همه
من توی این بخش درسته سری توی سر ها نیستم اما جزیی از این بخش هستم و اقتدار پاسکال و دلفی رو بیشتر از c و c# میدونم
الان یه چند مدته که رفتم تو نخ سیستم عامل لینوکس و طراحی یه توزیع از لینوکس
توی تحقیقاتم دارم به این نتیجه میرسم که با پاسکال یا دلفی نمیشه این راهو شروع کرد البته در بعضی از موارد هم عنوان شده که میشه اینکارو با پاسکال انجام داد
الان من میخام نظرات اساتید رو در این باره جویا بشم

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

منتظر نظرات پویای شما هستم

BORHAN TEC
دوشنبه 10 تیر 1392, 21:36 عصر
سلام
ساخت سیستم عامل کار ساده ای نیست و دانش فنی بالایی را می طلبد. همانطور که می دانید اکثر سیستم عاملها با زبان C و C++‎ نوشته شده اند. جالب است بدانید که سیستم عاملهای مختلفی با پاسکال ساخته شده است که یکی از آنها osdev است. باید بدانید که این سیستم عامل با Free Pascal ساخته شده است. برای کسب اطلاعات بیشتر به لینک زیر مراجعه کنید:
http://forum.lazarus.freepascal.org/index.php?topic=15423.0
موفق باشید...

soft-c
دوشنبه 10 تیر 1392, 23:53 عصر
علت اینکه اغلب از زبان c برای ساخت ویندوز استفاده می کنند چیست؟

F0xxxx
سه شنبه 11 تیر 1392, 01:06 صبح
دلیل استفاده از زبان C دست باز این زبان در تعامل مستقیم با سخت افزار و میان افزار(Firmware) می باشد.
حتی در توسعه سیستم عامل ها (ترجیحا" UNIX Base ) اختیاراتی که توابع زبان سی همینطور system call ها به توسعه دهندگان می دهند قابل توجه و بسیار کاربردی است به صورتی که تقریبا" تمام نیاز ها را پاسخگوست...

omidan321
سه شنبه 11 تیر 1392, 08:10 صبح
اگه منظور شما رو درست فهمیده باشم ، شما دارید میگید که برای نوشتار سیستم عامل ، باید از زبان سی استفاده کرد ؟

BORHAN TEC
سه شنبه 11 تیر 1392, 09:36 صبح
در ساخت سیستم عامل هیچ لزومی نداره که حتماً و حتماً از زبان C استفاده بشه. جالب است بدانید که Free Pascal هم قدرتی معادل زبان C را در ساخت برنامه های سیستمی دارد ولی از آنجایی که اکثر نمونه کدهای موجود برای ساخت سیستم عامل به زبان C و C++ می باشد، استفاده از C و C++ توجیه بیشتری نسبت به سایر زبانها دارد.

یوسف زالی
سه شنبه 11 تیر 1392, 09:52 صبح
یک سوال شاهین جان،
برای نوشتن سیستم عامل، چطور برنامه نویسی می کنند وقتی هنوز سیستم عاملی برای اجرای کدها وجود نداره.
یکی دو خط توضیح بده به ما پیرمردا که سر در بیاریم.
با تشکرات فراوان

BORHAN TEC
سه شنبه 11 تیر 1392, 10:05 صبح
سلام
پیشنهاد می کنم که مقاله زیر را در این خصوص حتماً بخوانید:
http://www.codeproject.com/Articles/36907/How-to-develop-your-own-Boot-Loader
در ضمن جناب Joker (http://barnamenevis.org/member.php?838-joker) هم تجربه خوبی در این خصوص دارند و مقالات پر محتوایی در این خصوص به زبان فارسی نوشته اند:
http://www.netnegar.ir/gp/#آموزش
موفق باشید...

بهروز عباسی
سه شنبه 11 تیر 1392, 19:07 عصر
برای نوشتن سیستم عامل، چطور برنامه نویسی می کنند وقتی هنوز سیستم عاملی برای اجرای کدها وجود نداره
با اجازه.

اولین مرحله که طراحی Boot Loader هستش ؛ اول یک Boot Loader طراحی میکنیم تا زمان شروع به کار سیستم Kernel مربوط به OS ما رو توی حافظه Load کنه و روند اجرایی سیستم رو به Kernel بده تا اینجا سادست اما از این جا به بعد همه چیز به Kernel ای که برای OS طراحی کردیم بستگی داره مثلاً پیاده سازی بستری برای اجرا و مدیریت Process ها اختصاص و مدیریت منابع سیستم.

برای نوشتن Kernel ابتدا باید یک معماری خوب رو مد نظر داشته باشیم (که این کا رو با استفاده از کتب سیستم عامل میتونیم انجام بدیم) ، بعد از این مرحله Coding رو شروع می کنیم (با فرض اینکه زبان مورد نظر C باشد)
ولی زبان C ای که ما دیدیم حاوی Library های هست که وابستگی مستقیم به Platform داره ،در حالی که در این مرحله از توسعه OS هنوز Platformای در کار نیست به همین خاطر خودمون باید با استفاده از زبانی مثل ASM اقدام به طراحی و پیاده سازی کتابخونه های (که البته کاملاً با H.W در تعامل هستند و به Platform نرم افزاری خاصی نیاز ندارن )مورد نیاز برای توسعه OS خودمون بکنیم ،و Kernel رو توسعه بدیم بعد هم مثل الان که داریم برای Linux یا MS Windows برنامه نویسی میکنیم برای OS خودمون برنامه مینویسیم و Kernel هم اجرا میکنه.:لبخند:
خداییش ای کاش به همین راحتی بود :کف:

omidan321
پنج شنبه 13 تیر 1392, 14:08 عصر
ولی زبان C ای که ما دیدیم حاوی Library های هست که وابستگی مستقیم به Platform داره ،در حالی که در این مرحله از توسعه OS هنوز Platformای در کار نیست به همین خاطر خودمون باید با استفاده از زبانی مثل ASM اقدام به طراحی و پیاده سازی کتابخونه های (که البته کاملاً با H.W در تعامل هستند و به Platform نرم افزاری خاصی نیاز ندارن )مورد نیاز برای توسعه OS خودمون بکنیم ،و Kernel رو توسعه بدیم بعد هم مثل الان که داریم برای Linux یا MS Windows برنامه نویسی میکنیم برای OS خودمون برنامه مینویسیم و Kernel هم اجرا میکنه.:لبخند:
خداییش ای کاش به همین راحتی بود :کف:


این بخش آخر رو بیشتر توضیح میدی

BORHAN TEC
پنج شنبه 13 تیر 1392, 14:44 عصر
یعنی ساخت یک فریم ورک و یک کامپایلر اولیه که با استفاده از اون بتونیم برنامه های مورد نیاز سیستم عاملی که طراحی کرده ایم را بسازیم. نیازی نیست که در ابتدای کار این فریم ورک خیلی گسترده باشد و فقط کافی است که بتواند امکانات اصلی را در اختیار ما قرار دهد. با در اختیار داشتن امکانات پایه و استفاده از آن می توانیم فریم ورک مربوط به سیستم عاملمان را توسعه دهیم. پیشنهاد می کنم که در این خصوص مستند Revolution OS که توسط www.farsiweb.info زیر نویس شده است را ببینید. در قسمت هایی از این مستند سازندگان اصلی لینوکس در همین مورد توضیح داده اند.

omidan321
پنج شنبه 13 تیر 1392, 17:19 عصر
این لینکی که دادی کار نمیکنه !!

BORHAN TEC
پنج شنبه 13 تیر 1392, 18:22 عصر
خوب توی گوگل میزدی "مستند Revolution OS با زیرنویس فارسی".
اینم اولین لینک:
http://www.aghazeh.com/amozeshi-video/830-revolution-os-vedio.html