فرمت:word(قابل ویرایش)
تعداد صفحات:78
پایان نامه کارشناسی کامپیوتر
فهرست مطالب:
فصل اول : زمانبندی بلادرنگ………………………………………………………….7
مقدمه……………………………………………………………………………………………………..8
مشخصات سیستم های بلادرنگ…………………………………………………………………….9
زمانبندی بلادرنگ……………………………………………………………………………………14
رویکردهای ایستای مبتنی بر جدول……………………………………………………………..16
رویکردهای ایستای مبتنی بر اولویت و با قبضه کردن………………………………………16
رویکردهای پویا بر اساس برنامه ریزی………………………………………………………….16
رویکردهای پویا با بهترین کوشش……………………………………………………………….17
زمانبندی ایستا مبتنی بر جدول…………………………………………………………………..18
زمانبندی ایستای مبتنی بر اولویت و با قبضه کردن…………………………………………18
زمانبند مهلت زمانی…………………………………………………………………………………18
زمانبندی Linux …………………………………………………………………………………26
زمانبندی Unix SVR4………………………………………………………………………….28
· فصل دوم : الگوریتم های برنامه ریزی و حمایت سیستم های اجرایی برای سیستم های بلادرنگ……………………………………………………………………31
خلاصه………………………………………………………………………………………………..32
برنامه ریزی بلادرنگ……………………………………………………………………………..35
متریک های اجرا در سیستم های بلادرنگ………………………………………………….36
الگوهای برنامه ریزی……………………………………………………………………………..38
الگوریتمهای برنامه ریزی برای این الگوها……………………………………………..40
برنامه ریزی ثابت Table –Driven ………………………………………………….41
برنامه ریزی priority driven preemptive …………………………………..42
برنامه ریزی دینامیک …………………………………………………………………………43
برنامه ریزی Best –Effort دینامیک………………………………………………….44
موضوعات برنامه ریزی مهم………………………………………………………………….45
برنامه ریزی با محدودیتهای توان خطا……………………………………………………45
برنامه ریزی با احیای منابع…………………………………………………………………..46
سیستم اجرایی بلادرنگ ……………………………………………………………………..46
هسته های کوچک ، سریع و اختصاصی……………………………………………………47
توسعه های زمان واقعی برای سیستم های اجرای بازرگانی…………………………..48
سیستم های اجرای تحقیق……………………………………………………………………..50
هسته MARS……………………………………………………………………………………..51
هسته SPRING………………………………………………………………………………….52
هستهMARUTI ………………………………………………………………………………….52
هسته ARTS ……………………………………………………………………………………..52
· فصل سوم : بررسی ارتباط میان اجزای یک سیستم جامع بلادرنگ………… 55
خلاصه…………………………………………………………………………………………………..56
شرح رابط میان RTOS و برنامه کاربردی……………………………………………………58
شرح عملگرهای بهبودیافته…………………………………………………………………………63
تشریح مطالعات تجربی………………………………………………………………………………69
فصل چهارم : منابع…………………………………………………………………….73
فهرست جدول ها و شکلها :
شکل 1 – 1 : زمانبندی یک فرایند بلادرنگ…………………………………………………15
شکل 1 – 2 : زمانبندی وظیفه های بلادرنگ متناوب با مهلتهای زمانی کامل شدن……………………………………………………………………………………………………..22
شکل 1 – 3 : زمانبندی وظیفه های بلادرنگ نامتناوب با مهلتهای زمانی در شروع……………………………………………………………………………………………………24
شکل 1 – 4 : مثالی از زمانبندی Linux…………………………………………………….28
شکل 1 – 5: طبقه های اولویت در SVR4 ………………………………………………30
جدول 1 -1 : اطلاعات اجرای دو وظیفه متناوب……………………………………….22
جدول1 – 2: اطلاعات اجرای پنج وظیفه نامتناوب…………………………………….25
شکل 3 – 1: معماری سیستم جامع……………………………………………………………..58
شکل 3 – 2 : پروتکل ارتباط RS- 232C …………………………………………………60
شکل 3 – 3: خطای checksum ……………………………………………………………..62
شکل 3 – 4 : زمان تزریق خطا………………………………………………………………….64
شکل 3 – 5 : عملگرهای جهش یافته…………………………………………………………67
شکل 3 – 6 : مثالی از CRM …………………………………………………………………..68
شکل 3 – 7 : مثالی از CRH …………………………………………………………………….68
جدول 3 – 1: رابط میان RTOS و برنامه………………………………………………..61
جدول 3 – 2 : محل تزریق خطا………………………………………………………………65
جدول 3 – 3 : RTOS و برنامه های کاربردی ……………………………………….70
جدول 3 – 4 : تعداد رابطهای بین RTOS و برنامه………………………………….71
مقدمه:
مهمترین کاربرد سیستمهای بلادرنگ در رابطه با عملیات کنترل پردازش است . خاصیت مهم سیستم عاملهای بلادرنگ این است که هر فعل و انفعال با کامپیوتر بایستی یک پاسخ در مدت زمانی که از قبل تعیین شده است دریافت دارد . سیستم بایستی بتواند این زمان پاسخ را گارانتی بکند (عواقب زمان پاسخ بد در رابطه با سیستمی که یک هواپیما و یا یک کارخانه شیمیایی را کنترل میکند را میتوان براحتی تصور کرد ) . مسئله زمان پاسخ در عمل به این معناست که معمولاً نرم افزار بصورت خاص-منظور است و به کاربرد بخصوصی اختصاص یافته است . دستگاههای جنبی چنین سیستمهایی نیز به احتمال قوی دستگاههای بخصوصی هستند . مثلاً ممکن است که از وسایل حس کننده که با سیگنالهای آنالوگ عمل می کنند به جای ترمینالهای عادی استفاده شوند
مشخصات سیستمهای عامل بلادرنگ:
سیستمهای عامل بلادرنگ را میتوان با داشتن ملزومات یگانه در پنج حوزه عمومی زیر مشخص نمود:
· قطعی بودن
· پاسخ دهی
· کنترل کاربر
· قابلیت اطمینان
· نرمش با خطا
سیستم عاملی قطعی است که عملیات خود را در زمانهای ثابت یا فواصل زمانی از پیش تعیین شده ، انجام دهد. وقتی چند فرایند در رقابت برای منابع و زمان پردازنده هستند ، هیچ سیستمی نمی تواند قطعی باشد. در یک سیستم عامل بلادرنگ ، درخواستهای فرایند برای خدمت توسط رخدادها و زمانبندی های خارجی اعمال می شود. میزان پاسخگویی سیستم عامل به درخواستها ، اولاً به سرعتی که می تواند به وقفه ها پاسخ دهد و ثانیاً به اینکه آیا سیستم ظرفیت کافی برای اداره تمام درخواستها ، در زمان معلوم دارد یا خیر، وابسته است .
یک معیار مفید برای قابلیت عملکرد قطعی سیستم عامل، حداکثر تأخیر از زمان ورود یک وقفه دستگاه با اولویت بالا ، تا زمان شروع خدمت است . در سیستم های عامل غیر بلا درنگ ، این تأخیر ممکن است در محدوده دهها تا صدها میلی ثانیه باشد ، در حالیکه در یک سیستم عامل بلادرنگ ممکن است این تأخیر حد بالایی از محدوده چند میکرو ثانیه تا یک میلی ثانیه داشته باشد .
یک مشخصه مربوط ولی مجزا ، پاسخ دهی است. قطعی بودن درباره این است که سیستم عامل پس از تصدیق ، چه مدت صرف خدمت دادن به وقفه می نماید . موارد پاسخ دهی عبارتند از :
1. مقدار زمان لازم برای اداره اولیه وقفه و شروع به اجرای روال خدماتی وقفه . اگر برای اجرای روال خدماتی وقفه نیاز به تغییر متن باشد ، تأخیر بیش از حالتی است که می توانست روال خدماتی وقفه در متن فرایند جاری اجرا گردد .
2. مقدار زمان لازم برای اجرای روال خدماتی وقفه. معمولاً این زمان بستگی به سخت افزار دارد.
3. تأثیر تو در تو بودن وقفه ها . اگر یک روال خدماتی وقفه با ورود وقفه دیگری دچار وقفه شود، خدمت مربوط به آن دچار تأخیر میگردد.
قطعی بودن و پاسخ دهی به همراه هم ، زمان پاسخ به رخدادهای خارجی را تعیین می کنند. ویژگی زمان پاسخ در سیستم های بلادرنگ بسیار حساس است ، زیرا چنین سیستم هایی باید نیازهای زمانی اعمال شده توسط افراد ، دستگاهها و جریان داده ها در خارج از سیستم را رعایت کنند.
عموماً کنترل کاربر در یک سیستم بلادرنگ بسیار وسیع تر از کنترل کاربر در سیستم عامل عادی است .
در سیستم عامل عادی، کاربر یا هیچ گونه کنترلی بر عمل زمانبندی ندارد یا فقط می تواند رهنمونهای کلی ارائه کند. مثلاً کاربران را از نظر اولویت طبقه بندی نماید . ولی در یک سیستم بلادرنگ لازم است به کاربر اجازه کنترل دقیق اولویت وظیفه داده شود. کاربر باید بتواند میان وظیفه های سخت و نرم تفاوت قائل شود و اولویتهای نسبی در هر طبقه را تعیین نماید . همچنین یک سیستم بلادرنگ به کاربر اجازه می دهد تا مشخصاتی مثل استفاده از صفحه بندی یا مبادله فرا یند ، کدام فرایندها باید در حافظه اصلی مقیم باشند ، کدام الگوریتم های انتقال از دیسک به کار گرفته شوند و اینکه فرایندهای در اولویتهای متفاوت چه حقوقی داشته باشند را تعیین نماید .
قابلیت اطمینان :
قابلیت اطمینان نوعاً در سیستم های بلادرنگ بسیار مهمتر از سیستم های عادی است .
یک خرابی گذرا در سیستم غیر بلادرنگ ممکن است تا تعمیر یا تعویض آن ، منجر به سطح خدمت دهی پایین تر گردد . ولی در سیستم بلادرنگی که در حال پاسخ دهی و کنترل رخدادها در زمان حقیقی است ، از دست رفتن یا کاهش کارآمدی یک پردازنده می تواند عواقب فاجعه آمیزی (از ضرر مادی گرفته تا آسیب دیدگی کلی دستگاهها یا حتی ازدست رفتن جانها )داشته باشد.
همانگونه که در سایر موارد نیز دیده می شود . تفاوت سیستم عامل بلادرنگ و غیر بلادرنگ در یک درجه است . حتی یک سیستم بلادرنگ نیز باید به گونه ای طراحی شود که به حالات مختلف خرابی ، پاسخ دهد.
نرمش با خطا:
به مشخصه ای اشاره دارد که با خرابی سیستم ، تا حد ممکن قابلیتها و داده های آن حفظ شود . مثلاً یک سیستم سنتی UNIX ، وقتی خراب شدن داده ها در هسته سیستم عامل را تشخیص دهد ، یک پیام شکست بر روی میز فرمان متصدی ارائه کرده ، محتویات حافظه را برای تجزیه و تحلیل بعدی شکست ، بر روی دیسک تخلیه می کند و به اجرای سیستم پایان می دهد .
در مقابل، یک سیستم بلادرنگ سعی بر این دارد که یا اشکال را تصحیح کندیا در حالیکه به اجرا ادامه می دهد تأثیرات اشکال را حداقل سازد . نوعاً ، سیستم به کاربر یا فرایند کاربر اطلاع می دهد که باید عمل اشکال زدایی را آغاز کند و سپس به عملیات خود (احتمالاًدر سطح پایین تری از خدمت دهی ) ادامه می دهد. در صورتی که خاموش کردن سیستم لازم باشد ، برای حفظ سازگاری پرونده و داده ها نیز تلاش خواهد شد.