مقاله سیستم عامل های بلادرنگ

تحقیق و پروژه و پایان نامه و مقاله دانشجویی

عنوان :

مقاله سیستم عامل های بلادرنگ

تعداد صفحات :۷۶

نوع فایل : ورد و قابل ویرایش

چکیده

مقاله حاضر به بررسی سیستم عامل های بلادرنگ می پردازد. مقاله شامل سه فصل است که در فصل اول: زمانبندی بلادرنگ: زمانبندی بلادرنگ یکی از موضوعات فعال در تحقیقات علوم کامپیوتر است. در این قسمت رویکردهای متفاوت زمانبندی بلادرنگ را مرور کرده و نگاهی به دو طبقه مرسوم از الگوریتم های زمانبندی بلادرنگ ،می پردازیم.
در فصل دوم: الگوریتم های برنامه ریزی و حمایت سیستم های اجرایی برای سیستم های بلادرنگ : این مقاله حالت real- time را در نواحی که در حال برنامه ریزی و اجرای هسته های سیستم هستندبه طور خلاصه بیان می کند. هم توسط تحقیق های اجرایی و هم توسط جوامع علوم کامپیوتر در نواحی در حال برنامه ریزی که کار زیادی انجام شده است. برای بررسی این روشها  و برنامه ریزی ها چهار نمونه والگو را مورد بحث قرار می دهیم و برای هر کدام چندین مثال ارائه می دهیم. این چهار الگو عبارتند از:
۱٫برنامه ریزیstatic table – driven
۲٫برنامه ریزی    static priority preemptive
۳٫برنامه ریزی dynamic planning – based
۴٫برنامه ریزی dynamic best-effort
در متن سیستم در حال اجرا ما معتقدیم که اکثر هسته های تجاری خصوصی و همچنین توسعهً real – time برای هسته های سیستم سهیم در زمان، نیازهای سیستمهای real –time را که قابل پیش بینی هم هستند برآورده نمی سازد. ما در مورد چند هسته تحقیق که در حال حاضر نیازهای کاربردهای real – time را برآورده می سازند بحث و بررسی می کنیم.
در فصل سوم: بررسی ارتباطات میان اجزای یک سیستم جامع از اینرو مهم است که لایه های ناهمگن و متفاوت آن مانند سخت افزار ، سیستم عامل و برنامه های کاربردی به هم وابسته هستند . ما عملکردهای بهبود یافته را در سه بخش پیشنهاد می کنیم : چه موقع ؟ کجا؟ وچگونه ؟این کار در ارتباط با تزریق یک خطا در برنامه RTOS  هنگام بررسی رابط میان RTOS  و برنامه کاربردی است .
تزریق یک خطا بدون اینکه در محیط زمان اجرا روی RTOS تاُثیر بگذارد، هسته عملکردهای بهبود یافته پیشنهاد شده است .عملکردهای بهبود یافته را برای بررسی رابط در طول یکپارچه سازی RTOS و برنامه کاربردی در کنترل کننده های قابل برنامه ریزی صنعتی به کار می بریم .
RTOS (سیستم عامل بلادرنگ) ، یک سیستم جامع را به وسیله به موقع اجرا کردن برنامه های کاربردی مدیریت می کند . به منظور  بررسی نرم افزارهای جامع نظیر RTOS و برنامه های کاربردی لازم است که از قبل آن برنامه را نصب کنیم . RTOS  از هسته و برنامه های سیستمی تشکیل شده است . برنامه های سیستمی ، واحدهای کنترلی قابل اجرا بر روی هسته هستند که عهده دار اجرای RTOS  می باشند . آنها به هسته ، دستگاههای سخت افزاری و برنامه های کاربردی وابسته هستند . بنابراین این نکته برای بررسی رابط میان RTOS  و برنامه ها از طریق پروتکل RS – ۲۳۲C با هم ارتباط برقرار می کنند که توسط سازمان صنایع الکترونیک EIA تعریف شده است .
این استاندارد همچنین به عنوان (فرستنده /گیرنده غیرهمزمان ) UART نیز شناخته شده است .
در این مقاله ، ارتباط میان RTOS و برنامه های کاربردی را با استفاده از برنامه های سیستمی که روی هسته قرار دارند ، بررسی می کنیم.  در اینجا یک رابط به دروازه مراجعه می کندتا ارتباط میان دو لایه متفاوت را در یک سیستم جامع کنترل کند . این رابطه نقطهُ مرکزی برای کنترل و اشکال زدایی سیستم جامع است در جایی که لایه های ناهمگن به هم وابسته هستند .
همچنین این رابط معیاری برای محدودهُ مورد بررسی که به منظور انتخاب نمونه ها استفاده می شود، شده است . این را به عنوان بررسی رابط تعریف می کنیم.
به طور کلی ، تحلیل بهبودیافته ، یک تکنیک آزمون وخطاست که به بررسی کننده کمک می کند تا مجموعه ای از موارد امتحانی را ایجاد کند تا به طور مشخص اشکالات وخطاهای از پیش تشخیص داده شده را کشف کند . هنگامی که نرم افزار را با تمرکز بر روی محدودهُ کوچک کلاسی از خطاها بررسی می کنیم ، می توانیم انتظار داشته باشیم که خطاهای پیچیده بیشتری را به خوبی پیدا می کنیم ، این روش به ما اطمینان را می دهد که استراتژیهای آزمون وخطا می توانند راههای موُثری را برای بررسی نرم افزار فراهم کنند.
اطلاعات واقعی نشان می دهندکه نسخه های اشتباه یک برنامه که به وسیله به کار بردن عملگرهای بهبود یافته تولید می شوند ، مشابه خطاهای واقعی هستند. عملگرهای جهش یافته ،برنامه های بهبود یافته را با تزریق یک خطا در FIT (محل تزریق خطا) یک برنامه ، تولید می کنند. دیگر مطالعات ،پیش از این عملگرها ی بهبود یافته را برای برنامه های رویه ای توسعه داده اند. این نکته مهم است در تشخیص اینکه چه زمانی خطا تزریق می شود در حالیکه RTOS  وابسه به زمان است . همچنین تشخیص محل تزریق خطا در RTOS  مهم است زیرا محلهای تزریق خطا محدود هستند . اگرشما محل ها را برای مدیریت سیستم جامع یکپارچه ، تغییر دهید مانند تغییر دادن محل هسته باعث از کار افتادن سیستم می شود . بنابراین زمان تزریق خطا و محل تزریق خطا برای RTOS  باید هنگام توسعه عملکردهای بهبود یافته با دقت در نظر گرفته شود .
در این مقاله در ارتباط با تزریق خطا در برنامهRTOS  هنگام بررسی رابط میان RTOS و برنامه عملگرهای بهبودیافته را در سه قسمت پیشنهاد می کنیم: کی ؟ کجا؟ چگونه ؟
این مقاله شامل قسمتهای زیر است :
قسمت دوم : شرح رابط میان RTOS  و برنامه های کاربردی
قسمت سوم : شرح عملگرها بهبود یافته
قسمت چهارم : تشریح مطالعات تجربی
قسمت پنجم : مطرح کردن نتایج و کارهای آینده
واژه های کلیدی: زمانبندی بلادرنگ، الگوهای برنامه ریزی، برنامهRTOS

