فریآرتوس: تفاوت میان نسخهها
بدون خلاصۀ ویرایش |
جز جایگزینی با اشتباهیاب: بطور⟸بهطور، بلادرنگ⟸بیدرنگ |
||
خط ۳: | خط ۳: | ||
{{Infobox OS |
{{Infobox OS |
||
|name=سیستم عامل |
|name=سیستم عامل بیدرنگ رایگان |
||
|logo=Logo freeRTOS.png |
|logo=Logo freeRTOS.png |
||
|screenshot= |
|screenshot= |
||
خط ۲۵: | خط ۲۵: | ||
|updatemodel= |
|updatemodel= |
||
}} |
}} |
||
[[:en:Real-time_operating_system|سیستم عامل]] فری آرتیاواس{{به انگلیسی|DISPLAYTITLE:FreeRTOS}} یک هسته سیستم عامل |
[[:en:Real-time_operating_system|سیستم عامل]] فری آرتیاواس{{به انگلیسی|DISPLAYTITLE:FreeRTOS}} یک هسته سیستم عامل بیدرنگ برای [[:en:Embedded_devices|سامانههای نهفته]] است و از ۳۵ نوع معماری پلتفرم [[:en:Microcontroller|میکروکنترلر]] پشتیبانی میکند<ref>{{یادکرد وب|عنوان=OSRTOS|نشانی=https://www.osrtos.com/|وبگاه=www.osrtos.com|بازبینی=2019-05-18}}</ref>. این سیستم عامل تحت [[:en:MIT_License|پروانه MIT]] توزیع شده است. |
||
== پیادهسازی == |
== پیادهسازی == |
||
خط ۱۳۵: | خط ۱۳۵: | ||
=== SAFERTOS === |
=== SAFERTOS === |
||
SAFERTOS به عنوان نسخه تکمیلکننده FreeRTOS توسعه داده شد، با عملکرد مشابه اما طراحی شده |
SAFERTOS به عنوان نسخه تکمیلکننده FreeRTOS توسعه داده شد، با عملکرد مشابه اما طراحی شده بهطور خاص برای پیادهسازیهای با امنیت حیاتی. FreeRTOS تحت پوشش [[:en:Hazard_and_operability_study|HAZOP]] قرار گرفت و نقاط ضعف آن شناسایی و برطرف شد. نتیجه در دورهی حیات توسعه کامل [[:en:IEC_61508|IEC 61508]] منتشر شد که بالاترین سطح برای یک بخش فقط سختافزاری محسوب میشود. |
||
SAFERTOS توسط سیستمهای بسیار یکپارچه WITTENSTEIN توسعه داده شد، با همکاری توسعهدهندگان اصلی بخش مهندسان |
SAFERTOS توسط سیستمهای بسیار یکپارچه WITTENSTEIN توسعه داده شد، با همکاری توسعهدهندگان اصلی بخش مهندسان بیدرنگ در پروژه FreeRTOS. هر دوی FreeRTOS و SAFERTOS الگوریتم زمانبندی مشابهای را استفاده میکنند، [[:en:API|رابط کاربری]] مشابهای دارند و در نتیجه بسیار مشابه هستند اما با اهداف متفاوتی توسعه داده شدهاند. SAFERTOS فقط در [[:en:C_language|زبان c]] توسعه داده شده تا ملزومات گواهی IEC61508 را تامین کند. |
||
SAFERTOS برای مطابقت با استانداردها میتواند به تنهایی در [[:en:Read-only_memory|حافظه فقط خواندنی]] میکروکنترلر قرار گیرد. زمانی که در حافظه سختافزاری پیاده میشود، که SAFERTOS فقط با پیکربندی اصلی و مورد تایید قابل استفاده است. این به این معنی است که گواهی تایید سیستم نیازی به بررسی مجدد هسته خروجی طراحیشان ندارند. SAFERTOS در حافظه فقط خواندنی بعضی از میکروکنترلر Stellaris از شرکت Texas وجود دارد. کد منبع SAFERTOS نیازی نیست تا |
SAFERTOS برای مطابقت با استانداردها میتواند به تنهایی در [[:en:Read-only_memory|حافظه فقط خواندنی]] میکروکنترلر قرار گیرد. زمانی که در حافظه سختافزاری پیاده میشود، که SAFERTOS فقط با پیکربندی اصلی و مورد تایید قابل استفاده است. این به این معنی است که گواهی تایید سیستم نیازی به بررسی مجدد هسته خروجی طراحیشان ندارند. SAFERTOS در حافظه فقط خواندنی بعضی از میکروکنترلر Stellaris از شرکت Texas وجود دارد. کد منبع SAFERTOS نیازی نیست تا بهطور جداگانه سفارش داده شود. در این سناریوی مصرف یک فایل هدر c استفاده میشود تا توابع و واسط کاربری SAFERTOS به مکانهایشان در حافظه فقط خواندنی مرتبط شوند. |
||
=== OPENRTOS === |
=== OPENRTOS === |
||
خط ۱۵۳: | خط ۱۵۳: | ||
{{پانویس}} |
{{پانویس}} |
||
{{ترتیبپیشفرض:سیستم عامل |
{{ترتیبپیشفرض:سیستم عامل بیدرنگ رایگان (FreeRTOS)}} |
||
[[رده:ریزهستهها]] |
[[رده:ریزهستهها]] |
||
[[رده:سیستمعاملهای آرم]] |
[[رده:سیستمعاملهای آرم]] |
||
[[رده:سیستمعاملهای آزاد]] |
[[رده:سیستمعاملهای آزاد]] |
||
[[رده:سیستمعاملهای |
[[رده:سیستمعاملهای بیدرنگ]] |
||
[[رده:سیستمعاملهای توکار]] |
[[رده:سیستمعاملهای توکار]] |
||
[[رده:سیستمعاملهای مبتنی بر ریزهسته]] |
[[رده:سیستمعاملهای مبتنی بر ریزهسته]] |
نسخهٔ ۲۶ مارس ۲۰۲۰، ساعت ۱۳:۳۳
این مقاله نیازمند تمیزکاری است. لطفاً تا جای امکان آنرا از نظر املا، انشا، چیدمان و درستی بهتر کنید، سپس این برچسب را بردارید. محتویات این مقاله ممکن است غیر قابل اعتماد و نادرست یا جانبدارانه باشد یا قوانین حقوق پدیدآورندگان را نقض کرده باشد. |
این مقاله نیازمند ویکیسازی است. لطفاً با توجه به راهنمای ویرایش و شیوهنامه، محتوای آن را بهبود بخشید. (آوریل ۲۰۱۹) |
توسعهدهنده | Real Time Engineers Ltd. |
---|---|
خانواده | سیستمعامل بیدرنگs |
وضعیت توسعه | 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. |
گونه هسته | ریزهسته |
پروانه | پروانه امآیتی |
وبگاه رسمی |
سیستم عامل فری آرتیاواس(به انگلیسی: DISPLAYTITLE:FreeRTOS) یک هسته سیستم عامل بیدرنگ برای سامانههای نهفته است و از ۳۵ نوع معماری پلتفرم میکروکنترلر پشتیبانی میکند[۱]. این سیستم عامل تحت پروانه MIT توزیع شده است.
پیادهسازی
FreeRTOS طراحی شدهاست تا ساده و کوچک باشد. هسته اصلی تنها از ۳ فایل با فرمت .c تشکیل شدهاست. به منظور سادگی و سهولت در تفییر عمدتاً به زبان c نوشته شدهاست، اما تعداد کمی توابع به زبان ماشین (اسمبلی) نیز در نقاطی از برنامه که مورد نیاز بوده استفاده شدهاست. (عمدتاً در روالهای زمانبند معماری محور)
FreeRTOS روشهایی را برای چندنخی (رشتههای اجرایی همزمان)، چندوظیفگی، سمافورها و شمارندههای نرمافزاری فراهم میآورد. یک حالت بدون تیک (بدون وقفه شمارنده) نیز برای کاربردهای با مصرف انرژی کم تهیه شدهاست. اولویت بندی نخها (رشتههای پردازشی) نیز پشتیبانی میشود. کاربردهای FreeRTOS میتوانند بهصورت کاملاً ایستا تخصیص یابند. از سوی دیگر، اجزای RTOS میتوانند بهصورت پویا با ۵ روش تخصیص حافظه فراهم شده اختصاص یابند.
- فقط اختصاص بده
- با یک الگوریتم ساده و سریع اختصاص بده و آزاد کن
- یک الگوریتم اختصاص و رهاسازی با پیچیدگی بیشتر اما سریعتر با هماهنگی حافظه
- یک روش جایگزین برای روش پیچیدهتر که شامل هماهنگی حافظه میشود و همچنین به یک هیپ اجازه تجزیه و ذخیره شدن در چند مکان حافظه را میدهد
- و کتابخانه تخصیص و رهاسازی c با برخی محافظتهای طرد متقابل
هیچ ویژگی پیچیدهتر دیگری که معمولاً در سیستمهای عامل مانند لینوکس و ویندوز مثل درایورهای دستگاههای متصل مدیریت حافظه پیشرفته، حسابهای کاربری و شبکه دیده میشوند، وجود ندارند. تأکید روی فشرده (خلاصه و سبک) بودن و سرعت اجرا است. FreeRTOS را میتوان به عنوان یک کتابخانه نخ (رشته پردازشی) تصور کرد، بیشتر از آنکه یک سیستم عامل باشد، اگرچه رابط خط دستور (command line) و POSIX-like افزونههای مربوط به ورودی خروجی موجود هستند. همچنین توسط کتابخانههای مشهوری مانند SSL/TLS نیز مثل WolfSSL پشتیبانی میشود.
FreeRTOS روش چند نخی (چند رشتهٔ پردازشی) را با فراخوانی رویه تیک نخ (رشته پردازشی) در زمانهای کوتاه منظم توسط برنامه میزبان پیادهسازی میکند. رویه تیک نخ (رشتهٔ پردازشی) وظیفهها را بر اساس اولویت و روش زمانبندی Round-Robin تغییر میدهد (یا بین آنها جابهجا میشود). این زمان دورهای منظم معمولاً از ۱/۱۰۰۰ ثانیه تا ۱/۱۰۰ ثانیه است که توسط وقفه یک شمارنده سختافزاری انجام میشود، اما این زمان دورهای معمولاً با توجه به کاربرد مورد نظر تعییر میکند.
دانلود شامل ساختار آماده و نمایش برای هر خروجی و کامپایلری است که طراحی سریع کاربرد را ممکن میسازد. سایت FreeRTOS.org همچنین شامل تعداد زیادی اسناد و آموزشهای RTOS میشود (آموزشها و دستورالعملهای بیشتر و همینطور جزئیات طراحی RTOS بهصورت پرداختمحور در دسترس هستند).
ویژگیهای کلیدی
- کتاب و دستورالعملهای مرجع
- اشغال کم حافظه، سرریز کم و سرعت اجرای بالا
- امکان بدون تیک (بدون وقفه) برای کاربردهای با مصرف انرژی کم
- ایجاد شده هم برای توسعهدهندگان متخصص و هم توسعهدهندگان تازهکار برای اهداف تجاری
- زمانبند هم برای عملیات انحصاری و هم عملیات شراکتی میتواند پیکربندی شود
- پشتیبانی از روالهای عادی همکاری (coroutine) (coroutine ها در FreeRTOS عملیاتهای ساده و سبک با استفادهی محدود از فراخوانی پشته هستند.)
- پشتیبانی از پیگیری عملیات از طریق روشهای کلی ردگیری. ابزارهای مانند tracealyzer که توسط شریک تجاری FreeRTOS، یعنی Percepio ارائه شده میتواند رفتار زمان اجرا سیستمهای بر اساس FreeRTOS را ضبط و نمایش دهد. این شامل زمانبندی وظایف و فراخوانی هسته سیستم برای عملیاتهای سمافورها و صف میشود. traceatyzer یک نسخه رایگان نیز ارائه میدهد که ویژگیهای محدودی را در اختیار قرار میدهد.
معماریهای پشتیبانی شده
- Altera Nios II
- ARM architecture
- Atmel
- Cortus
- APS1
- APS3
- APS3R
- APS5
- FPS6
- FPS8
- Cypress
- Energy Micro
- Espressif
- Fujitsu
- FM3
- MB91460
- MB96340
- Freescale
- IBM
- PPC404 / PPC405
- Infineon
- Intel
- Microchip Technology
- PIC18 / PIC24 / dsPIC
- PIC32
- Microsemi
- Multiclet
- NXP
- Renesas
- Silicon Labs
- Gecko (ARM Cortex)
- STMicroelectronics
- STM32
- STR7
- Texas Instruments
- Xilinx
مشتقات
Amazon FreeRTOS
آمازون یک تعمیم از FreeRTOS را فراهم کرده است که با عنوان a:FreeRTOS مورد ارجاع قرار میگیرد. این یک FreeRTOS با کتابخانههایی برای پشتیبانی از اینترنت اشیاء است. مخصوصا برای سرویسهای وب آمازون. از نسخه ۱۰.۰.۰ در ۲۰۱۷، آمازون نظارت بر کد FreeRTOS را بر عهده گرفته است. که شامل هرگونه بروزرسانی در هسته نیز میشود.
SAFERTOS
SAFERTOS به عنوان نسخه تکمیلکننده FreeRTOS توسعه داده شد، با عملکرد مشابه اما طراحی شده بهطور خاص برای پیادهسازیهای با امنیت حیاتی. FreeRTOS تحت پوشش HAZOP قرار گرفت و نقاط ضعف آن شناسایی و برطرف شد. نتیجه در دورهی حیات توسعه کامل IEC 61508 منتشر شد که بالاترین سطح برای یک بخش فقط سختافزاری محسوب میشود.
SAFERTOS توسط سیستمهای بسیار یکپارچه WITTENSTEIN توسعه داده شد، با همکاری توسعهدهندگان اصلی بخش مهندسان بیدرنگ در پروژه FreeRTOS. هر دوی FreeRTOS و SAFERTOS الگوریتم زمانبندی مشابهای را استفاده میکنند، رابط کاربری مشابهای دارند و در نتیجه بسیار مشابه هستند اما با اهداف متفاوتی توسعه داده شدهاند. SAFERTOS فقط در زبان c توسعه داده شده تا ملزومات گواهی IEC61508 را تامین کند.
SAFERTOS برای مطابقت با استانداردها میتواند به تنهایی در حافظه فقط خواندنی میکروکنترلر قرار گیرد. زمانی که در حافظه سختافزاری پیاده میشود، که SAFERTOS فقط با پیکربندی اصلی و مورد تایید قابل استفاده است. این به این معنی است که گواهی تایید سیستم نیازی به بررسی مجدد هسته خروجی طراحیشان ندارند. SAFERTOS در حافظه فقط خواندنی بعضی از میکروکنترلر Stellaris از شرکت Texas وجود دارد. کد منبع SAFERTOS نیازی نیست تا بهطور جداگانه سفارش داده شود. در این سناریوی مصرف یک فایل هدر c استفاده میشود تا توابع و واسط کاربری SAFERTOS به مکانهایشان در حافظه فقط خواندنی مرتبط شوند.
OPENRTOS
OPENRTOS یک نسخه با مجوز تجاری از Amazon FreeRTOS است که توسط شرکت سیستمهای بسیار یکپارچه WITTENSTEIN فروخته میشود. این محصول یک پشتیبانی را فراهم میآورد و به شرکتها اجازه میدهد که از هسته و کتابخانههای Amazon FreeRTOS بدون گواهی a:FreeRTOS MIT استفاده کنند.