دانلود پروژه سيستم عاملهای بلادرنگ با فرمت ورد ودر 78 صفحه قابل ویرایش
قسمتی ازمتن پروژه
فهرست مطالب:
· فصل اول : زمانبندی بلادرنگ7
مقدمه8
مشخصات سيستم های بلادرنگ9
زمانبندی بلادرنگ14
رويکردهای ايستای مبتنی بر جدول16
رويکردهای ايستای مبتنی بر اولويت و با قبضه کردن16
رويکردهای پويا بر اساس برنامه ريزی16
رويکردهای پويا با بهترين کوشش17
زمانبندی ايستا مبتنی بر جدول18
زمانبندی ايستای مبتنی بر اولويت و با قبضه کردن18
زمانبند مهلت زمانی18
زمانبندی Linux 26
زمانبندی Unix SVR428
· فصل دوم : الگوريتم های برنامه ريزی و حمايت سيستم های اجرايي برای سيستم های بلادرنگ31
خلاصه32
برنامه ريزی بلادرنگ35
متريک های اجرا در سيستم های بلادرنگ36
الگوهای برنامه ريزی38
الگوريتمهای برنامه ريزی برای اين الگوها40
برنامه ريزی ثابت Table –Driven 41
برنامه ريزی priority driven preemptive 42
برنامه ريزی ديناميک 43
برنامه ريزی Best –Effort ديناميک44
موضوعات برنامه ريزی مهم45
برنامه ريزی با محدوديتهای توان خطا45
برنامه ريزی با احيای منابع46
سيستم اجرايي بلادرنگ 46
هسته های کوچک ، سريع و اختصاصی47
توسعه های زمان واقعی برای سيستم های اجرای بازرگانی48
سيستم های اجرای تحقيق50
هسته MARS51
هسته SPRING52
هستهMARUTI 52
هسته ARTS 52
· فصل سوم : بررسی ارتباط ميان اجزای يک سيستم جامع بلادرنگ 55
خلاصه56
شرح رابط ميان RTOS و برنامه کاربردی58
شرح عملگرهای بهبوديافته63
تشريح مطالعات تجربی69
فصل چهارم : منابع73
فهرست جدول ها و شکلها :
شکل 1 – 1 : زمانبندی يک فرايند بلادرنگ15
شکل 1 – 2 : زمانبندی وظيفه های بلادرنگ متناوب با مهلتهای زمانی کامل شدن22
شکل 1 – 3 : زمانبندی وظيفه های بلادرنگ نامتناوب با مهلتهای زمانی در شروع24
شکل 1 – 4 : مثالی از زمانبندی Linux28
شکل 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 ، وقتی خراب شدن داده ها در هسته سيستم عامل را تشخيص دهد ، يک پيام شکست بر روی ميز فرمان متصدی ارائه کرده ، محتويات حافظه را برای تجزيه و تحليل بعدی شکست ، بر روی ديسک تخليه می کند و به اجرای سيستم پايان می دهد .
در مقابل، يک سيستم بلادرنگ سعی بر اين دارد که يا اشکال را تصحيح کنديا در حاليکه به اجرا ادامه می دهد تأثيرات اشکال را حداقل سازد . نوعاً ، سيستم به کاربر يا فرايند کاربر اطلاع می دهد که بايد عمل اشکال زدايي را آغاز کند و سپس به عمليات خود (احتمالاًدر سطح پايين تری از خدمت دهی ) ادامه می دهد. در صورتی که خاموش کردن سيستم لازمباشد ، برای حفظ سازگاری پرونده و داده ها نيز تلاش خواهد شد.