47
گ ن ر د ی ب ی ا ه ل م ا ع م ت س ی س ی ف ر ع م و ی س ر ر ب" ن م ی ا- ی ب ا ر ح ب ی ا ه د ر ب ر ا ک ی ا ر ب ی ب ا ض م ار رض ما: ن هد را ا ت س ا ت ق ر ضدا س ا ری کت دReal-Time Operating Systems for Safety-Critical Applications ر ت> ی اA ی1391 اتَ جَ رَ مد لِ ع ل وا تُ اوَ " ن ی الدَ موُ ک تِ م اُ و نَ مV اَ " ن ی الدَ له ل اُ ع ف رَ ب ر ب دA ی ا ک ت ا ه د_ س ع ی ر و ت ه ت ف ه ن ی ا ه م ت س ی س ه و ر

Real time operating systems for safety-critical applications

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Real time operating systems for safety-critical applications

‌بررسی‌و‌معرفی‌سیستم‌عامل‌های‌بی‌درنگبرای‌کاربردهای‌بحرانی-ایمن

دکتر‌یاسر‌صداقتاستاد‌راهنما:‌رضا‌رمضانی

Real-Time Operating Systemsfor Safety-Critical Applications

1391پاییز‌

ج,ات ‌او3توالع/لم‌د,ر, ‌الذین, نک3م‌و, ا‌م/ نو3 ‌آم, ‌الله,‌الذین, ی,رفع3

گروه‌سیستم‌های‌نهفته‌توزیع‌شده‌اتکاپذیر

Page 2: Real time operating systems for safety-critical applications

مقدمه‌ای‌بر‌سیستم‌های‌بی‌درنگ‌و‌بحرانی-ایمن

ویژگی‌های‌سیستم‌عامل‌های‌بی‌درنگ

ویژگی‌ها‌و‌استانداردهای‌سیستم‌عامل‌های‌بحرانی-ایمن

معرفی‌برخی‌سیستم‌عامل‌های‌تحمل‌پذیر‌خطا

2

Page 3: Real time operating systems for safety-critical applications

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

سیستم‌بی‌درنگ•یک‌سیسCتم‌بی‌درنCگ،‌سیسCتمی‌کCامپیوتری‌اسCت‌کCه‌صCحت‌رفتCار‌سیسCتم‌–

زمCان‌و‌لحظCه‌نCه‌تنهCا‌وابسCته‌بCه‌نتCایج‌منطقی‌محاسCبات‌اسCت،‌بلکCه‌بCه‌‌که‌این‌نتایج‌تولید‌می‌شوند‌وابسته‌است.فیزیکی

‌اجرا‌گردند.به‌موقعدر‌یک‌سیستم‌بی‌درنگ،‌تمام‌وظایف‌بایستی‌–آوری‌– فCCراهم‌ در‌ سیسCCتم‌عامل‌ توانCCایی‌ سیسCCتم‌عامل:‌ در‌ بی‌درنگی‌

.زمان‌پاسخ‌کران‌دارسرویس‌های‌مورد‌نیاز‌در‌یک‌صحت‌عملکرد‌سیستم:‌صحت‌عملکرد‌منطقی‌+‌رعایت‌قیود‌زمانی–

سیستم‌بحرانی-ایمن•می‌دهCد‌– تضCمین‌ کCه‌ اسCت‌ از‌سیسCتم‌ ایمCنی‌مشخصCه‌ای‌ ایمCنی:‌ تعریCف‌

زندگی‌انسانی/محیطی/سازمانی‌به‌خطر‌نیفتد!سیسCتم‌بحCرانی-ایمن:‌سیسCتمی‌کCه‌بCا‌هCدف‌رسCیدن‌بCه‌مCرحله‌ای‌از‌ایمCنی‌–

یکپارچCه‌بCا‌کمCک‌پیاده‌سCازی‌سCرویس‌های‌مCورد‌نیCاز‌ایمCنی‌طCراحی‌شCده‌است.