فهرست مطالب

فصل اول : زمانبندی بلادرنگ  ۷
مقدمه  ۸
مشخصات سیستم های بلادرنگ  ۹
زمانبندی بلادرنگ  ۱۴
رویکردهای ایستای مبتنی بر جدول  ۱۶
رویکردهای ایستای مبتنی بر اولویت و با قبضه کردن  ۱۶
رویکردهای پویا بر اساس برنامه ریزی  ۱۶
رویکردهای پویا با بهترین کوشش  ۱۷
زمانبندی ایستا مبتنی بر جدول  ۱۸
زمانبندی ایستای مبتنی بر اولویت و با قبضه کردن  ۱۸
زمانبند مهلت زمانی  ۱۸
زمانبندی Linux  ۲۶
زمانبندی Unix SVR  ۴۲۸
فصل دوم : الگوریتم های برنامه ریزی و حمایت سیستم های اجرایی برای سیستم های بلادرنگ  ۳۱
خلاصه  ۳۲
برنامه ریزی بلادرنگ  ۳۵
متریک های اجرا در سیستم های بلادرنگ  ۳۶
الگوهای برنامه ریزی  ۳۸
الگوریتمهای برنامه ریزی برای این الگوها  ۴۰
برنامه ریزی ثابت Table –Driven  ۴۱
برنامه ریزی priority driven preemptive  ۴۲
برنامه ریزی دینامیک   ۴۳
برنامه ریزی Best –Effort دینامیک  ۴۴
موضوعات برنامه ریزی مهم  ۴۵
برنامه ریزی با محدودیتهای توان خطا ۴۵
برنامه ریزی با احیای منابع ۴۶
سیستم اجرایی بلادرنگ   ۴۶
هسته های کوچک ، سریع و اختصاصی  ۴۷
توسعه های زمان واقعی برای سیستم های اجرای بازرگانی  ۴۸
سیستم های اجرای تحقیق  ۵۰
هسته MARS  ۵۱
هسته SPRING  ۵۲
هستهMARUTI   ۵۲
هسته ARTS   ۵۲

