این مقاله نیازمند تمیزکاری است. لطفاً تا جای امکان آنرا از نظر املا، انشا، چیدمان و درستی بهتر کنید، سپس این برچسب را بردارید. محتویات این مقاله ممکن است غیر قابل اعتماد و نادرست یا جانبدارانه باشد یا قوانین حقوق پدیدآورندگان را نقض کرده باشد. |
این مقاله نیازمند ویکیسازی است. لطفاً با توجه به راهنمای ویرایش و شیوهنامه، محتوای آن را بهبود بخشید. (آوریل ۲۰۱۹) |
توسعهدهنده | Real Time Engineers Ltd. |
---|---|
خانواده | سیستمعامل بیدرنگ |
وضعیت توسعه | Current |
مدل منبع | Source available |
انتشار پایدار | ۱۰٫۲٫۰ February 25th, 2019 |
مخزن | |
بازار هدف | سامانه نهفته |
بنسازه رایانش | معماری آرم (ARM7, ARM9, Cortex-M3، Cortex-M4، Cortex-A), ریزکنترلگر ایویآر، AVR32، HCS12، MicroBlaze, Cortus (APS1, APS3, APS3R, APS5, FPF3, FPS6, FPS8), MSP430، میکروکنترولر پیآیسی، Renesas H8/S, SuperH, RX, اکس۸۶، اینتل امسیاس-۵۱، Coldfire, V850, 78K0R, Fujitsu MB91460 series, Fujitsu MB96340 series, Nios II, Cortex-R4, TMS570, RM4x, Espressif ESP32. |
گونه هسته | ریزهسته |
پروانه | پروانه امآیتی |
وبگاه رسمی |
سیستم عامل فری آرتیاواس (به انگلیسی: FreeRTOS) یک هسته سیستمعامل بیدرنگ برای سامانههای نهفته است و از ۳۵ نوع معماری پلتفرم میکروکنترلر پشتیبانی میکند. [۱] این سیستمعامل تحت پروانه MIT توزیع شدهاست.
FreeRTOS طراحی شدهاست تا ساده و کوچک باشد. هسته اصلی تنها از ۳ فایل با فرمت c تشکیل شدهاست. به منظور سادگی و سهولت در تغییر عمدتاً به زبان c نوشته شدهاست، اما تعداد کمی توابع به زبان ماشین (اسمبلی) نیز در نقاطی از برنامه که مورد نیاز بوده استفاده شدهاست. (عمدتاً در روالهای زمانبند معماریمحور)
فریآرتیاواس روشهایی را برای چندریسهای (رشتههای اجرایی همزمان)، چندوظیفگی، نشانبرها (سمافورها) و شمارندههای نرمافزاری فراهم میآورد. یک حالت بدون تیک (بدون وقفه شمارنده) نیز برای کاربردهایی با مصرف انرژی کم تهیه شدهاست. اولویتبندی نخها (رشتههای پردازشی) نیز پشتیبانی میشود. کاربردهای FreeRTOS میتوانند بهصورت کاملاً ایستا تخصیص یابند.
از سوی دیگر، اجزای RTOS میتوانند بهصورت پویا با ۵ روش تخصیص حافظه فراهم شده اختصاص یابند:
هیچ ویژگی پیچیدهتر دیگری که معمولاً در سیستمهای عامل مانند لینوکس و ویندوز مثل درایورهای دستگاههای متصل مدیریت حافظه پیشرفته، حسابهای کاربری و شبکه دیده میشوند، وجود ندارند. تأکید روی فشرده (خلاصه و سبک) بودن و سرعت اجرا است. FreeRTOS را میتوان به عنوان یک کتابخانه نخ (رشته پردازشی) تصور کرد، بیشتر از آنکه یک سیستم عامل باشد، اگر چه رابط خط دستور (command line) و POSIX-like افزونههای مربوط به ورودی/خروجی موجود هستند. همچنین توسط کتابخانههای مشهوری مانند SSL/TLS نیز مثل WolfSSL پشتیبانی میشود.
FreeRTOS روش چند نخی (چند رشتهٔ پردازشی) را با فراخوانی رویه تیک نخ (رشته پردازشی) در زمانهای کوتاه منظم توسط برنامه میزبان پیادهسازی میکند. رویه تیک نخ (رشتهٔ پردازشی) وظیفهها را بر اساس اولویت و روش زمانبندی Round-Robin تغییر میدهد (یا بین آنها جابهجا میشود). این زمان دورهای منظم معمولاً از ۱/۱۰۰۰ ثانیه تا ۱/۱۰۰ ثانیه است که توسط وقفه یک شمارنده سختافزاری انجام میشود، اما این زمان دورهای معمولاً با توجه به کاربرد مورد نظر تغییر میکند.
فایل دانلودی شامل ساختار آماده و نمایش برای هر خروجی و کامپایلری است که طراحی سریع کاربرد را ممکن میسازد. سایت FreeRTOS.org همچنین شامل تعداد زیادی اسناد و آموزشهای RTOS میشود (آموزشها و دستورالعملهای بیشتر و همینطور جزئیات طراحی RTOS بهصورت پرداختمحور در دسترس هستند).
آمازون یک تعمیم از FreeRTOS را فراهم کردهاست که با عنوان a:FreeRTOS مورد ارجاع قرار میگیرد. این یک FreeRTOS با کتابخانههایی برای پشتیبانی از اینترنت اشیاء است. مخصوصاً برای سرویسهای وب آمازون. از نسخه ۱۰٫۰٫۰ در ۲۰۱۷، آمازون نظارت بر کد FreeRTOS را بر عهده گرفتهاست. که شامل هرگونه بروزرسانی در هسته نیز میشود.
SAFERTOS به عنوان نسخه تکمیلکننده FreeRTOS توسعه داده شد، با عملکرد مشابه اما طراحی شده بهطور خاص برای پیادهسازیهای با امنیت حیاتی. FreeRTOS تحت پوشش HAZOP قرار گرفت و نقاط ضعف آن شناسایی و برطرف شد. نتیجه در دورهٔ حیات توسعه کامل IEC 61508 منتشر شد که بالاترین سطح برای یک بخش فقط سختافزاری محسوب میشود.
SAFERTOS توسط سیستمهای بسیار یکپارچه WITTENSTEIN توسعه داده شد، با همکاری توسعهدهندگان اصلی بخش مهندسان بیدرنگ در پروژه FreeRTOS. هر دوی FreeRTOS و SAFERTOS الگوریتم زمانبندی مشابهای را استفاده میکنند، رابط کاربری مشابهای دارند و در نتیجه بسیار مشابه هستند اما با اهداف متفاوتی توسعه داده شدهاند. SAFERTOS فقط در زبان c توسعه داده شده تا ملزومات گواهی IEC61508 را تأمین کند.
SAFERTOS برای مطابقت با استانداردها میتواند به تنهایی در حافظه فقط خواندنی میکروکنترلر قرار گیرد. زمانی که در حافظه سختافزاری پیاده میشود، که SAFERTOS فقط با پیکربندی اصلی و مورد تأیید قابل استفاده است. این به این معنی است که گواهی تأیید سیستم نیازی به بررسی مجدد هسته خروجی طراحیشان ندارند. SAFERTOS در حافظه فقط خواندنی بعضی از میکروکنترلر Stellaris از شرکت Texas وجود دارد. کد منبع SAFERTOS نیازی نیست تا بهطور جداگانه سفارش داده شود. در این سناریوی مصرف یک فایل هدر c استفاده میشود تا توابع و واسط کاربری SAFERTOS به مکانهایشان در حافظه فقط خواندنی مرتبط شوند.
OPENRTOS یک نسخه با مجوز تجاری از Amazon FreeRTOS است که توسط شرکت سیستمهای بسیار یکپارچه WITTENSTEIN فروخته میشود. این محصول یک پشتیبانی را فراهم میآورد و به شرکتها اجازه میدهد که از هسته و کتابخانههای Amazon FreeRTOS بدون گواهی a:FreeRTOS MIT استفاده کنند.