این مقاله انگلیسی در نشریه آی تریپل ای در 6 صفحه در سال 2013 منتشر شده و ترجمه آن 21 صفحه بوده و آماده دانلود رایگان می باشد.
دانلود رایگان مقاله انگلیسی (pdf) و ترجمه فارسی (pdf + word) |
عنوان فارسی مقاله: |
یک نمای کلی از تکنیک های تحمل پذیری خطا برای سیستم های زمان واقعی
|
عنوان انگلیسی مقاله: |
An Overview of Fault Tolerance Techniques for Real-Time Operating Systems
|
دانلود رایگان مقاله انگلیسی |
|
دانلود رایگان ترجمه با فرمت pdf |
|
دانلود رایگان ترجمه با فرمت ورد |
|
مشخصات مقاله انگلیسی و ترجمه فارسی |
فرمت مقاله انگلیسی |
pdf |
سال انتشار |
2013 |
تعداد صفحات مقاله انگلیسی |
6 صفحه با فرمت pdf |
نوع نگارش |
مقاله پژوهشی (Research article) |
نوع ارائه مقاله |
کنفرانس |
رشته های مرتبط با این مقاله |
مهندسی کامپیوتر |
گرایش های مرتبط با این مقاله |
برنامه نویسی کامپیوتر – مهندسی نرم افزار – مهندسی سخت افزار |
چاپ شده در مجله (ژورنال)/کنفرانس |
کنفرانس الکترونیکی بین المللی مهندسی کامپیوتر و دانش (ICCKE) |
کلمات کلیدی |
سیستم عامل زمان واقعی – تحمل پذیری خطا |
کلمات کلیدی انگلیسی |
Real-Time Operating System – Fault Tolerance |
ارائه شده از دانشگاه |
آزمایشگاه سیستم های جاسازی شده توزیع شده قابل اعتماد (DDEmS)، دانشگاه مشهد |
شناسه دیجیتال – doi |
https://doi.org/10.1109/ICCKE.2013.6739552 |
لینک سایت مرجع |
https://ieeexplore.ieee.org/document/6739552 |
رفرنس |
دارای رفرنس در داخل متن و انتهای مقاله ✓ |
نشریه |
آی تریپل ای – IEEE |
تعداد صفحات ترجمه تایپ شده با فرمت ورد با قابلیت ویرایش |
21 صفحه با فونت 14 B Nazanin |
فرمت ترجمه مقاله |
pdf و ورد تایپ شده با قابلیت ویرایش |
وضعیت ترجمه |
انجام شده و آماده دانلود رایگان |
کیفیت ترجمه |
مبتدی (مناسب برای درک مفهوم کلی مطلب)
|
کد محصول |
F2307 |
بخشی از ترجمه |
A) سیستم عامل زمان واقعی (RTOS)
“سیستم عاملهای زمان واقعی برای پیشبینی، بهرهوری استفاده میشوند و شامل ویژگیهایی برای حمایت محدودیت زمان هستند” [5]. در RTOS تمام وظایف باید بهموقع (در زمان انتشار) منتشر شود و همچنین باید قبل از زمان خاص به نام مهلت به پایان برسد. وظیفهی زمان واقعی اگر با شکست مواجه شود میتواند این محدودیت زمانی را برآورده نکند [6]. بهعبارت دیگر، نقض محدودیت زمانبندی در RTOS منجر به شکست سیستم میشود. بهمنظور تجزیهوتحلیل RTOS و گارانتی سیستم ایمنی، قطعات داخلی باید دقیقا تعریف شده و همچنین رفتار آنها باید قابل پیشبینی باشد.
به عنوان مثال XOberon یک RTOS کوچک است که قابلیت پیشبینی و ایمنی را همزمان فراهم میکند [7].
B) مهلت نرم، سفت و سخت
آخرین مهلت، ویژگی مهمی برای وظایف در RTOS زمانی که نتایج باید قبل از آن تولید شود است. اگر نتیجه پس از مهلت بهدست آید، مهلت بهعنوان نرم طبقهبندی میشود، در غیر اینصورت سفت است. اگر عواقب شدیدی بهوجود آید میتواند یک مهلت سفت از دست برود، در اینصورت سخت نامیده میشود [8]. بهعبارت دیگر نقض مهلت نتایج سفت در شکست و نقض مهلت نتایج سخت در فاجعه است.
نیازمندیهای مختلف RTOS سخت و نرم نقش مهمی در طراحی سیستم دارد. اگر سیستم، محدودیت زمان واقعی سخت داشته باشد، طراح بهصرف زمان زیادی برای گارانتی ایمنی و قابلیت پیشبینی و همچنین گارانتی همهی محدودیتهای زمانی (مهلت) نیاز خواهد داشت. در صورتی که شرایط زمانبندی سیستم نرم باشد، یک سیستم بهترین تلاش برای رسیدن به محدودیت زمان را دارد و همچنین دارای حداقل افت کیفیت است درحالیکه نقض محدودیت زمان باید طراحی شود. بازیکنان رسانه قابل حمل و کنفرانسهای ویدئویی آنلاین نمونههایی از سیستم در زمان واقعی نرم هستند. نمونههایی از سیستمهای بلادرنگ سخت شامل سیستم درایوهای سیم در خودرو، سیستم پرواز با سیم در ارتباطات هوایی، سیستمهای کنترل موشک و سیستمهای فضایی مستقل هستند.
سیستم عاملهای زمان واقعی سخت بر روی محدودیتهای زمانبندی بهعنوان مهمترین مسئله در طراحی سیستم تمرکز دارند و نسبت به تحملپذیری خطا بههمان اندازهی محدودیت زمان توجه ندارند. از آنجا که وقوع شکست در RTOS هم که باعث تولید نتایج نادرست به دلیل محاسبات اشتباه و یا باعث تولید نتایج نامعتبر میشود زیرا مهلت از دست رفته است، اجرای تکنیک تحملپذیری خطا باید در طراحی سیستم در نظر گرفته شود. در این مقاله چند ویژگی اصلی RTOS همراه با تعدادی از تکنیکهای تحملپذیری خطا ارائه شده است که میتواند در هر یک از ویژگیها استفاده شود.
3. ویژگی RTOSS، و فنون تحملپذیری خطا
در بخشهای قبلی، به اهمیت پیادهسازی تکنیکهای تحملپذیری خطا در RTOS، به ویژه کسانی که در حوزه ایمنی بحرانی کار میکنند مورد بحث قرار گرفت. در این بخش، تعدادی از ویژگیهای RTOS همراه با برخی از تکنیکهای تحملپذیری خطا ارائه شده است که میتواند برای هر یک از ویژگیها استفاده شود.
A) مدیریت حافظه
بهمنظور حفاظت از اجزای سیستم عامل، مستعد ابتلا به شکست، تحملپذیری خطا با حفاظت از حافظه آغاز میشود. زیرا رفتار برنامه به دادهها در حافظه بستگی دارد وجود خطا در این دادهها باعث خطا و شکست در برنامه میشود.
از آنجا که انعطافپذیری و قابلیت برنامههای کاربردی در حال افزایش است و همچنین آنها نیاز به دسترسی پویا به حافظه دارند، الگوریتم تخصیص ذخیرهسازی پویا (DSA) نقش مهمی در سیستم عاملها بازی میکند. علاوه بر انعطافپذیری، برنامههای زمان واقعی نیاز به پیشبینی بیش از حد دارند، بهعنوان مثال حافظه باید به صورت پویا در یک زمان محدود و از پیش تعیین شده اداره می شود. استفاده از DSA منجر به عدم قطعیت در RTOS، به دلیل زمان پاسخ نامحدود از الگوریتم DSA و مشکل تکه تکه شدن میشود. در [9] یک الگوریتم DSA با نام TLSF توسعه داده شده است که در RTOS بهکار گرفته شده است. TLSF تخصیص صریح و تخصیص بلوکهای حافظه با زمانبندی محدود و قابل قبول Ɵ (1) فراهم میکند. استفاده از بیتمپ ها و کمک بیت مپ روش دیگری برای تخصیص حافظه ایمن و قابل اعتماد است. این تکنیک توسط [10] که در RTEMS RTOS به کار گرفته شده است، معرفی میشود.
سیستم عاملها از واحد مدیریت حافظه (MMU) برای اجرای وظایف در آدرس حافظه محافظت شده استفاده میکنند. با این وجود برخی RTOS ها MMU و استفاده از آن را غیر فعال میکنند. [9] OSEK-VDX، μITRON و RTAI نموه هایی از چنین RTOS هایی هستند که MMU را غیرفعال میکنند [11]. با غیرفعال کردن MMU سیستم عامل و تمام فرایندها در فضای آدرس همان را اجرا میکنند و هر وظیفه، دسترسی به کدها و دادههای سیستم عامل و فرآیندهای دیگر را دارد. ازاینرو اگر یک کد بد نوشته شود و یا یک اشکال در یک کد باشد، برای مثال در اشارهگر مدیریت، منجر به شکست در هسته میشود و در نتیجه سقوط سیستم عامل میشود. بدون حفاظت آدرس حافظه، همچنین برخی از اشکالات خطا میشود که به سختی قابل تشخیص است. بهعنوان مثال در پردازندههای PowerPC، RAM معمولا در آدرس فیزیکی 0 واقع میشود، طوری که حتی یک ارجاع اشارهگر NULL ممکن است شناسایی شود [12]. بهمنظور جلوگیری از چنین شکستی، RTOS باید MMU استفاده کند. با فعال کردن MMU، هر زمان که پشته یک کار سرریز کرد، یک استثنا سرریز مطرح شده است و سیستم عامل اجرای وظیفه را متوقف میکند. بهجای متوقف کردن اجرای وظیفه، سیستم عامل میتواند کار را به حالت تعلیق درآورد و مشکل محدودیت پشته توسط مهاجرت وظیفه سرریز شده به یک فضای آدرس حافظه جدید با ظرفیت بزرگتر، با توجه فضاهای محفوظ و بیقید و شرط و سپس اجرای دوباره وظیفهی معلق را حل کند. طراح RTOS باید زمان مهاجرت بههنگام تجزیهوتحلیل سیستم را داشته باشد.
رفع اشکالات یکی از تکنیکهای مهم در تحملپذیری خطا [3] است. این روش را میتوان برای حافظه هنگامیکه یک فرآیند بارگذاری میشود بهکار برد، سیستم عامل دادههای آن و حالتها را در بیش از یک مکان/حافظه (سه مکان/ TMR) تکرار میکند. هر زمان که وظیفه/حالت یک داده تغییر میکند، این تغییرات به همه کپیها اعمال میشود. هر زمان که کار میخواهد شروع به خواندن دادهها از حافظه کند، یک کپی برای تعیین اینکه آیا دادهها سهوا تغییر و یا خراب نشدهاند (به هر دلیل، مانند تابش یونی سنگین) و همچنین برای تعیین داده درست می تواند مورد استفاده قرار گیرد. افزونگی حافظه میتواند در هر دو سطح نرمافزار و سطح سختافزار [13] پشتیبانی شود.
علاوه بر افزونگی، یک سیستم مدیریت حافظه مقاوم در برابر خطا را میتوان با چهار مکانیزم همزمان ساخت: اولین مکانیسم ضبط که برای ضبط بهروزرسانی حافظه (نوشتن) حوادث فعال میشود، ثانیا مکانیسم ضبط دوم که سوابق حداقل تعداد محدودی از حافظه را ضبط میکند، یک فعالکننده برای فعال کردن اولین مکانیسم ضبط در این رویداد از رخداد خطا و یک مکانیزم ادغام مجدد حافظه که توسط ادغام برخی از بخشهایی حافظه [14] برای بازیابی اطلاعات استفاده شده است. در این سیستم مدیریت حافظه، بازیابی خطا میتواند به سرعت و کارآمد با ادغام صفحات حافظه و با در نظر گرفتن بهروزرسانی حافظه ورودی مشخص شده در مکانیزم ضبط اول و دوم انجام شود.
حافظه کد تصحیح خطا (حافظه ECC) ابزاری برای بهبود قابلیت اطمینان سیستم عامل از منظر حفاظت از حافظه است. حافظه ECC یک نوع از ذخیرهسازی دادههای کامپیوتر است که توانایی تشخیص و تصحیح انواع بسیاری از خطاهای داخلی داده را دارد. این حافظه به خطاهای تک بیتی مقاوم است: دادهای که از هر کلمه خوانده میشود همان داده است که در آن نوشته شده است، حتی اگر یک بیت به حالت اشتباه [15] باشد. برخی از حافظههای غیر ECC با برابری پشتیبانی اجازه میدهد تا اشتباهات شناسایی شود، اما قابل اصلاح نیست. قابلیت اطمینان یک RTOS مقاوم در برابر خطا با به کارگیری این نوع از حافظه بهبود یافته است. در مقابل این تکنیک مبتنی بر سختافزار، روشهای مبتنی بر نرمافزار تشخیص و تصحیح خطا در حافظه وجود دارد که [16] هر دو قابلیت اطمینان و انعطافپذیری را دارا هستند.
B) ملاحظات هسته
تشخیص خطا را میتوان با روشهای سختافزاری و یا نرمافزار انجام داد، از جمله عنوان “تشخیص خطای گذرا از طریق چند رشته بهطور همزمان” [17] که بهعنوان مثال از روشهای نرمافزاری است. هسته RTOS مقاوم در برابر خطا باید مکانیزمی را رائه کند که هر زمان که خطا رخ میدهد، یک پیام به یک عامل فرستاده شود که وظیفه انجام برخی از انواع اقدامات بازیابی خطا را فراهم میکند. این عامل که به نام سرپرست شناخته شده است باید در یک فضای آدرس جدا شده اجرا شود، زیرا دادهها در فضای آدرس حاوی وظیفه معیوب ممکن است خراب شوند. بهعنوان مثال در Nooks که یک زیر سیستم قابلیت اطمینان است، مدیر بازیابی Nooks یک عامل برای بازیابی خطا [18] است. VxWorks RTOS یک ساختار درختی برای مدیریت اطلاع خطا توسط اجزای سطح بالاتر در درخت سلسله مراتبی [19] است که توسط قطعات سیستم عامل تولید شده است. سرپرست وظیفهی بازیابی کارهای خطادار را با استفاده از بهبود backward- Forward و یا شروع دوباره آن دارد. استراتژی بهبود انتخاب شده باید در تجزیهوتحلیل سیستم در نظر گرفته شده و تعریف شود.
|