فصل سوم : بررسی ارتباط میان اجزای یک سیستم جامع بلادرنگ   ۵۵

خلاصه  ۵۶
شرح رابط میان RTOS و برنامه کاربردی  ۵۸
شرح عملگرهای بهبودیافته  ۶۳
تشریح مطالعات تجربی  ۶۹

فصل چهارم : منابع

منابع

[۱] M. A. Tsoukarellas, V. C. Gerogiannis and K. D.Economides, “Systemically Testing a Real-TimeOperating System”, IEEE Micro, Vol.15, pp.50-60,1995.
[۲] EIA/TIA-232-C, Interface Between Data Terminal Equipment and Data Circuit-Terminating EquipmentئEmploying Serial Binary Data Interchange, EIA(Electronic Industries Alliance), 1991.
[۳] A. Sung, B. Choi and S. Shin, “An Interface Test Model for Hardware-dependent Software and Embedded OS API of the Embedded System”, Journal of Computer Standards and Interfaces, ELSEVIER, 2006, to be published.
[۴] R. A. Demillo, R. J. Lipton and F. G. Sayward, “Hints on Test Data Selection: Help for the practicing programmer”, IEEE Computer, Vol.11, pp.34-31, 1978. [5] A. J. Offutt, “Investigations of the Software Testing Coupling Effect”, ACM Transactions on Software Engineering and Methodology, Vol.1, pp.5-20, 1992.
[۶] M. E. Delamaro, J. C. Maldonado and A. P. Mathur, “Interface Mutation: An Approach for Integration Testing”, IEEE Transactions on Software Engineering, vol.27, pp228~247, 2001.
[۷] Technical Report SERC-TR-41-P, Design of Mutant Operators for the C Programming Language, Software Engineering Research Center, Purdue University, Rev.1.04, 2006.
[۸] R. T. Alexander, J. M. Bieman, S. Chosh and B. Ji., “Mutation of Java Objects”, in the Proc. of International Symposium on. Software Reliability Engineering, pp.341~351, 2002.
[۹] H. Yoon, and B. Choi, “Effective Test Case Selection for Component Customization and Its Application to EJB”, The Software Testing, Verification and Reliability Journal, vol.14, pp.45~70, 2004.
[۱۰] A. Jerraya and W. Wolf, “Hardware/Software Interface Codesign for Embedded Systems”, IEEE Computer, Vol.38, pp.63~69, 2005.
[۱۱] IEEE Standard 1003.1-2001, IEEE Standard for Information technology – POSIX (Portable Operating System Interface), IEEE, 2001.
[۱۲] J.J Labrosse, MicroC/OS-II, The Real-Time Kernel, CMP Books, 1999.
[۱۳] A. Mader, “A Classification of PLC Models and Applications”, in the Proc. of International Workshop on Discrete Event Systems — Discrete Event Systems, Analysis and Control, Kluwer Academic Publishers, pp.239-247, 2000.
[۱۴] TMS320C32 Digital Signal Processor available in
[۱۵] IEC, International Standard for Programmable Controllers: Programming Languages, Technical Report IEC 1131 part 3, IEC (International Electro technical Commission), 1993.
[۱۶] KNICS-PLC-SDS331-01, Software Design Specification for the PLC Processor Module, KAERI (Korea Atomic Energy Research Institute), 2006.
[۱۷] S. E. Chodrow, F. Jahnian,and M. Donner, “Run-Time Monitoring of Real-Time Systems”, in the Proc. of Run-Time Systems Symposium, IEEE, pp.74-83, 1991. [18] S. Ricardo and Jr. J. R. de Almeida, “Run-Time Monitoring for Dependable Systems: an Approach and a Case Study”, in the Proc. of International Symposium on Reliable Distributed System, IEEE, pp.41-49, 2004.
[۱۹] SPRU296, Code Composer User’s Guide, Texas Instrument, 1999.
[۲۰] J.H. Andrews, L.C. Briand and Y. Labiche, “Is Mutation an Appropriate Tool for Testing Experiments?”, in the Proc. of International Conference on Software Engineering, pp. 402~411, 2005

