PDA

View Full Version : فرق تحت سیستم عامل و تحت سی پی یو؟



makhdoosh
دوشنبه 04 مرداد 1389, 00:16 صبح
بنده تازه شروع به یادگیری برنامه نویسی C کردم. سوالاتی هست که دوست دارم قبل از یاد گرفتن برنامه نویسی بدونم.
آیا فرقی در نوع برنامه نویسی یا کامپایل کردن در برنامه نویسی تحت یک سیستم عامل یا غیر تحت سیستم عامل! (مثلا خود سیستم عامل تحت هیچی نیست) وجود داره؟

مثلا من میخام یک برنامه ماشین حساب بنویسم و روی یک سی دی قرار بدم و بعد از اینکه سی دی رو توی سی دی رام گذاشتم و سیستم رو روشن کردم و بوت رو روی سی دی انتخاب کردم این برنامه ایی که نوشتم بدون نیاز به هیچ سیستم عامل یا چیز دیگه ایی بیاد بالا و من ازش استفاده کنم. (اصلا بگید چنین چیزی در Visual Stadio ممکن هست؟)

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

میخام ببینم فرق میان این دو نوع برنامه نوشتن چی هست؟ آیا تفاوت در نوع برنامه نوشتن هست یا تفاوت در نوع کامپایل یا در نوع لینک کردن هست؟

سوال دیگه اینکه آیا میشه یک سیستم عامل رو به زبان C یا ++C در ویژوال استادیو بنویسیم و همونجا کامپایلش کنیم؟

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

(ببخشید اگه سوالاتم احتمالا مبتدیانه بود) :ناراحت:

Salar Ashgi
دوشنبه 04 مرداد 1389, 00:36 صبح
سلام ،

انصافا سوالاتتون خیلی مبهمه ، احتمالا نتونستین اونی که منظورتون بوده رو برسونین !
================================================== ==


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

یه سیستم عاملی نصب باشه .



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



سوال دیگه اینکه آیا میشه یک سیستم عامل رو به زبان C یا ++C در ویژوال استادیو بنویسیم و همونجا کامپایلش کنیم؟
سیستم عامل ویندوز XP رو به زبان C و اسمبلی در حدودا 11 میلیون خط کد ! ، تیم چند 100 نفره

مایکروسافت نوشته ، حالا شما میخوای به تنهایی سیستم عامل طراحی کنی ؟!

در ضمن اون برنامه هستش که کامپایلش میکنن نه سیستم عامل !

دوست عزیز بنظرم بهتر است قبل از ایجاد پست و رفتن بسوی برنامه نویسی ، کمی بر روی مفاهیم

مبانی کامپیوتر آشنایی و تسلط پیدا کنید ./

yaseriran
دوشنبه 04 مرداد 1389, 09:35 صبح
درود!



آیا فرقی در نوع برنامه نویسی یا کامپایل کردن در برنامه نویسی تحت یک سیستم عامل یا غیر تحت سیستم عامل! (مثلا خود سیستم عامل تحت هیچی نیست) وجود داره؟نوع برنامه نویسی در c یا C++‎‎‎‎‎ در انواع کامپایلرها فرق شایانی نداره، مثلا توابع کم و زیاد دارند. در کل base و syntax یکی است. اما بحث سیستم عامل خیلی گسترده تر از یک تاپیکه... (کلی جواب دادم)


سوال دیگه اینکه آیا میشه یک سیستم عامل رو به زبان C یا ++C در ویژوال استادیو بنویسیم و همونجا کامپایلش کنیم؟همانطور که دوستمون (مدیر بخش) گفتند، xp را با c نوشتند. پس می شود سیستم عامل دیگر هم نوشت. ولی فکر نکنم تو محدوده ما کسی بلد باشه...


(ببخشید اگه سوالاتم احتمالا مبتدیانه بود)فکر نکنم سوالاتون مبتدی بود، زیرا:
1) هر کی سوالاتون رو بخونه بیشتر از بقیه پستها باید فکر کنه.
2)شما بحث سیستم عامل رو کردید که خیلی از ما فقط اسماشون رو بلدیم...


پیروز باشید...



زندگی را بدون مردم آزاری و خود آزاری بگذرانیم...

Nima_NF
دوشنبه 04 مرداد 1389, 14:22 عصر
مثلا من میخام یک برنامه ماشین حساب بنویسم و روی یک سی دی قرار بدم و بعد از اینکه سی دی رو توی سی دی رام گذاشتم و سیستم رو روشن کردم و بوت رو روی سی دی انتخاب کردم این برنامه ایی که نوشتم بدون نیاز به هیچ سیستم عامل یا چیز دیگه ایی بیاد بالا و من ازش استفاده کنم. (اصلا بگید چنین چیزی در Visual Stadio ممکن هست؟)


بله، امکان پذیر هست. اما این طوری فکر نکنید که کار ساده ای هست.

شما باید در visual studio همه کتابخانه های جانبی را غیر فعال کنید و خودتان آن ها را مجددا پیاده سازی کنید. به نوعی syntax زبان در اختیار شما هست، اما امکانات مختلف نمایش کارکتر، دریافت از ورودی و غیره باید توسط خودتان مجددا پیاده سازی شود تا وابسته به سیستم عامل و کامپایلر مورد استفاده نباشد.

به نوعی شما باید یک سیستم عامل بسیار کوچک بنویسید که خودش کدنویسی بسیاری می خواهد، اما با استفاده از سورس کدها و پروژه های کنونی موجود در اینترنت می توانید کار خود را سریع تر کنید و مجددا همه موارد را پیاده سازی نکنید.
نوشتن boot loader یا استفاده از open source ها مانند grub نیز فراموش نشود.


برای اطلاعات بیشتر این تاپیک را مطالعه کنید که قبلا بحث شده است:
http://barnamenevis.org/forum/showthread.php?t=173045

مرتضی پیروزی
دوشنبه 04 مرداد 1389, 16:22 عصر
سلام
آقا نیما اگر برنامه یکم بزرگ و پیچیده تر باشه؛ آیا امکانش هست که اون رو مثلاً سوار بر دیسک های زنده لینوکس کرد و از اون طریق با برنامه کار کرد؟؟

Nima_NF
دوشنبه 04 مرداد 1389, 17:08 عصر
سلام
آقا نیما اگر برنامه یکم بزرگ و پیچیده تر باشه؛ آیا امکانش هست که اون رو مثلاً سوار بر دیسک های زنده لینوکس کرد و از اون طریق با برنامه کار کرد؟؟
اگر قرار هست با لینوکس live باشه که لازم نیست این همه دردسر کشیده بشه، برنامه برای لینوکس بنویسید(با در نظر گرفتن محدودیت های موجود این نوع لینوکس)، راحت اجرا کنید.
در هر صورت دقت داشت باشید که OS ها به صورت live خیلی ضعیف هستند.

yaseriran
سه شنبه 05 مرداد 1389, 15:14 عصر
درود!

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




برای بدست آوردن این دنیا، علم و برای بدست آوردن آن دنیا، تقوی... بوعلی سینا

Salar Ashgi
چهارشنبه 06 مرداد 1389, 13:05 عصر
کاربر گرامی makhdoosh (http://barnamenevis.org/forum/member.php?u=156310) ، همانطور که کاربر محترم yaseriran (http://barnamenevis.org/forum/member.php?u=65298) ذکر کردن ، هدف ما در سایت برنامه نویس

آموزش و شیوه یادگیری درست برنامه نویسی است و سر لوحه این هدف در ابتدا احترام به تمام اعضای

جامعه علمی برنامه نویسان عزیز این سایت میباشد ! هدف ما چیزی جز راهنمایی دوستان برنامه نویس

نیست ! من فقط واقعیت ها رو ذکر کردم ، ممکن است شما منظور بنده رو جور دیگری متوجه شده باشید

ولی این را بدانید که تو این سایت احترام به حقوق همدیگر حرف اول رو میزنه و هممون به این قانون

پایبندیم .

موفق و پیروز باشید ./