View Full Version : سوال در مورد برنامه نویسی اسمبلی
Hossenbor
جمعه 14 بهمن 1390, 20:03 عصر
سلام و شرمنده بخاطر عنوان بدی که انتخاب کردم یک سوال برام پیش اومد یک جا خوندم وقتی سیستم عامل در حال اجرا هست اگه یک وقفه رو صدا بزنیم سیستم عامل کرش میکنه این یعنی چی منظورم اینه اگه این مطلب درست باشه من بوسیله وقفه ها کارامو انجام میدم اگر سیستم عامل نصبت به وقفه ها حساسه پس اون عامل اجراییش چیه همون وقفه است یا نه برای مثال من میخوام یک رشته چاپ کنم چجوری با اون عامل اجرایی سیستم نمایش بدم با تشکر و خسته نباشید
IamOverlord
دوشنبه 17 بهمن 1390, 20:29 عصر
نه Crash نمی کنه لزوما؛ حتی مثلا در سیستم عاملی مثل Linux شما با وقفه ی 80h می تونی برنامه های مفیدی رو برای کاربر بنویسی تا این که بهش آسیب بزنی. یا غیر از Linux در KolibriOS می تونی از وقفه ی 40h استفاده کنی که حکم یه چیزی مثل توابع API در Windows را دارند.
در مورد قسمت بعدی، هم سیستم عامل یه قطعه کده، هم وقفه ها و هم برنامه ی کاربردی شما، فرقش اینه که نظام اجرایی این ها متفاوته، سیستم عامل به برنامه ی شما اجازه اجرا می ده، یا حتی کنترلش هم می کنه، اما نهایتا هم CPU سیستم عامل رو داره اجرا می کنه و هم برنامه ی شما رو و ... . وقفه ها هم یا باید از طریق نرم افزار شما درخواست بشن یا مثلا یه سخت افزاری درخواست بده یا ... .
اگر منظورتون از عوامل اجرایی همون توابع سیستم عامل برای برنامه نویس ها هست، همون طور که گفتم تو سیستم عامل های مختلف متفاوتن، مثلا در Windows این توابع در DLL ها هستند یا در نسخه های 16 بیتی Windows در فایل هایی با پسوند EXE بودند.
...
Hossenbor
جمعه 08 اردیبهشت 1391, 13:09 عصر
نه منظورم اینه که میخوام یک سیستم عامل بسازم منظورم از سیستم عامل این بود و منظورم هم از کرش مالتی تسکینگ بود پس کرش نمیکنه؟
MostafaMohammadi
دوشنبه 11 اردیبهشت 1391, 16:06 عصر
سوال شما مربوط میشه به سیستم عامل و معماری اون و هیچ ربطی به اسمبلی نداره.
در هر صورت جواب سوالتون اینه که خیر کرش نمی کنه، سیستم عامل همه چیز رو تحت کنترل داره و چیزی که شما اشتباها بهش میگی "کرش مالتی تسکینگ" به وجود نمیاد چون اصولا سیستم عامل نظارت مستقیمی بر روی روند فرستاده شدن وقفه ها به پردازنده مرکزی داره و حواس اش هست که سعی نکنه دو وقفه رو همزمان اجرا نکنه و یا در شرایط اضطراری چطور وسط یک وقفه، یک وقفه دیگه رو اجرا کنه.
(البته همه اینها وقتیه که شما دسترسی تون مجازه و سیستم عامل بر همه دستوراتی که سعی می کنید اجرا کنید نظارت داره، اگر شما دسترسی غیر مجاز یا سطح پایین داشته باشید، شرایط متفاوته.)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.