نیازمند‌اتکاپذیری‌و‌تنومندی‌در‌مقابل‌سه‌عامل:‌اشکال،‌خطا‌و‌خرابی–اطمینCان‌– قCابلیت‌ ‌+ منطقی‌ عملکCرد‌ صCحت‌ سیسCتم:‌ عملکCرد‌ صحت‌

)تحمل‌پذیر‌در‌مقابل‌اشکال(

3‌

Page 4: Real time operating systems for safety-critical applications

سیستم‌های‌بحرانی‌ایمن‌در‌مقابل‌سیستم‌های‌بی‌درنگ‌(2)

شباهت•تخطی‌و‌انحCراف‌هCر‌نCوع‌سیسCتم/سیسCتم‌عامل‌از‌وظCایف‌محولCه،‌بCاعث‌–

خرابی‌هایی‌احتماال‌جبران‌ناپذیر‌می‌شود.سخت‌بودن‌تفکیک‌کردن‌دقیق‌این‌دو‌نوع‌سیستم‌عامل–

تفاوت•و‌– نCدارد‌ وجCود‌ زمCانی‌ قیCد‌ همیشCه‌ بحCرانی-ایمن،‌ عامل‌هCای‌ سیسCتم‌ در‌

تمرکز‌روی‌تحمل‌پذیری‌اشکال‌است.در‌سیسCتم‌عامل‌هCای‌بی‌درنCگ،‌همیشCه‌قیCد‌تحمل‌پCذیری‌خطCا‌وجCود‌نCدارد‌و‌–

تمرکز‌روی‌زمانبندی‌دقیق‌است.سیستم‌های‌بی‌درنگ‌کلی‌هستند.–سیستم‌های‌بحرانی-ایمن‌وابسته‌به‌دامنه‌هستند.–

ارسال پیام توسط موشک•قابلیت خود تعمیری سیستم عامل موجود در ماهواره ها•

4‌

Page 5: Real time operating systems for safety-critical applications

سیستم‌های‌بی‌درنگ‌سخت‌و‌نرم

بی‌درنگ‌سخت•عدم‌انجام‌کار‌در‌زمان‌تعیین‌شده،‌به‌هیچ‌عنوان‌قابل‌قبول‌نیست.–پردازش‌هCا‌حCق‌ندارنCد‌حCتی‌بCه‌مCیزان‌بسCیار‌کم،‌دیرتCر‌از‌زمCان‌تعCیین‌شCده‌–

اجرا‌گردند.•Firm-RT پ%ذیرش قاب%ل کم، بس%یار م%یزان ب%ه ه%ا ب%رخی ض%رب االجل رع%ایت : ع%دم

است.عدم‌رعایت‌موارد‌فوق‌موجب‌بروز‌خرابی‌می‌گردد.–

بی‌درنگ‌نرم•عدم‌انجام‌کار‌در‌زمان‌تعیین‌شده،‌قابل‌قبول‌نیست.–پردازش‌ها‌می‌توانند‌دیرتر‌از‌زمان‌تعیین‌شده‌اجرا‌گردند.–عدم‌رعCایت‌مCوارد‌فCوق‌مCوجب‌بCروز‌خCرابی‌نمی‌گCردد؛‌ولی‌تCا‌حCدی‌کیفیت‌–

کار‌را‌پایین‌می‌آورد.نام‌دیگر‌بی‌درنگ‌نرم،‌بهترین‌تالش‌است.–بCرای‌– پایCه‌ یCک‌ بCه‌عنCوان‌ امCروزی‌می‌تواننCد‌ از‌سیسCتم‌عامل‌های‌ بسCیاری‌

سیستم‌های‌بی‌درنگ‌نرم‌استفاده‌شوند.مثال–

• Multimedia transmission and reception• Networking, telecom (cellular) networks• Web sites and services• Computer games

5‌

Page 6: Real time operating systems for safety-critical applications

‌بحرانی-ایمن‌و‌بی‌درنگسیستم‌هایتقسیم‌بندی‌

6‌

بحرانی-ایمنبی درنگ سخت

بی درنگ نرم

Page 7: Real time operating systems for safety-critical applications

بحرانی-ایمن‌و‌بی‌درنگسیستم‌عامل‌های‌تقسیم‌بندی‌

7‌

بحرانی-ایمن

بی درنگ نرم

بی درنگ سخت

Page 8: Real time operating systems for safety-critical applications

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

سرویس‌هایی‌که‌یک‌سیستم‌عامل‌بی‌درنگ‌بایستی‌فراهم‌کند:•زمانبندی–تعریف‌و‌فعال‌سازی‌پردازش‌ها–مدیریت‌خطای‌برنامه‌ها–مدیریت‌ورودی/خروجی–مدیریت‌حافظه–چند‌نخی–(Ringارتباطات‌و‌همزمانی‌پیچیده‌)انتقال‌پیام‌با‌تاخیر‌ثابت‌:‌–تخصیص‌منابع–مدیریت‌وقفه‌)وقفه‌های‌محدود‌شده‌در‌زمان(–اندازه‌کوچک‌هسته‌برای‌سیستم‌های‌نهفته–حذف‌برخی‌پیچیدگی‌ها‌)حافظه‌مجازی،‌محافظت(–GCحافظه‌هیپ‌و‌–

8‌

Page 9: Real time operating systems for safety-critical applications

سیستم‌های‌بحرانی-ایمن

استانداردها•سیستم‌عامل‌های‌بحرانی‌ایمن‌وابسته‌به‌دامنه‌هستند.–آیCا‌سیسCتم‌عامل‌طCراحی‌شCده‌بCرای‌دامنCه‌ای‌خCاص،‌نیازمنCدی‌های‌آن‌دامنCه‌–

را‌برطرف‌می‌کند؟توجه‌به‌استانداردهایی‌که‌برای‌آن‌دامنه‌در‌نظر‌گرفته‌شده‌اند.–اکثر‌استانداردها‌بر‌تمام‌مراحل‌توسعه‌سیستم‌نظارت‌دارند.–

مثال•

9‌

Page 10: Real time operating systems for safety-critical applications

(2سیستم‌های‌بحرانی-ایمن‌)

استاندارد‌ها•–DO-178B

بررسی ایمنی سیستم های نرم افزاری هواپیمایی•–MIL-STD (Military Standars)

مهندسی سیستم های نظامی•–EN 50128

سیستم های سیگنال، پردازشی و ارتباطی راه آهن•–IEC 61508

استاندارد ایمنی پایه ای که در هر نوع صنعتی کاربرد دارد.•–IEC 26262

برای سیستم های الکترونیکی خودروIEC 61508استانداردی بر پایه •–IEC 62061

ایمنی ماشین: مرتبط با سیستم های کنترل الکترونیکی قابل برنامه ریزی•–IEC 62443 /IEC 15408/ IEC 17799

استانداردهای امنیتی•–ARINC 653

مشخصه سازی نرم افزاری برای پارتیشن سازی زمان/فضا در سیستم عامل•

10‌

Page 11: Real time operating systems for safety-critical applications

DO-178B

DO-178Bاستاندارد‌•مالحظات‌نرم‌افزاری‌در‌تجهیزات‌و‌سیستم‌های‌هواپیمایی–معیاری‌جهت‌تعیین‌قابلیت‌اطمینان‌نرم‌افزار‌در‌محیط‌هوابرد–در‌– بحCرانی‌ افزارهCای‌ نCرم‌ توسCعه‌ منظCور‌ بCه‌ اعمCال‌ بهCترین‌ راهنمCای‌

سیستم‌های‌هوابرداین‌راهنمCایی‌هCا،‌فرآینCد‌توسCعه‌نCرم‌افCزار‌را‌تحت‌تCاثیر‌قCرار‌می‌دهCد‌تCا‌–

خروجی‌نرم‌افزاری‌قابل‌اطمینان‌باشد.‌را‌بCه‌DO-178BسیسCتم‌های‌هواپیمCایی‌بایسCتی‌بCاالترین‌سCطح‌گواهینامCه‌–

انجام‌برسانند.

‌به‌شش‌دسته‌کلی‌تقسیم‌می‌شود:DO-178Bفرآیند‌•– Software Planning Processes– Software Development Processes– Software Verification Processes– Software Configuration Management Processes– Software Quality Assurance Processes– Certification Liaison Processes

هر‌دسته‌خروجی‌های‌از‌پیش‌تعیین‌شده‌ای‌دارد.•11‌

Page 12: Real time operating systems for safety-critical applications

DO-178Bسطوح‌گواهینامه‌

12‌

Page 13: Real time operating systems for safety-critical applications

DO-178Bسیستم‌عامل‌دارای‌گواهینامه‌

13‌

Page 14: Real time operating systems for safety-critical applications

سیستم‌عامل‌های‌بحرانی-ایمن

ویژگی‌های‌عمومی•(Capabilityماشین‌مبتنی‌بر‌قابلیت‌)–

تعیین توانایی های انجام کار یک پردازش•کنترل‌منابع–

عدم استفاده از مقادیر باقیمانده در منابع استفاده شده•(Decision Verificationدرستیابی‌تصمیم‌)–

تشخیص رخداد خطا•کشف‌خطا‌و‌بازیابی‌موثر–

انتقال سیستم به وضعیت سازگار•ایزوله‌سازی‌پردازش–

محصورسازی خطا•تحمل‌پذیری‌و‌دسترس‌پذیری‌باال–

ارائه خدمات در شرایط بحرانی•تضمین‌دسترس‌پذیری‌منابع:‌دامنه‌حافظه‌و‌زمان–

جلوگیری از تداخل منابع•زمانبندی–

تداخالت اولویت•14‌

Page 15: Real time operating systems for safety-critical applications

معماری‌قابلیت

قابلیت•تعیین‌دقیق‌عملیات‌قابل‌انجام‌توسط‌یک‌پردازش–داده،‌– عناصCر‌ بCه‌ دسترسCی‌ بCرای‌ واحCد‌ روشCی‌ و‌ متCد‌ قCابلیت،‌ معمCاری‌

روال‌ها‌و‌آدرس‌دهی‌اشیاء‌است.توابCع‌سیسCتم‌عامل‌می‌تواننCد‌بCه‌عنCوان‌ابC,ر‌عملیCات‌در‌نظCر‌گرفتCه‌شCوند‌کCه‌–

ساختمان‌داده‌ها‌و‌وضعیت‌سیستم‌را‌دستکاری‌می‌کنند.ابC,ر‌عملیCات‌را‌اجCرا‌کنCد‌کCه‌اجCازه‌– یک‌پCردازش‌تنهCا‌در‌صCورتی‌می‌توانCد‌

اجرای‌آن‌را‌در‌لیست‌قابلیت‌هایش‌داشته‌باشد.نهCایت‌قCدرت‌– بCه‌ تCوان‌ دادنCد‌کCه‌نمی‌ آقCای‌المپسCون‌و‌دوسCتان‌گCزارش‌

قابلیت‌رسید‌مگر‌اینکه‌پشتیبانی‌سخت‌افزاری‌موجود‌باشد.

15‌

Page 16: Real time operating systems for safety-critical applications

معماری‌سیستم‌عامل‌قابل‌اطمینان

محصورسازی‌خطا•هیچ‌روالی‌بیش‌از‌اندازه‌مورد‌نیاز‌قابلیت‌انجام‌کار‌ندارد.–هیچ‌روالی‌به‌یک‌دامنه‌بزرگ‌تر‌دسترسی‌ندارد.–روال‌اجازه‌ندارد‌روی‌داده‌های‌ناسازگار‌‌کار‌کند.–این‌ویژگی‌هCا،‌ریسCک‌اینکCه‌خطCا‌قبCل‌از‌کشCف‌شCدن‌بCه‌بقیCه‌مکان‌هCا‌آسCیب‌–

برساند‌را‌کاهش‌می‌دهد.

تشخیص‌و‌رده‌بندی•بررسی‌درست‌سنجی‌پویا‌روی‌اطالعات‌و‌نیز‌روی‌عملیات‌روال‌ها،–

( را ب%ا آش%کار ک%ردن ناس%ازگاری در داده ه%ا ی%ا تالش ب%رای رد Errorمی توان%د خطاه%ا )•کردن محدودیت های دسترسی شناسایی کند.

ایده‌آل‌این‌است‌که‌نوع‌خطا‌و‌محل‌اشکال،‌شناسایی‌شود.–سپس‌داده‌ها‌به‌یک‌وضعیت‌سازگار‌بازگردد.–الگوریتم‌بررسی‌صحت،‌مستقل‌از‌سیستمی‌باشد‌که‌چک‌می‌شود.–بررسCی‌صCحت‌کCارکرد‌بایCد‌بCر‌اسCاس‌مشخصCه‌های‌سیسCتم‌باشCد‌و‌نCه‌پیCاده‌–

سازی‌های‌سیستم.

16‌

Page 17: Real time operating systems for safety-critical applications

(2معماری‌سیستم‌عامل‌قابل‌اطمینان‌)

پیکربندی‌مجدد•هدف:‌قرار‌دادن‌سیستم‌در‌یک‌وضعیت‌سازگار‌است.‌–

اف%زاری/ن%رم • )س%خت س%رویس از ش%ده خ%راب واح%د ح%ذف ب%ا می توان%د ک%ار این افزاری(،

یا با ساخت مجدد کپی معتبر از داده ها•یا با پشتیبان گیری )بخشی( از سیستم در لحظه قبل عاری از خطا انجام گیرد.•

امCا‌از‌آسCیب‌بیشCتر‌جلوگCیری‌– ‌ندارنCد،‌ بCه‌تعمCیر‌آسCیب‌ نیCاز‌ این‌عملیCات‌می‌کند.

راه‌اندازی‌مجدد•بازگردانی‌سیستم‌مجدد‌پیکربندی‌شده‌به‌وضعیت‌سرویس‌رسانی–

17‌

Page 18: Real time operating systems for safety-critical applications

ایزوله‌سازی‌پردازش

محیط‌بسته•پردازش‌هیچ‌کCاری‌را‌نمی‌توانCد‌انجCام‌دهCد،‌مگCر‌اینکCه‌مجCوز‌آن‌کCار‌بCه‌وی‌–

عطا‌شده‌باشد.نیاز‌به‌لیستی‌از‌قابلیت‌ها–

محیط‌باز•پردازش‌هCر‌کCاری‌را‌می‌توانCد‌انجCام‌دهCد،‌مگCر‌اینکCه‌اجCازه‌آن‌کCار‌از‌وی‌–

سلب‌شده‌باشد.نیاز‌به‌لیستی‌از‌محدودیت‌ها–

مقایسه•در‌دیCد‌اول،‌این‌دو‌روش‌یکسCان‌انCد‌و‌یCک‌می‌توانCد‌دیگCری‌را‌شCبیه‌سCازی‌–

کندبCاز‌– امCا‌در‌عمCل،‌محیCط‌بسCته‌در‌مقابCل‌خطCا‌مقCاوم‌تCر‌اسCت‌و‌محیCط‌ ‌

بیشتر‌مستعد‌در‌خطاهای‌طراحی‌و‌بدکاری‌‌سخت‌افزار‌است.بدکاری سخت افزار نیز خراب شدن یک محدودیت یا یک قابلیت است.•

18‌

Page 19: Real time operating systems for safety-critical applications

مثال‌از‌لیست‌قابلیت

19‌

Page 20: Real time operating systems for safety-critical applications

مثال‌از‌لیست‌قابلیت‌)تحمل‌پذیری‌بیشتر(

20‌

Page 21: Real time operating systems for safety-critical applications

کنترل‌منابع

کنترل‌قابل‌اطمینان‌منابع•قابCل‌– منCابع‌ )ماننCد‌ بگCیرد‌ قCرار‌ اشCیاء‌ اختیCار‌ در‌ انحصCاری‌ بصCورت‌ منCابع‌

استفاده‌مجدد(.هر‌منبع‌دو‌وضعیت‌تخصیص‌داده‌شده‌‌و‌آزاد‌‌دارد.–

منبع تخصیص داده شده: در دسترس/ غیر قابل دسترس•یCک‌– کنCترل‌منCابع‌زمCانی‌بدسCت‌می‌آیCد‌کCه‌واحCد‌های‌ قابلیت‌اطمینCان‌در‌

منبع،‌از‌دیاگرام‌انتقال‌حالت‌به‌خوبی‌پیروی‌کنند.

21‌

قوانین‌تخصیص‌و‌آزادسازی‌منبع•قانون‌کلی‌که‌مربوط‌به‌لیست‌قابلیت‌است.–‌کCه‌تضCمین‌می‌دهCد‌کCه‌هیچ‌منبCع‌آزادی،‌اطالعCات‌از‌وضCعیت‌قبلی‌3انتقCال‌–

خود‌ندارد.الزم جهت ایزوله کردن کامل پردازش ها•

‌کCه‌تضCمین‌می‌دهCد‌کCه‌وقCتی‌منبعی‌بCه‌شCیئ‌بازگردانCده‌می‌شCود،‌1انتقCال‌–اطالعCات‌اسCتفاده‌قبلی‌آن‌منبCع‌)در‌صCورت‌وجCود(‌مجCددا‌در‌آن‌بارگCذاری‌

می‌گردد.

Page 22: Real time operating systems for safety-critical applications

درست‌سنجی‌تصمیم

درست‌سنجی‌تصمیم•اجرای‌برنامه‌را‌می‌توان‌توالی‌از‌تصمیم‌ها‌در‌نظر‌گرفت.–به‌دلیل‌خرابی‌ممکن‌است‌دستورات‌یا‌داده‌ها‌تغییر‌پیدا‌کنند.–درست‌سنجی‌تصمیم‌اشاره‌به‌کالسی‌از‌افزونگی‌ها‌روی‌تصمیم‌ها‌دارد.–

این چک ه%ا بررس%ی می کنن%د ک%ه عملی%اتی ک%ه تص%میم گرفت%ه ش%ده، آی%ا ب%رای فع%ال س%از •آن مجاز است؟

آی%ا قاب%ل اعم%ال روی ش%یئ خاص%ی هس%ت و اینک%ه آی%ا ب%ا وض%عیت سیس%تم س%ازگاری •دارد؟

مثال:‌درست‌سنجی‌تصمیم‌روی‌فرستنده‌ها‌و‌گیرنده‌های‌پیام•(‌بCه‌کنCترل‌‌a, vبCا‌ارسCال‌پیCام‌)‌uتوسCط‌پCردازش‌‌vروی‌شCیئ‌aانجCام‌عمCل‌–

کننده‌)مکانیزم‌دسترسی(مهمترین‌چک‌هایی‌که‌روی‌این‌پیغام‌انجام‌می‌گیرد:–

و ن%یز وض%عیت ک%ل سیس%تم س%ازگار v روی وض%عیت aبررس%ی س%ازگاری: آی%ا عم%ل •است؟

هست؟ )لیست قابلیت(v روی a قادر به انجام عمل uبررسی مبدا: آیا پردازش • شیئی تحت کنترل، کنترل کننده ای که تصمیمات را دریافت می کند هست؟vآیا •بررسی انتقال: آیا در ارسال پیام خطایی رخ نداده؟•

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

22‌

Page 23: Real time operating systems for safety-critical applications

(2درست‌سنجی‌تصمیم‌)

کپسوله‌سازی‌)محصورسازی(‌پردازش•یک‌پCردازش‌زمCانی‌کپسCوله‌اسCت‌کCه‌ارتبCاطش‌بCا‌محیCط‌خCارج‌اش،‌تحت‌–

قوانین‌محدودکننده‌ای‌که‌در‌سیستم‌تعریف‌شده‌است،‌انجام‌گیرد.اجCازه‌– ورود،‌ قCابلیت‌ ماننCد‌ معمCولی‌ قCوانین‌ قCابلیت،‌ سیسCتم‌ کمبCود:‌

دسترسی‌به‌دیگر‌روال‌ها‌را‌می‌دهندارس%ال • روال ب%ه پ%ردازش از ک%ه پارامتره%ای ق%وانین هیچگون%ه مح%دودیتی روی این

می گردند، قرار نمی دهندو تنه%ا معت%بر ب%ودن ب%ر هم کنش بین روال و پ%ردازش توس%ط پ%ردازش دیگ%ری بررس%ی •

می گردد.پارامتر‌هCای‌– صCحت‌ کCه‌ بCرد‌ کCار‌ بCه‌ اینگونCه‌ را‌ سCازی‌ کپسCوله‌ تCوان‌ می‌

ارسالی‌را‌نیز‌تعیین‌کند.معمCوال‌یCک‌پCردازش‌مسCئول‌کنCترل‌پارامترهCای‌ورودی‌و‌خCروج‌یCک‌روال‌–

می‌گردد.بCه‌یCک‌بیت‌جهت‌تعCیین‌کپسCوله‌شCدن‌– نCیز‌تنهCا‌ پشCتیبانی‌سCخت‌افCزاری‌

پردازش‌و‌نیز‌شماره‌اندیس‌پردازش‌کپسوله‌کننده‌دارد.

23‌

Page 24: Real time operating systems for safety-critical applications

بازیابی‌خطا‌به‌روش‌ماشین‌مجازی

معماری•از‌– مراتCبی‌ سلسCله‌ سCاختار‌ صCورت‌ بCه‌ سیسCتم‌عامل‌ هسCته‌ طراحی‌

ماشین‌های‌تجرید‌شده‌‌تو‌در‌توهر‌ماشCین‌بCه‌صCورت‌خصوصCی‌مجموعCه‌خاصCی‌از‌منCابع‌را‌مCدیریت‌می‌کنCد‌–

که‌توسط‌هیچ‌یک‌از‌ماشین‌هایی‌که‌داخل‌آن‌است‌مدیریت‌نشده‌است.‌بCه‌عنCوان‌محیطی‌کCه‌کCاربران‌‌MKبCه‌عنCوان‌سCخت‌افCزار‌پایCه‌و‌M0معمCوال‌–

برنامه‌های‌خود‌را‌در‌آن‌اجرا‌می‌کنند،‌شناخته‌می‌شود.‌عملیات‌هCای‌سیسCتمی‌جدیCدی‌پیCاده‌سCازی‌‌MiمرحلCه‌Pi1, ..., PiKروال‌هCای‌–

‌موجود‌نیست.Mi-1می‌کنند‌که‌در‌

‌نشCان‌داده‌می‌شCود‌را‌تغیCیر‌Diاین‌روال‌‌هCا‌منCابع‌و‌سCاختمان‌داده‌هCا‌کCه‌بCا‌–‌را‌Mi-1می‌دهنCد‌و‌نCیز‌می‌تواننCد‌روال‌هCای‌تعCیین‌شCده‌در‌سCطح‌قبCل‌یعCنی‌

فراخوانی‌کنند.‌غیر‌قابل‌دسترس‌کرد.‌Miرا‌می‌توان‌در‌خارج‌از‌Diداده‌های‌–

‌انجام‌می‌گیرد.Eiبازیابی‌خطا‌در‌هر‌مرحله‌توسط‌–

24‌

Page 25: Real time operating systems for safety-critical applications

(2بازیابی‌خطا‌به‌روش‌ماشین‌مجازی‌)

چگونگی‌بازیابی‌خطا•یک‌مولفه‌اصلی:‌گزارش‌خطا‌در‌روال‌ها‌است.–

هر روال ب%ه عن%وان بخش%ی از خ%روجی نرم%ال بای%د ی%ک گ%زارش خط%ا ب%ه فراخوانن%ده •بازگرداند.

برخی‌خطاهایی‌که‌می‌توان‌برگرداند‌عبارتند‌از:–عدم وجود خطا•خطای ساختاری جبران ناپذیر یا ناسازگاری در داده های روال•ارسال شدن پارامتر بد•یا یک خطای گزارش شده جبران ناپذیر در برخی روال های مراحل قبل تر•

کشCف‌خطCا‌توسCط‌یCک‌روال:‌اطالع‌بCه‌روال‌هCای‌سCطح‌قبCل‌جهت‌بررسCی‌–وجود‌خطا‌به‌خاطر‌ارسال‌مقادیر‌بد

‌می‌توانCد‌‌EiگCزارش‌داده‌شCود‌و‌‌Eiاز‌طریCق‌iیک‌خطCا‌می‌توانCد‌بCه‌مرحلCه‌–به‌صورت‌بازگشتی‌با‌این‌گزارش‌تعامل‌کند.

‌)بازیابی‌کننده‌خطا(‌فراخوانی‌می‌شود؟Eiچگونه‌•یک‌پردازش‌مجاز‌کاربر–‌که‌خطا‌را‌کشف‌کند.Miروالی‌در‌–

روالی‌که‌از‌مرحله‌قبلی‌خود‌یک‌گزارش‌خطا‌بگیرد.–مکانیزم‌های‌تشخیص‌خطای‌سخت‌افزاری– 25‌

Page 26: Real time operating systems for safety-critical applications

تحمل‌پذیری‌اشکال‌و‌دسترس‌پذیری‌باال

هنگام‌رخداد‌خطا•دارد‌– را‌ خطCا‌ بازیCابی‌ عمCل‌ وظیفCه‌ کCه‌ عCاملی‌ بCه‌ هسCته‌ رسCانی‌ اطالع‌

)ناظر(.قابلیت‌ثبت‌رویCداد‌توسCط‌هسCته‌تCا‌بعCدا‌بتCوان‌علت‌خطاهCای‌رخ‌داده‌را‌–

آنالیز‌کرد.‌نرم‌افزار‌توسط‌هسته.‌watchdogفراهم‌آوری‌قابلیت‌–

افزونگی‌بخش‌های‌عملیاتی‌و‌تشخیص‌خطا•در‌– افCزونگی‌ کمCک‌ بCه‌ حیCاتی‌ سیسCتم‌های‌ بCاالی‌ دسCترس‌پذیری‌ تضCمین‌

گره‌های‌سیستمتشخصی‌برخی‌خرابی‌ها‌توسط‌سیستم‌عامل–

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

هنگ%امی ک%ه ارس%ال این پیام ه%ا متوق%ف ش%ود، گ%ره اف%زوده ف%رض ب%ر رخ%داد خ%رابی •گذاشته و خودش عملیات را ادامه می دهد.

26‌

Page 27: Real time operating systems for safety-critical applications

تضمین‌دسترس‌پذیری‌منابع:‌دامنه‌حافظه‌

محافظت‌از‌حافظه•محCافظت‌از‌حافظCه‌نقطCه‌شCروع‌نیازمنCدی‌ها‌بCرای‌یCک‌سیسCتم‌بحCرانی-–

ایمن‌است.یک برنام%ه نبای%د ب%ه خ%اطر اج%رای عم%دی ی%ا بی دقت دیگ%ر برنام%ه ه%ا، ب%ه خ%اطر مح%دود •

شدن حافظه از اجرا بازبماند.سناریو•

قابلیت‌ایجاد‌اشیاء‌توسط‌پردازه‌های‌در‌حال‌اجرا‌و‌به‌صورت‌پویا–تولید‌شیئ‌به‌تعداد‌بسیار‌زیاد‌توسط‌یک‌کد‌بد‌نوشته‌شده‌یا‌یک‌باگ–این‌امر‌باعث‌می‌شود‌فضای‌مورد‌نیاز‌دیگر‌پردازش‌ها‌فراهم‌نشود.–لذا‌در‌محیط‌هCای‌بحCرانی-ایمن‌بایسCتی‌مکCانیزمی‌موجCود‌باشCد‌کCه‌جلCوی‌–

اینگونه‌خرابی‌را‌بگیرد.

راه‌حل•تعیین‌فضای‌مورد‌نیاز‌از‌قبل‌به‌صورت‌ایستا–

رزرو فضای مورد نیاز هر پردازش•تعیین‌حداقل‌فضای‌مورد‌نیاز‌و‌حداکثر‌فضای‌مجاز‌برای‌استفاده–

27‌

Page 28: Real time operating systems for safety-critical applications

تضمین‌دسترس‌پذیری‌منابع:‌دامنه‌زمان

توزیع‌مناسب‌زمان‌پردازشگر•مثال•

،‌یک‌پردازش‌غیر‌بحرانی‌است.Aپردازش‌–،‌یک‌پردازش‌بحرانی‌است.Bپردازش‌–%‌زمان‌پردازنده‌نیاز‌دارد.‌40جهت‌اجرای‌به‌موقع‌به‌Bپردازش‌–‌زیر‌پردازش‌تولید‌می‌کند.Aپردازش‌–

28‌

Page 29: Real time operating systems for safety-critical applications

زمانبندی

تحلیل‌زمانبندی•(‌بCه‌منظCور‌آنCالیز‌و‌پیش‌بیCنی‌رفتCار‌RMAاسCتفاده‌از‌آنCالیز‌نCرخ‌یکنCواخت‌‌)–

سیستمتوس%ط • نی%از م%ورد س%رویس های معین و س%ریع آوری ف%راهم ب%ر متکی تحلی%ل این

سیستم عامل می باشد.اطالعات‌مورد‌نیاز‌برای‌این‌تحلیل–

زمان دقیق اجرای پردازش ها•زمان مورد نیاز برای تعویض متن•زمان مورد نیاز برای اجرای سرویس های هسته•زمان مورد نیاز برای فعال سازی و اجرای وقفه••...

29‌

Page 30: Real time operating systems for safety-critical applications

(2زمانبندی‌)

تعیین‌زمان‌وقفه‌ها‌و‌فراخوانی‌های‌سیستم!!!•وجود‌وقفه‌های‌مختلف‌و‌با‌اولویت‌های‌متفاوت–تغییر‌ساختمان‌داده‌های‌هسته‌توسط‌اکثر‌وقفه‌ها‌)ناحیه‌بحرانی(–

غیر فعال کردن دیگر وقفه ها هنگام اجرای یک وقفه•غیر‌فعال‌شدن‌وقفه‌ساعت:‌عدم‌اجرای‌دیگر‌پردازش‌ها–

فراخوانی هسته توسط یک پردازش دیگر و ایجاد ناسازگاری•تاخیر‌اجرای‌وقفه‌های‌با‌اولویت‌باال‌به‌خاطر‌غیر‌فعال‌شدن‌وقفه‌ها–

قربانی وقفه با اولویت باالتر خاطر اجرای صحیح وقفه با اولویت کمتر•راه‌حل•

به‌جCای‌غCیر‌فعCال‌کCردن‌وقفه‌هCا،‌وقفCه‌زمانبنCد‌تCا‌زمCان‌اتمCام‌سCرویس‌–هسته‌به‌تعویق‌بیفتد.

الزمه‌این‌کار:– زمان اجرای وقفه ها بسیار کوتاه باشد•یا اینک%ه س%رویس وقف%ه قاب%ل راه ان%دازی مج%دد باش%د ت%ا وقف%ه زمانبن%د بتوان%د اج%رای •

وقفه را متوقف کند.تCاخیر‌– بCا‌ همیشCه‌ بCاالتر‌ اولCویت‌ بCا‌ وقفه‌هCای‌ می‌شCود‌ بCاعث‌ روش‌ این‌

مشخصی‌اجرا‌گردند.پیاده‌سازی‌این‌مورد‌بسیار‌مشکل‌است–

ه%ای ام%روزی از این روش اس%تفاده RTOSشاید ب%ه همین دلی%ل اس%ت ک%ه بس%یاری از •نمی کنند.

30‌

Page 31: Real time operating systems for safety-critical applications

وارونگی‌اولویت‌/‌بلوکه‌شدن‌زنجیری

سناریو•پردازش‌با‌اولویت‌باالتر‌نیازمند‌منبع‌در‌دست‌پردازش‌با‌اولویت‌کمتر–وجCود‌پCردازش‌بCا‌اولCویت‌میCانی‌و‌جلوگCیری‌از‌اجCرای‌پCردازش‌بCا‌اولCویت‌–

کمافزایش‌اولویت‌پردازش‌کم‌اولویت–خطر‌وجود‌بلوکه‌شدن‌زنجیره‌ای–

31‌

Page 32: Real time operating systems for safety-critical applications

دیگر‌مثال‌ها‌در‌افزایش‌قابلیت‌اطمینان

مثال•نگهداری‌لیست‌پردازش‌های‌آماده‌و‌بلوکه‌شده‌به‌صورت‌لیست‌دو‌طرفه–انجام‌تعویض‌متن‌کامل‌هنگام‌کار‌با‌وقفه‌ها–تعCیین‌– پCردازش‌را‌ یCک‌ از‌اطالعCاتی‌کCه‌محCدودیت‌های‌عملیCاتی‌ محCافظت‌

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

کد‌کCردن‌نCام‌اشCیاء‌بCه‌گونCه‌ای‌کCه‌اگCر‌نCام‌خCراب‌شCد،‌بتCوان‌آن‌را‌تشCخیص‌–‌با‌کدگذاری‌همینگ‌کد‌شود.‌k+1داد.‌مثال‌نام‌اشیاء‌با‌فاصله

کنترل‌پرش‌به‌نقاط‌دلخواه–قرار‌دادن‌داده‌ها‌و‌کدها‌قبل‌از‌فضای‌پشته–دقت‌محاسبات‌صحیح‌و‌اعشاری–

32‌

Page 33: Real time operating systems for safety-critical applications

نگرش‌های‌دیگر‌در‌افزایش‌قابلیت‌اطمینان

33‌

Page 34: Real time operating systems for safety-critical applications

Minix 3

34‌

مدیریت‌خطاهای‌راه‌اندازها

Page 35: Real time operating systems for safety-critical applications

Integrity /AdaMulti by Green Hill

ویژگی‌ها•ایمن–قابلیت‌اطمینان‌باال–‌رایگانRTOSیک‌–مناسب‌برای‌استفاده‌در‌سیستم‌های‌نهفته‌بحرانی–درسCت‌سCنجی‌قCابلیت‌اطمینCان‌ارتباطCات،‌مولفه‌هCا‌و‌کCل‌سیسCتم‌بCه‌خCاطر‌–

طراحی‌شئ‌گراارائه‌سکوهای‌توسعه‌مناسب–

•Green Hills AdaMulti IDE•Ada95/C/C++ compilers

اطمینان‌– قابلیت‌ و‌ امنیتی‌ استاندارد‌های‌ و‌ISO/IEC 15408رعایت‌ ‌RTCA DO-178B

MMUجداسازی‌فضای‌آدرس‌هسته‌و‌پردازش‌ها‌با‌به‌کار‌گیری‌–(ROMکوچکی‌هسته‌)جا‌شدن‌در‌–زمانبنCد‌پس‌گرفتCنی‌مبتCنی‌بCر‌اولCویت‌بCا‌توانCایی‌کنCترل‌اسCتفاده‌پردازش‌هCا‌–

از‌حافظه‌در‌اسCتفاده‌پردازش‌هCا‌بCه‌انCداره‌مشCخص‌ARINC 653تبعیت‌از‌اسCتاندارد‌–

شده‌از‌پردازنده 35‌

Page 36: Real time operating systems for safety-critical applications

Integrity /AdaMulti by Green Hill (2)

مزایا•‌Saab Avionicsبا‌شرکت‌Green Hillتعامل‌گسترده‌–A،‌سطح‌DO-178Bتوانایی‌اخذ‌گواهینامه‌–پشتیبانی‌از‌زبان‌های‌برنامه‌نویسی‌قوی–محافظت‌از‌حافظه–رایگان––ARINC 653

معایب•هنوز‌نقطه‌منفی‌یافت‌نشده‌است!–

36‌

Page 37: Real time operating systems for safety-critical applications

VxWorks/Tornado II by WindRiver

ویژگی‌ها•Wind Riverطراحی‌شده‌توسط‌–‌بCرای‌‌Workbenchو‌محیCط‌x.‌5بCرای‌نسCخه‌های‌Tornadoدارای‌محیCط‌توسCعه‌–

x.6نسخه‌های‌Ada/C/C++/Javaقابلیت‌کدنویسی‌با‌–قابلیت‌مدیریت‌حافظه‌توسط‌توسعه‌دهندگان‌به‌جای‌سیستم‌عامل–VxWorks AEنسخه‌جدید‌–

کاربردهای نهفته بحرانی•قابلیت اطمینان باال•دسترس پذیری باال•سرویس دهی مناسب•

37‌

Page 38: Real time operating systems for safety-critical applications

VxWorks/Tornado II by WindRiver (2)

مزایا•محیط‌توسعه‌مناسب‌با‌بهره‌گیری‌از‌ابزارهای‌متنوع–های‌بسیار‌زیادAPIوجود‌–کارآیی‌قابل‌پیش‌بینی–پشتیبانی‌تکنیکی‌حرفه‌ای–پشتیبانی‌از‌چندین‌پلتفرم–Adaوجود‌چندین‌کامپایلر‌–A،‌سطح‌DO-178Bتوانایی‌اخذ‌گواهینامه‌–استفاده‌از‌این‌سیستم‌عامل‌در‌بسیاری‌از‌پروژه‌های‌حیاتی–

معایب•عدم‌وضوح‌راهنما–POSIXعدم‌تبعیت‌کامل‌از‌استاندارد‌–پشتیبانی‌ضعیف‌از‌ارتباط‌بین‌پردازش‌های‌روی‌پردازنده‌های‌مختلف–محافظت‌حافظه‌ضعیف–

38‌

Page 39: Real time operating systems for safety-critical applications

QNX Neutrino (6.2)/Momentics Development suite

ویژگی‌ها•–QNX Neutrinoآخرین‌نسخه‌‌RTOSاز‌شرکت‌‌QNX.است‌‌،‌MIPS،‌‌PPC،‌StrongARMدر‌پشCتیبانی‌از‌چنCدین‌پلتفCرم‌6.1توسCعه‌نسCخه‌–

x86و‌‌SH4دارای‌هسته‌ماژوالر‌و‌قابل‌پیکربندی‌توسط‌کاربر–از‌– بCودن‌ویژگی‌هCایی‌چCون‌زمانبنCد،‌بالدرنگی،‌نخ‌هCا‌و‌محCافظت‌ اختیCاری‌

حافظهPOSIXپیاده‌سازی‌شده‌از‌ابتدا‌بر‌اساس‌استاندارد‌–دارای‌محیط‌هCای‌توسCعه‌مناسCب‌بCه‌منظCور‌تولیCد‌محصCوالت‌نهفتCه‌قابCل‌–

اطمینان،‌مقیاس‌پذیر‌و‌کارآ

39‌

Page 40: Real time operating systems for safety-critical applications

QNX Neutrino (6.2)/Momentics Development suite (2)

مزایا•معماری‌مدرن‌سرویس‌دهنده/سرویس‌گیرنده‌بر‌اساس‌ارسال‌پیام–سیستم‌توزیع‌شده‌تحمل‌پذیر‌خطا–محافظت‌حافظه‌تنومند‌بین‌هسته،‌راه‌اندازها‌و‌برنامه‌ها–پشتیبانی‌مناسب‌از‌پلتفرم‌های‌مختلف–سریع–پشتیبانی‌تکنیکی‌مناسب–

معایب•Adaعدم‌پشتیبانی‌از‌–‌مرحله‌اولویت63وجود‌–مستندسازی‌نامناسب–DO-178Bعدم‌رعایت‌–

40‌

Page 41: Real time operating systems for safety-critical applications

LynxOS/CodeWarrior by Lynux Works

مزایا•‌است.POSIX%‌مطابق‌با‌واسط‌های‌100تنها‌سیستم‌عاملی‌که‌–A،‌سطح‌DO-178Bتوانایی‌اخذ‌گواهینامه‌–Adaدارای‌کامپایر‌–محافظت‌از‌حافظه–راه‌اندازی‌سریع–ارائه‌پاسخ‌های‌بی‌درنگ‌حین‌پشتیبانی‌از‌سرویس‌های‌متنوع–مقیاس‌پذیر–‌در‌باال‌بردن‌قابلیت‌اطمینان‌و‌دسترس‌پذیری‌VMو‌MMUترکیب‌–

معایب•هنوز‌نقطه‌منفی‌یافت‌نشده‌است!–

41‌

Page 42: Real time operating systems for safety-critical applications

مراجع

42‌

[1] Knight, John C. "Safety critical systems: challenges and directions." In Software Engineering, 2002. ICSE 2002. Proceedings of the 24rd International Conference on, pp. 547-550. IEEE, 2002.

[2] Hedlund, Marcus, and Fredrik Aronson. "Evaluation of Real-Time Operating Systems for Safety-Critical Systems". Common Thesis between Jönköping University and SAAB Avionics AB, 2002

[3] Herder, Jorrit N., Herbert Bos, Ben Gras, Philip Homburg, and Andrew S. Tanenbaum. "Construction of a highly dependable operating system." In Dependable Computing Conference, 2006. EDCC'06. Sixth European, pp. 3-12. IEEE, 2006.

[4] Nakate, Ms Shraddha S., Bandu B. Meshram, and Mrs Jayamala P. Chavan. "New Trends in Real Time Operating Systems." system 2, no. 4 (2012): 883-892.

[5] Baskiyar, Sanjeev, and Natarajan Meghanathan. "A survey of contemporary real-time operating systems." INFORMATICA-LJUBLJANA- 29, no. 2 (2005): 233.

[6] Pimentel, Juan R. "Designing safety-critical systems: A Convergence of Technologies." Kettering University. Flint, Michigan (2008).

[7] Denning, Peter J. "Fault tolerant operating systems." ACM Computing Surveys (CSUR) 8, no. 4 (1976): 359-389.

Page 43: Real time operating systems for safety-critical applications

مراجع

43‌

[8] Košík, Matej. "A Contribution to Techniques for Building Dependable Operating Systems." (2011). To Appears in AcmBulletin 2011

[9] Barr, Volkert, and Sergio Montenegro. "BOSS/Ada: An Open Source Ada 95 Safety Kit A Dependable open source embedded operating system for GNAT." Ada Deutschland Tagung (2002): 53-66.

[10] DOE, US. System Safety Program Requirements, US Department of Defense. MIL-STD-882D, 2000.

[11] Johnson, L. A. "DO-178B: Software Considerations in Airborne Systems and Equipment Certification." Crosstalk, October (1998).

[12] Chen, Yinong. "Operating systems for safety-critical applications." Elektron Journal-South African Institute Of Electrical Engineers 17, no. 1 (2000): 47-48.

[13] David N. Kleidermacher. " Real-time Operating System Requirements for Use in Safety Critical Systems", Tech Report, Green Hills Software, Inc (2006)

[14] Swift, Michael M., Brian N. Bershad, and Henry M. Levy. "Improving the reliability of commodity operating systems." ACM Transactions on Computer Systems (TOCS) 23, no. 1 (2005): 77-110.

Page 44: Real time operating systems for safety-critical applications

44‌Email: [email protected]

Thanks for Your Attention

آتش از خانه ي همسايه ي درويش مخواه

كآنچه بر روزن او مي رود، از سوز دل است.

Page 45: Real time operating systems for safety-critical applications

بازیابی‌خطا

بازیابی‌خطا•یCک‌– بCه‌ انتقCال‌سیسCتم‌ بCه‌معCنی‌ یCا‌ بCه‌معCنی‌رفCع‌خطCا‌ یCا‌ بازیCابی‌خطCا‌

وضعیت‌سازگار‌است.در‌– و‌هم‌می‌توانCد‌ در‌سCخت‌افزار‌ آن‌هم‌می‌توانCد‌ بازیCابی‌ و‌ اصCل‌خطCا‌

نرم‌افزار‌باشد.برای‌بازیCابی‌از‌خطCای‌نCرم‌افCزاری‌روش‌هCای‌متعCددی‌بیCان‌شCده‌کCه‌همگی‌–

به‌نحوی‌بر‌اساس‌افزونگی‌هستند.حالت س%اده: ک%پی گ%یری از اطالع%ات ک%ه یکی ب%رای س%رعت و دیگ%ری ب%رای حافظ%ه •

بهینه شود.نCامفهوم‌• انCدکی‌ بCه‌خطCا‌کCه‌ پCرداختن‌ برخی‌روش‌هCای‌معCرفی‌شCده‌

هستند:آماده‌شدن‌برای‌محتمل‌ترین‌خطاها–کمینه‌کردن‌ارجاع‌به‌داده‌های‌حیاتی–نگهداری‌آخرین‌کپی‌معتبر‌داده‌ها–

برخی‌دیگر‌از‌روش‌ها•نقطه‌وارسی‌گیری–گرفتن‌کپی‌پشتیبان‌از‌زیر‌سیستم‌ها–

45‌

Page 46: Real time operating systems for safety-critical applications

تحمل‌پذیری‌اشکال‌و‌دسترس‌پذیری‌باال

MMUضرورت‌استفاده‌از‌•ها‌استفاده‌نمی‌کنندRTOSبرخی‌–عدم‌محدودیت‌در‌دسترسی‌به‌نقاط‌حافظه–

فضای‌پشته•فضای‌داده‌و‌فضای‌کد‌قبل‌از‌فضای‌پشته‌قرار‌بگیرد–معلق‌کردن‌پردازش‌بعد‌از‌سرریز‌شدن‌پشته–

هنگام‌رخداد‌خطا•اطالع‌رسانی‌هسته‌به‌عاملی‌که‌وظیفه‌عمل‌بازیابی‌خطا‌را‌دارد.–این‌عامCل‌کCه‌نCاظر‌نCیز‌نCام‌دارد‌بایسCتی‌بتوانCد‌در‌فضCای‌آدرس‌مخصCوص‌–

به‌خودش‌اجرا‌گرددزی%را ممکن اس%ت داده ه%ا در فض%ای آدرس%ی ک%ه پ%ردازش خط%ادار ش%ده در آن ق%رار •

دارد، تخریب شده باشد.هسCته‌بایسCتی‌ثبت‌رویCداد‌داشCته‌باشCد‌تCا‌بعCدا‌بتCوان‌علت‌خطاهCای‌رخ‌داده‌–

را‌آنالیز‌کرد.مثال فراخوانی سرویس های هسته، تعویض متن پردازش ها و وقفه ها و ... •

‌نرم‌افزار‌را‌فراهم‌کندwatchdogبه‌عالوه‌هسته‌بایستی‌قابلیت‌–پردازش ن%اظر بتوان%د زم%انی ک%ه ی%ک پ%ردازش متن%اوب، ت%رتیب ک%د م%ورد انتظ%ار را اج%را •

نمی کند، مطلع شود.برخی خرابی ها موجب رخداد استثناء سخت افزاری نمی شوند.•

46‌

Page 47: Real time operating systems for safety-critical applications

(2تحمل‌پذیری‌اشکال‌و‌دسترس‌پذیری‌باال‌)

فراخوانی‌سرویس‌ها•نامناسCب‌– سCرویس‌ فراخوانی‌هCای‌ مقابCل‌ در‌ را‌ خCود‌ بایسCتی‌ هسCته‌

محافظت‌کند.‌ارسال اشاره گر به اشیاء هسته به داخل روال ها•سیستم عامل بایستی مراقب اینگونه موارد باشد تا دچار خرابی نگردد.•

افزونگی‌بخش‌های‌عملیاتی‌و‌تشخیص‌خطا•در‌– افCزونگی‌ کمCک‌ بCه‌ حیCاتی‌ سیسCتم‌های‌ بCاالی‌ دسCترس‌پذیری‌ تضCمین‌

گره‌های‌سیستمتشخصی‌برخی‌خرابی‌ها‌توسط‌سیستم‌عامل–

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

هنگ%امی ک%ه ارس%ال این پیام ه%ا متوق%ف ش%ود، گ%ره اف%زوده ف%رض ب%ر رخ%داد خ%رابی •گذاشته و خودش عملیات را ادامه می دهد.

47‌