Upload
reza-ramezani
View
220
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
بررسیومعرفیسیستمعاملهایبیدرنگبرایکاربردهایبحرانی-ایمن
دکتریاسرصداقتاستادراهنما:رضارمضانی
Real-Time Operating Systemsfor Safety-Critical Applications
1391پاییز
ج,ات او3توالع/لمد,ر, الذین, نک3مو, ام/ نو3 آم, الله,الذین, ی,رفع3
گروهسیستمهاینهفتهتوزیعشدهاتکاپذیر
مقدمهایبرسیستمهایبیدرنگوبحرانی-ایمن
ویژگیهایسیستمعاملهایبیدرنگ
ویژگیهاواستانداردهایسیستمعاملهایبحرانی-ایمن
معرفیبرخیسیستمعاملهایتحملپذیرخطا
2
سیستمهایبحرانیایمندرمقابلسیستمهایبیدرنگ
سیستمبیدرنگ•یکسیس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
سیستمهایبحرانیایمندرمقابلسیستمهایبیدرنگ(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
سیستمهایبیدرنگسختونرم
بیدرنگسخت•عدمانجامکاردرزمانتعیینشده،بههیچعنوانقابلقبولنیست.–پردازشه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
بحرانی-ایمنوبیدرنگسیستمهایتقسیمبندی
6
بحرانی-ایمنبی درنگ سخت
بی درنگ نرم
بحرانی-ایمنوبیدرنگسیستمعاملهایتقسیمبندی
7
بحرانی-ایمن
بی درنگ نرم
بی درنگ سخت
سیستمعاملهایبیدرنگ
سرویسهاییکهیکسیستمعاملبیدرنگبایستیفراهمکند:•زمانبندی–تعریفوفعالسازیپردازشها–مدیریتخطایبرنامهها–مدیریتورودی/خروجی–مدیریتحافظه–چندنخی–(Ringارتباطاتوهمزمانیپیچیده)انتقالپیامباتاخیرثابت:–تخصیصمنابع–مدیریتوقفه)وقفههایمحدودشدهدرزمان(–اندازهکوچکهستهبرایسیستمهاینهفته–حذفبرخیپیچیدگیها)حافظهمجازی،محافظت(–GCحافظههیپو–
8
سیستمهایبحرانی-ایمن
استانداردها•سیستمعاملهایبحرانیایمنوابستهبهدامنههستند.–آیCاسیسCتمعاملطCراحیشCدهبCرایدامنCهایخCاص،نیازمنCدیهایآندامنCه–
رابرطرفمیکند؟توجهبهاستانداردهاییکهبرایآندامنهدرنظرگرفتهشدهاند.–اکثراستانداردهابرتماممراحلتوسعهسیستمنظارتدارند.–
مثال•
9
(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
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
DO-178Bسطوحگواهینامه
12
DO-178Bسیستمعاملدارایگواهینامه
13
سیستمعاملهایبحرانی-ایمن
ویژگیهایعمومی•(Capabilityماشینمبتنیبرقابلیت)–
تعیین توانایی های انجام کار یک پردازش•کنترلمنابع–
عدم استفاده از مقادیر باقیمانده در منابع استفاده شده•(Decision Verificationدرستیابیتصمیم)–
تشخیص رخداد خطا•کشفخطاوبازیابیموثر–
انتقال سیستم به وضعیت سازگار•ایزولهسازیپردازش–
محصورسازی خطا•تحملپذیریودسترسپذیریباال–
ارائه خدمات در شرایط بحرانی•تضمیندسترسپذیریمنابع:دامنهحافظهوزمان–
جلوگیری از تداخل منابع•زمانبندی–
تداخالت اولویت•14
معماریقابلیت
قابلیت•تعییندقیقعملیاتقابلانجامتوسطیکپردازش–داده،– عناص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
معماریسیستمعاملقابلاطمینان
محصورسازیخطا•هیچروالیبیشازاندازهموردنیازقابلیتانجامکارندارد.–هیچروالیبهیکدامنهبزرگتردسترسیندارد.–روالاجازهنداردرویدادههایناسازگارکارکند.–اینویژگیهCا،ریسCکاینکCهخطCاقبCلازکشCفشCدنبCهبقیCهمکانهCاآسCیب–
برساندراکاهشمیدهد.
تشخیصوردهبندی•بررسیدرستسنجیپویارویاطالعاتونیزرویعملیاتروالها،–
( را ب%ا آش%کار ک%ردن ناس%ازگاری در داده ه%ا ی%ا تالش ب%رای رد Errorمی توان%د خطاه%ا )•کردن محدودیت های دسترسی شناسایی کند.
ایدهآلایناستکهنوعخطاومحلاشکال،شناساییشود.–سپسدادههابهیکوضعیتسازگاربازگردد.–الگوریتمبررسیصحت،مستقلازسیستمیباشدکهچکمیشود.–بررسCیصCحتکCارکردبایCدبCراسCاسمشخصCههایسیسCتمباشCدونCهپیCاده–
سازیهایسیستم.
16
(2معماریسیستمعاملقابلاطمینان)
پیکربندیمجدد•هدف:قراردادنسیستمدریکوضعیتسازگاراست.–
اف%زاری/ن%رم • )س%خت س%رویس از ش%ده خ%راب واح%د ح%ذف ب%ا می توان%د ک%ار این افزاری(،
یا با ساخت مجدد کپی معتبر از داده ها•یا با پشتیبان گیری )بخشی( از سیستم در لحظه قبل عاری از خطا انجام گیرد.•
امCاازآسCیببیشCترجلوگCیری– ندارنCد، بCهتعمCیرآسCیب نیCاز اینعملیCاتمیکند.
راهاندازیمجدد•بازگردانیسیستممجددپیکربندیشدهبهوضعیتسرویسرسانی–
17
ایزولهسازیپردازش
محیطبسته•پردازشهیچک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
مثالازلیستقابلیت
19
مثالازلیستقابلیت)تحملپذیریبیشتر(
20
کنترلمنابع
کنترلقابلاطمینانمنابع•قاب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ذاری
میگردد.
درستسنجیتصمیم
درستسنجیتصمیم•اجرایبرنامهرامیتوانتوالیازتصمیمهادرنظرگرفت.–بهدلیلخرابیممکناستدستوراتیادادههاتغییرپیداکنند.–درستسنجیتصمیماشارهبهکالسیازافزونگیهارویتصمیمهادارد.–
این چک ه%ا بررس%ی می کنن%د ک%ه عملی%اتی ک%ه تص%میم گرفت%ه ش%ده، آی%ا ب%رای فع%ال س%از •آن مجاز است؟
آی%ا قاب%ل اعم%ال روی ش%یئ خاص%ی هس%ت و اینک%ه آی%ا ب%ا وض%عیت سیس%تم س%ازگاری •دارد؟
مثال:درستسنجیتصمیمرویفرستندههاوگیرندههایپیام•(بCهکنCترلa, vبCاارسCالپیCام)uتوسCطپCردازشvرویشCیئaانجCامعمCل–
کننده)مکانیزمدسترسی(مهمترینچکهاییکهرویاینپیغامانجاممیگیرد:–
و ن%یز وض%عیت ک%ل سیس%تم س%ازگار v روی وض%عیت aبررس%ی س%ازگاری: آی%ا عم%ل •است؟
هست؟ )لیست قابلیت(v روی a قادر به انجام عمل uبررسی مبدا: آیا پردازش • شیئی تحت کنترل، کنترل کننده ای که تصمیمات را دریافت می کند هست؟vآیا •بررسی انتقال: آیا در ارسال پیام خطایی رخ نداده؟•
،درصورتیکهچهارموردفوقبهدرستیانجامگیرد.vرویaانجامعمل–هدفاینکار،مکانیابیخطاهاباتشخیصناسازگاریهااست.–استقاللکاملفرستندهوگیرنده:دادهها،الگوریتمهاوسختافزارها–
22
(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
بازیابیخطابهروشماشینمجازی
معماری•از– مرات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
(2بازیابیخطابهروشماشینمجازی)
چگونگیبازیابیخطا•یکمولفهاصلی:گزارشخطادرروالهااست.–
هر روال ب%ه عن%وان بخش%ی از خ%روجی نرم%ال بای%د ی%ک گ%زارش خط%ا ب%ه فراخوانن%ده •بازگرداند.
برخیخطاهاییکهمیتوانبرگرداندعبارتنداز:–عدم وجود خطا•خطای ساختاری جبران ناپذیر یا ناسازگاری در داده های روال•ارسال شدن پارامتر بد•یا یک خطای گزارش شده جبران ناپذیر در برخی روال های مراحل قبل تر•
کشCفخطCاتوسCطیCکروال:اطالعبCهروالهCایسCطحقبCلجهتبررسCی–وجودخطابهخاطرارسالمقادیربد
میتوانCدEiگCزارشدادهشCودوEiازطریCقiیکخطCامیتوانCدبCهمرحلCه–بهصورتبازگشتیبااینگزارشتعاملکند.
)بازیابیکنندهخطا(فراخوانیمیشود؟Eiچگونه•یکپردازشمجازکاربر–کهخطاراکشفکند.Miروالیدر–
روالیکهازمرحلهقبلیخودیکگزارشخطابگیرد.–مکانیزمهایتشخیصخطایسختافزاری– 25
تحملپذیریاشکالودسترسپذیریباال
هنگامرخدادخطا•دارد– را خط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
تضمیندسترسپذیریمنابع:دامنهحافظه
محافظتازحافظه•محCافظتازحافظCهنقطCهشCروعنیازمنCدیهابCراییCکسیسCتمبحCرانی-–
ایمناست.یک برنام%ه نبای%د ب%ه خ%اطر اج%رای عم%دی ی%ا بی دقت دیگ%ر برنام%ه ه%ا، ب%ه خ%اطر مح%دود •
شدن حافظه از اجرا بازبماند.سناریو•
قابلیتایجاداشیاءتوسطپردازههایدرحالاجراوبهصورتپویا–تولیدشیئبهتعدادبسیارزیادتوسطیککدبدنوشتهشدهیایکباگ–اینامرباعثمیشودفضایموردنیازدیگرپردازشهافراهمنشود.–لذادرمحیطهCایبحCرانی-ایمنبایسCتیمکCانیزمیموجCودباشCدکCهجلCوی–
اینگونهخرابیرابگیرد.
راهحل•تعیینفضایموردنیازازقبلبهصورتایستا–
رزرو فضای مورد نیاز هر پردازش•تعیینحداقلفضایموردنیازوحداکثرفضایمجازبرایاستفاده–
27
تضمیندسترسپذیریمنابع:دامنهزمان
توزیعمناسبزمانپردازشگر•مثال•
،یکپردازشغیربحرانیاست.Aپردازش–،یکپردازشبحرانیاست.Bپردازش–%زمانپردازندهنیازدارد.40جهتاجرایبهموقعبهBپردازش–زیرپردازشتولیدمیکند.Aپردازش–
28
زمانبندی
تحلیلزمانبندی•(بCهمنظCورآنCالیزوپیشبیCنیرفتCارRMAاسCتفادهازآنCالیزنCرخیکنCواخت)–
سیستمتوس%ط • نی%از م%ورد س%رویس های معین و س%ریع آوری ف%راهم ب%ر متکی تحلی%ل این
سیستم عامل می باشد.اطالعاتموردنیازبرایاینتحلیل–
زمان دقیق اجرای پردازش ها•زمان مورد نیاز برای تعویض متن•زمان مورد نیاز برای اجرای سرویس های هسته•زمان مورد نیاز برای فعال سازی و اجرای وقفه••...
29
(2زمانبندی)
تعیینزمانوقفههاوفراخوانیهایسیستم!!!•وجودوقفههایمختلفوبااولویتهایمتفاوت–تغییرساختماندادههایهستهتوسطاکثروقفهها)ناحیهبحرانی(–
غیر فعال کردن دیگر وقفه ها هنگام اجرای یک وقفه•غیرفعالشدنوقفهساعت:عدماجرایدیگرپردازشها–
فراخوانی هسته توسط یک پردازش دیگر و ایجاد ناسازگاری•تاخیراجرایوقفههایبااولویتباالبهخاطرغیرفعالشدنوقفهها–
قربانی وقفه با اولویت باالتر خاطر اجرای صحیح وقفه با اولویت کمتر•راهحل•
بهجCایغCیرفعCالکCردنوقفههCا،وقفCهزمانبنCدتCازمCاناتمCامسCرویس–هستهبهتعویقبیفتد.
الزمهاینکار:– زمان اجرای وقفه ها بسیار کوتاه باشد•یا اینک%ه س%رویس وقف%ه قاب%ل راه ان%دازی مج%دد باش%د ت%ا وقف%ه زمانبن%د بتوان%د اج%رای •
وقفه را متوقف کند.تCاخیر– بCا همیشCه بCاالتر اولCویت بCا وقفههCای میشCود بCاعث روش این
مشخصیاجراگردند.پیادهسازیاینموردبسیارمشکلاست–
ه%ای ام%روزی از این روش اس%تفاده RTOSشاید ب%ه همین دلی%ل اس%ت ک%ه بس%یاری از •نمی کنند.
30
وارونگیاولویت/بلوکهشدنزنجیری
سناریو•پردازشبااولویتباالترنیازمندمنبعدردستپردازشبااولویتکمتر–وجCودپCردازشبCااولCویتمیCانیوجلوگCیریازاجCرایپCردازشبCااولCویت–
کمافزایشاولویتپردازشکماولویت–خطروجودبلوکهشدنزنجیرهای–
31
دیگرمثالهادرافزایشقابلیتاطمینان
مثال•نگهداریلیستپردازشهایآمادهوبلوکهشدهبهصورتلیستدوطرفه–انجامتعویضمتنکاملهنگامکارباوقفهها–تع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
نگرشهایدیگردرافزایشقابلیتاطمینان
33
Minix 3
34
مدیریتخطاهایراهاندازها
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
Integrity /AdaMulti by Green Hill (2)
مزایا•Saab AvionicsباشرکتGreen Hillتعاملگسترده–A،سطحDO-178Bتواناییاخذگواهینامه–پشتیبانیاززبانهایبرنامهنویسیقوی–محافظتازحافظه–رایگان––ARINC 653
معایب•هنوزنقطهمنفییافتنشدهاست!–
36
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
VxWorks/Tornado II by WindRiver (2)
مزایا•محیطتوسعهمناسببابهرهگیریازابزارهایمتنوع–هایبسیارزیادAPIوجود–کارآییقابلپیشبینی–پشتیبانیتکنیکیحرفهای–پشتیبانیازچندینپلتفرم–Adaوجودچندینکامپایلر–A،سطحDO-178Bتواناییاخذگواهینامه–استفادهازاینسیستمعاملدربسیاریازپروژههایحیاتی–
معایب•عدموضوحراهنما–POSIXعدمتبعیتکاملازاستاندارد–پشتیبانیضعیفازارتباطبینپردازشهایرویپردازندههایمختلف–محافظتحافظهضعیف–
38
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
QNX Neutrino (6.2)/Momentics Development suite (2)
مزایا•معماریمدرنسرویسدهنده/سرویسگیرندهبراساسارسالپیام–سیستمتوزیعشدهتحملپذیرخطا–محافظتحافظهتنومندبینهسته،راهاندازهاوبرنامهها–پشتیبانیمناسبازپلتفرمهایمختلف–سریع–پشتیبانیتکنیکیمناسب–
معایب•Adaعدمپشتیبانیاز–مرحلهاولویت63وجود–مستندسازینامناسب–DO-178Bعدمرعایت–
40
LynxOS/CodeWarrior by Lynux Works
مزایا•است.POSIX%مطابقباواسطهای100تنهاسیستمعاملیکه–A،سطحDO-178Bتواناییاخذگواهینامه–Adaدارایکامپایر–محافظتازحافظه–راهاندازیسریع–ارائهپاسخهایبیدرنگحینپشتیبانیازسرویسهایمتنوع–مقیاسپذیر–درباالبردنقابلیتاطمینانودسترسپذیریVMوMMUترکیب–
معایب•هنوزنقطهمنفییافتنشدهاست!–
41
مراجع
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.
مراجع
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.
44Email: [email protected]
Thanks for Your Attention
آتش از خانه ي همسايه ي درويش مخواه
كآنچه بر روزن او مي رود، از سوز دل است.
بازیابیخطا
بازیابیخطا•ی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
تحملپذیریاشکالودسترسپذیریباال
MMUضرورتاستفادهاز•هااستفادهنمیکنندRTOSبرخی–عدممحدودیتدردسترسیبهنقاطحافظه–
فضایپشته•فضایدادهوفضایکدقبلازفضایپشتهقراربگیرد–معلقکردنپردازشبعدازسرریزشدنپشته–
هنگامرخدادخطا•اطالعرسانیهستهبهعاملیکهوظیفهعملبازیابیخطارادارد.–اینعامCلکCهنCاظرنCیزنCامداردبایسCتیبتوانCددرفضCایآدرسمخصCوص–
بهخودشاجراگرددزی%را ممکن اس%ت داده ه%ا در فض%ای آدرس%ی ک%ه پ%ردازش خط%ادار ش%ده در آن ق%رار •
دارد، تخریب شده باشد.هسCتهبایسCتیثبترویCدادداشCتهباشCدتCابعCدابتCوانعلتخطاهCایرخداده–
راآنالیزکرد.مثال فراخوانی سرویس های هسته، تعویض متن پردازش ها و وقفه ها و ... •
نرمافزاررافراهمکندwatchdogبهعالوههستهبایستیقابلیت–پردازش ن%اظر بتوان%د زم%انی ک%ه ی%ک پ%ردازش متن%اوب، ت%رتیب ک%د م%ورد انتظ%ار را اج%را •
نمی کند، مطلع شود.برخی خرابی ها موجب رخداد استثناء سخت افزاری نمی شوند.•
46
(2تحملپذیریاشکالودسترسپذیریباال)
فراخوانیسرویسها•نامناسCب– سCرویس فراخوانیهCای مقابCل در را خCود بایسCتی هسCته
محافظتکند.ارسال اشاره گر به اشیاء هسته به داخل روال ها•سیستم عامل بایستی مراقب اینگونه موارد باشد تا دچار خرابی نگردد.•
افزونگیبخشهایعملیاتیوتشخیصخطا•در– افCزونگی کمCک بCه حیCاتی سیسCتمهای بCاالی دسCترسپذیری تضCمین
گرههایسیستمتشخصیبرخیخرابیهاتوسطسیستمعامل–
یکی از این مک%انیزم ه%ا، ارس%ال پیام ه%ای حی%اتی و ن%یز پیام ه%ای همزم%انی از گره ه%ای •فعال به گره های افزوده است.
هنگ%امی ک%ه ارس%ال این پیام ه%ا متوق%ف ش%ود، گ%ره اف%زوده ف%رض ب%ر رخ%داد خ%رابی •گذاشته و خودش عملیات را ادامه می دهد.
47