مقدمه:

 مهمترین کاربرد سیستمهای بلادرنگ در رابطه با عملیات کنترل پردازش است . خاصیت مهم سیستم عاملهای بلادرنگ این است که هر فعل و انفعال با کامپیوتر بایستی یک پاسخ در مدت زمانی که از قبل تعیین شده است دریافت دارد . سیستم بایستی بتواند این زمان پاسخ را گارانتی بکند (عواقب زمان پاسخ بد در رابطه با سیستمی که یک هواپیما و یا یک کارخانه شیمیایی را کنترل میکند را میتوان براحتی تصور کرد ) . مسئله زمان پاسخ  در عمل به این معناست که معمولاً نرم افزار بصورت خاص-منظور است و به کاربرد بخصوصی اختصاص یافته است . دستگاههای جنبی چنین سیستمهایی نیز به احتمال قوی دستگاههای بخصوصی هستند . مثلاً ممکن است که از وسایل حس کننده که با سیگنالهای آنالوگ عمل می کنند به جای ترمینالهای عادی استفاده شوند

  مشخصات سیستمهای عامل بلادرنگ:

سیستمهای عامل بلادرنگ را میتوان با داشتن ملزومات یگانه در پنج حوزه عمومی زیر مشخص نمود:

قطعی بودن

پاسخ دهی

کنترل کاربر

قابلیت اطمینان

نرمش با خطا

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

یک معیار مفید برای قابلیت عملکرد قطعی سیستم عامل، حداکثر تأخیر از زمان ورود یک وقفه دستگاه با اولویت بالا ، تا زمان شروع خدمت است . در سیستم های عامل غیر بلا درنگ ، این تأخیر ممکن است در محدوده دهها تا صدها میلی ثانیه باشد ، در حالیکه در یک سیستم عامل بلادرنگ ممکن است این تأخیر حد بالایی از محدوده چند میکرو ثانیه تا یک میلی ثانیه داشته باشد .

 یک مشخصه مربوط ولی مجزا ، پاسخ دهی است. قطعی بودن درباره این است که سیستم عامل پس از تصدیق ، چه مدت صرف خدمت دادن به وقفه می نماید . موارد پاسخ دهی عبارتند از :

۱٫      مقدار زمان لازم برای اداره اولیه وقفه و شروع به اجرای روال خدماتی وقفه . اگر برای اجرای روال خدماتی وقفه نیاز به تغییر متن باشد ، تأخیر بیش از حالتی است که می توانست روال خدماتی وقفه در متن فرایند جاری اجرا گردد .

۲٫           مقدار زمان لازم برای اجرای روال خدماتی وقفه. معمولاً این زمان بستگی به سخت افزار دارد.

۳٫      تأثیر تو در تو بودن وقفه ها . اگر یک روال خدماتی وقفه با ورود وقفه دیگری دچار وقفه شود، خدمت مربوط به آن دچار تأخیر میگردد.

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

عموماً کنترل کاربر در یک سیستم بلادرنگ بسیار وسیع تر از کنترل کاربر در سیستم عامل عادی است .

در سیستم عامل عادی، کاربر یا هیچ گونه کنترلی بر عمل زمانبندی ندارد یا فقط می تواند رهنمونهای کلی ارائه کند. مثلاً کاربران را از نظر اولویت طبقه بندی نماید . ولی در یک سیستم بلادرنگ لازم است به کاربر اجازه کنترل دقیق اولویت وظیفه داده شود. کاربر باید بتواند میان وظیفه های سخت و نرم تفاوت قائل شود و اولویتهای نسبی در هر طبقه را تعیین نماید . همچنین یک سیستم بلادرنگ به کاربر اجازه می دهد تا مشخصاتی مثل استفاده از صفحه بندی یا مبادله فرا یند ، کدام فرایندها باید در حافظه اصلی مقیم باشند ، کدام الگوریتم های انتقال از دیسک به کار گرفته شوند و اینکه فرایندهای در اولویتهای متفاوت چه حقوقی داشته باشند را تعیین نماید .

 قابلیت اطمینان :

قابلیت اطمینان نوعاً در سیستم های بلادرنگ بسیار مهمتر از سیستم های عادی است .

یک خرابی گذرا در سیستم غیر بلادرنگ ممکن است تا تعمیر یا تعویض آن ، منجر به سطح خدمت دهی پایین تر گردد . ولی در سیستم بلادرنگی که در حال پاسخ دهی و کنترل رخدادها در زمان حقیقی است ، از دست رفتن یا کاهش کارآمدی یک پردازنده می تواند عواقب فاجعه آمیزی (از ضرر مادی گرفته تا آسیب دیدگی کلی دستگاهها یا حتی ازدست رفتن جانها  )داشته باشد.

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

نرمش با خطا:

 به مشخصه ای اشاره دارد که با خرابی سیستم ، تا حد ممکن قابلیتها و داده های آن حفظ شود . مثلاً یک سیستم سنتی UNIX ، وقتی خراب شدن داده ها در هسته سیستم عامل را تشخیص دهد ، یک پیام شکست بر روی میز فرمان متصدی ارائه کرده ، محتویات حافظه را برای تجزیه و تحلیل بعدی شکست ، بر روی دیسک تخلیه می کند و به اجرای سیستم پایان می دهد .

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

 یکی از موارد مهم نرمش با خطا به عنوان پایداری شناخته می شود. یک سیستم بلادرنگ پایدار در مواردی که ارضای تمام مهلتهای زمانی وظیفه غیر ممکن باشد ، مهلتهای زمانی وظیفه های بسیار حساس و اولویت بالاتر را (حتی با عدم رعایت مهلتهای زمانی وظیفه های با حساسیت کمتر  ) برآورده می کند.

برای برآوردن نیازهای ذکر شده ، سیستمهای بلادرنگ امروزی نوعاً شامل خصوصیات زیر هستند :

تعویض سریع فرایند یا نخ

اندازه کوچک

قابلیت پاسخ سریع به وقفه های خارجی

عملکرد چند وظیفه ای با ابزارهای ارتباط بین فرایندها ،از قبیل راهنماها ، علائم و رخدادها

استفاده از پرونده های ترتیبی خاصکه می توانند داده ها را با نرخ سریعی انباشته کنند.

زمانبندی یا قبضه کردن بر اساس اولویت

حداقل سازی فواصل زمانی که طی آن وقفه ها غیر فعال می شوند.

اولیه هایی جهت تأخیر انداختن وظیفه ها برای یک مدت ثابت و برای توقف یا از سرگیری وظیفه ها

هشدارها و علائم پایان مهلت زمانی خاص

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

اغلب سیستمهای عامل بلادرنگ امروزی قادر نیستند مستقیماً با مهلتهای زمانی مقابله کنند. در عوض، به گو نه ای طراحی شده اندکه تا حد امکان به وظیفه های بلادرنگ پاسخگو باشند. به طوری که وقتی یک مهلت زمانی نزدیک می شود ، یک وظیفه به سرعت زمانبندی گردد. از این دیدگاه ،کاربردهای بلادرنگ، نوعاً نیاز به زمانهای پاسخ قطعی (در محدوده چندین میلی ثانیه تا زیر میلی ثانیه ) تحت شرایط بسیار متفاوت دارند. کاربردهای سریعتر(مثلاًدر شبیه ساز هواپیمای نظامی) محدودیتهایی در حدود۱۰ تا۱۰۰ میکرو ثانیه دارند.

شکل۱-۱ طیفی از موارد ممکن را نشان می دهد. در یک زمانبند با قبضه کردن که زمانبندی ساده نوبت گردشی را به کار می گیرد ، یک وظیفه بلادرنگ به صف آماده افزوده می شودتا برهه زمانی بعدی را بدست آورد(شکل ۱-۱ الف) . در این مورد معمولاً مدت زمانبندی برای کاربردهای بلادرنگ قابل قبول نیست . به طور جایگزین، در یک زمانبند بدون قبضه کردن ، می توانیم از یک راهکار زمانبندی اولویت دار استفاده کنیم و به وظیفه های بلادرنگ اولویت بالاتری دهیم. وظیفه بلادرنگی که آماده باشد، به محض اینکه فرایند جاری مسدود گردد یا به پایان برسد ،زمانبندی خواهد شد(شکل۱-۱ ب) . اگر یک وظیفه کند و با اولویت پایین در بخش بحرانی خود در حال اجرا باشد،این عمل می تواند به تأخیر چندین ثانیه ای منجر گردد. پس این رویداد هم نمی توندقابل قبول باشد. یک رویکرد امید بخش تر ترکیب اولویتها و وقفه های بر پایه ساعت است.قبضه کردنها در فواصل منظم رخ می دهند،وقتی یک نقطه قبضه کردن می رسد ، اگر وظیفه با اولویت تری در انتظار باشدوظیفه جاری قبضه می گردد، حتی اگر شامل وظیفه هایی باشد که بخشی از هسته سیستم عامل هستند. چنین تأخیری می تواند در حد چندین میلی ثانیه باشد(شکل۱-۱ ج). اگرچه رویکرد آخر می تواند برای برخی از کاربردهای بلادرنگ کافی باشد، ولی برای کاربردهایی که انتظارات بیشتری دارند کافی نخواهد بود و در این موارد رویکرد انتخاب شده گاهی به نام قبضه کردن فوری خوانده می شود.

در این رویکرد، سیستم عامل تقریباً بلافاصله به وقفه پاسخ می دهد، مگر اینکه سیستم در بخش قفل شده بحرانی قرار داشته باشد. به این ترتیب تأخیر زمانی برای یک وظیفه بلادرنگ می تواند به ۱۰۰ میکروثانیه یا کمتر کاهش یابد.

 زمانبندی بلادرنگ:

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

در بررسی الگوریتم های زمانبندی بلادرنگ ، مشاهده می شود که رویکردهای متفاوت زمانبندی به موارد زیر بستگی دارد:

 ۱٫      آیا سیستم قابلیت زمانبندی را تحلیل می کند؟

۲٫      اگر انجام می دهد ،این تحلیل را بطور ایستا انجام می دهد یا پویا ؟

۳٫   آیا نتیجه تجزیه وتحلیل ،خود موجب یک زمانبندی یا طرحی برای توزیع وظیفه ها در زمان اجرا می گردد ؟ بر اساس این ملاحظات ، طبقه های الگوریتمی زیر را مشخص کرده است :

رویکردهای ایستای مبتنی بر جدول:

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

رویکردهای ایستای مبتنی بر اولویت و با قبضه کردن:

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

رویکردهای پویا بر اساس برنامه ریزی :

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

 رویکردهای پویا با بهترین کوشش:

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

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

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

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

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

زمانبندی مهلت زمانی

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

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

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

 زمان آمادگی:

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

مهلت زمانی شروع:

75,000 ریال – خرید

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

مطالب پیشنهادی: برای ثبت نظر خود کلیک کنید ...

به راهنمایی نیاز دارید؟ کلیک کنید

جستجو پیشرفته

پیوندها

دسته‌ها

آخرین بروز رسانی

    دوشنبه, ۱۰ اردیبهشت , ۱۴۰۳
اولین پایگاه اینترنتی اشتراک و فروش فایلهای دیجیتال ایران
wpdesign Group طراحی و پشتیبانی سایت توسط digitaliran.ir صورت گرفته است
تمامی حقوق برایbankmaghaleh.irمحفوظ می باشد.