نمایش نتایج 1 تا 11 از 11

نام تاپیک: طراحی هسته یک سیستم عامل ساده با C++‎

  1. #1
    کاربر جدید
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    بابل
    پست
    28

    Question طراحی هسته یک سیستم عامل ساده با C++‎

    سلام
    من یه سیستم عامل با اسمبلی نوشتم، ینی یه کرنل و یک لودر. که لودر میاد کرنل رو لود می کنه اگه بخوام ریزتر بگم اینجوریه که یک لودر نوشتم با ساختار فایل کام یعنی از همون خط اولش اجرایی هست تا cpu برای اجراش مشکلی نداشته باشه البته خود لودر یک فایل باینری ولی ساختار کام رو داره. و کرنلم هم یک فایل باینری هست که ساختار کام رو داره. این سیستم عامل سادم الان مشکلی نداره.
    ولی اگه بخوام کرنل رو با C++‎ بنویسم باید چیکار کنم؟ من تا حالا فقط از وقفه های Bios استفاده می کردم و اگه بخوام از C++‎ استفاده کنم باید از تابع های داس استفاده کنم ولی الان که داسی وجود نداره و فقط می تونم از وقفه های Bios استفاده کنم.
    تا اونجایی که می دونم باید توابع داس رو لود کنم تو رم و ازشون استفاده کنم. حالا سوالی که هست اینه که چجوری توابع داس رو لود کنم با وفقه های Bios ؟ کجای رم لود کنم؟
    حالا بعداز اینکه لود کردم چجوری اون فایل exe که با C++‎ ساختم رو اجرا کنم؟
    اگه کسی راهنماییم کنه ممنون می شم

  2. #2

    نقل قول: طراحی هسته یک سیستم عامل ساده با C++‎

    سلام

    قبل از هر چیز پیشنهاد می کنم سوئیچ کن روی لینوکس. چون اینکار اونجا هم استاندارد تر و هم راحتر هست.

    برای استفاده از C++‎ باید به کامپایلر بگی که از کتابخونه های C run time استفاده نکنه. این شکلی حق نداری از هیچ کدوم از هدرهای معروف C مثل stdio.h . یا conio.h استفاده کنی. و باید همه رو خودت بنویسی. و باید فایل اسکریپت لینکر و نقطه ورود برنامه رو هم خودت بنویسی.

    مورد بعدی اینه که پیشنهاد می کنم بجای C++‎ از C استفاده کنی. چون راه انداری C خیلی راحتر از C++‎ هست و با جزئیات کمتری درگیر میشی.

  3. #3
    کاربر جدید
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    بابل
    پست
    28

    نقل قول: طراحی هسته یک سیستم عامل ساده با C++‎

    سلام دوست عزیز ممنونم که جواب دادید.
    یعنی هیچ راهی وجود نداره که از کتابخونه ها استفاده کنم؟ یعنی نمی شه این کتابخونه ها رو لود کرد تو رم و ازشون استفاده کرد؟
    می خواستم اینجوری سرعت کارم بالا بره ولی اینجوری که شما گفتید از اسمبلی کندتر می شه که!
    اگه بخوام اینا رو خودم بنویسم کارم خیلی سخت می شه. راهی به ذهنتون نمی رسه که بشه از کتابخونه های C استفاده کنم؟
    راستی یه سوال دیگه با c که هسته رو طراحی کردم باید به exe تبدیل کنم یا مثل اسمبلی به bin ؟ یا اصلا میشه به com تبدیلش کرد؟
    چون فایل exe هدر داره که چون cpu از خط اول شروع میکنه به اجرا کردن وقتی به هدر برسه براش مشکل پیش میاد.

  4. #4

    نقل قول: طراحی هسته یک سیستم عامل ساده با C++‎

    می خواستم اینجوری سرعت کارم بالا بره ولی اینجوری که شما گفتید از اسمبلی کندتر می شه که!
    سرعت کارت بعد از نوشتن کتابخونه ها تندتر میشه. اما تا یه نتیجه خالی بگیری یه مدت زیاد طول می کشه. من حدود یک سال طول کشید تا بتونم اولین نتایج رو بگیرم.

    اگه بخوام اینا رو خودم بنویسم کارم خیلی سخت می شه. راهی به ذهنتون نمی رسه که بشه از کتابخونه های C استفاده کنم؟
    متاسفانه هیچ راهی وجود نداره به جزء اینکه از سورس بقیه کسایی که سیستم عامل می نویسن استفاده کنی و تازه اونم دردسرهای خودش رو داره که توی بیشتر موارد نمیشه.

    راستی یه سوال دیگه با c که هسته رو طراحی کردم باید به exe تبدیل کنم یا مثل اسمبلی به bin ؟ یا اصلا میشه به com تبدیلش کرد؟
    مهم نیست که از چه فرمتی استفاده می کنید. این بوت لودر هست که باید بتونه اون فرمت رو پشتیبانی کنه.
    چون فایل exe هدر داره که چون cpu از خط اول شروع میکنه به اجرا کردن وقتی به هدر برسه براش مشکل پیش میاد.
    این بوت لودر هست که باید هدر رو ترجمه کنه و بتونه فایل exe رو توی نقطه مشخص شده لود کنه که فایل اجرا شه. من خودم قبلا از فرمت exe استفاده می کردم. اما الان از قالب فایل elf استفاده می کنم که با بوت لودرم (grub) سازگار هست.

    اگر میخوای سیستم عامل بنویسی یکی از اولین چیزهایی که باید بیخیالش بشی بوت لودر هست. بهتره از یه بوت لودر آماده استفاده کنی. وگرنه توی همون اول کار بایوس و الحاقی ها و استثناءها کارت رو یکسره می کنن.

  5. #5

    نقل قول: طراحی هسته یک سیستم عامل ساده با C++‎

    اقا من با سی بطور خیلی ساده کار های چاپ یک متن رو انجام دادم ؛ اما برای بقیه اش موندم !!!!!! از درست کردن لینکر که هیچ نمیدانم !! با بوت لودر هم call main می کنم و لی تو ld ارور می ده .

    کسی یه نسخه اوپن سورس و کاملا ساده و استاندارد نداره بزاره ؟

    ممنوش میشم.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    دی 1391
    محل زندگی
    شرق تهران
    سن
    32
    پست
    162

    نقل قول: طراحی هسته یک سیستم عامل ساده با C++‎

    میتونی از سورس کد
    MikeOS
    استفاده کنی
    ولی کامل نیستش و نمیتونی اونجور که باید رو سیستم عاملت کار کنی.
    در ضمن همش با اسمبلی نوشته شده و یه خط با c ننوشتن
    حتی همون libmikeos که 99%ش از اسمبلی استفاده کرده.

  7. #7

    نقل قول: طراحی هسته یک سیستم عامل ساده با C++‎

    ممنون دوست من ؛ ولی این اون چیزی نبود که من می خواستم ، من توی اسمبلی زیاد تخصصی ندارم .
    از دوستان هیچکس پروژه سالم و سی نمیشناسه؟

  8. #8

    نقل قول: طراحی هسته یک سیستم عامل ساده با C++‎


  9. #9

    نقل قول: طراحی هسته یک سیستم عامل ساده با C++‎

    سلام
    میتونی از این استفاده کنی
    http://kolibrios.org/en/

  10. #10

    نقل قول: طراحی هسته یک سیستم عامل ساده با C++‎

    نقل قول نوشته شده توسط sadegh33 مشاهده تاپیک
    سلام
    میتونی از این استفاده کنی
    http://kolibrios.org/en/
    این هم کاملا اسمبلی هست.

  11. #11
    کاربر دائمی
    تاریخ عضویت
    دی 1391
    محل زندگی
    شرق تهران
    سن
    32
    پست
    162

    نقل قول: طراحی هسته یک سیستم عامل ساده با C++‎

    میتونی بری
    osdev.org بعدش یه سری مطلب راجع بهش نوشته: یه منبع توپ
    میتونی بخونی و طراحی کنی

تاپیک های مشابه

  1. حرفه ای: طراحی سیستم عامل ساده
    نوشته شده توسط arash_abi12 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: دوشنبه 19 اردیبهشت 1390, 11:46 صبح
  2. آموزش: شبه سیستم عامل ساده با منو گرافیکی
    نوشته شده توسط abytools در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 10
    آخرین پست: دوشنبه 20 دی 1389, 23:13 عصر
  3. ساخت یک سیستم عامل ساده با اسمبلی یا ++C
    نوشته شده توسط Rocker در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 1
    آخرین پست: شنبه 03 اسفند 1387, 01:27 صبح
  4. معرفی کلی انواع هسته های سیستم عامل
    نوشته شده توسط asm.coder در بخش توسعه‌ی هسته‌ی سیستم عامل
    پاسخ: 3
    آخرین پست: جمعه 06 دی 1387, 05:21 صبح
  5. خبر: یک فراخوان برای تمامی عالاقمندان به طراحی و ساخت سیستم عامل !!!
    نوشته شده توسط behzad24be در بخش توسعه‌ی هسته‌ی سیستم عامل
    پاسخ: 2
    آخرین پست: دوشنبه 21 مرداد 1387, 22:13 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •