معرفی چند مدل سیستم عامل برای آردوینو

Arduino Operating System

معرفی چند مدل سیستم عامل برای آردوینو

در این مقاله، راهنمایی لازم درباره پنج سیستم عامل برتر برای Arduinos، از جمله نوع برنامه ریزی، میزان مستندات و نحوه پشتیبانی، بیان می شوند.

 

سیستم عامل برای آردوینو

windows opertaing system
windows opertaing system

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

بستر کلی شامل یک محیط توسعه یکپارچه (IDE) به نام Arduino IDE است که کاربران می توانند از آن برای نوشتن ، تدوین و بارگذاری کد در یک صفحه توسعه (که معمولاً به میکروکنترلر Atmel AVR مجهز است) استفاده کنند.

اصطلاحی که اغلب هنگام بحث در مورد سیستم عامل برای آردوینو مطرح می شود  context switching است.

اساساً ، یک سیستم عامل در زمان واقعی (RTOS) با تضمین زمان در نظر گرفته شده است.

برای تحقق این ضمانت های زمانی ، دو نوع برنامه ریزی وجود دارد که توسط سیستم عامل برای جابجایی بین وظایف مورد استفاده قرار می گیرد:

  • مشارکتی 

  • پیشگیرانه

سیستم عامل های مشارکتی برای امکان سوئیچ متن، معمولاً در توابع خواب که به طور خاص اجرا می شوند، به تماس های عملکردی ویژه ای نیاز دارند.

در حالی که سیستم عامل های پیشگیرانه معمولاً دارای وقفه های مبتنی بر تایمر هستند که می توانند در هر زمان ، یک کار در حال اجرا را در متن تغییر دهند.

نکات مثبت و مفی 

مانند هر چیز دیگری در زندگی ، همیشه با تصمیم گیری در زمینه طراحی مبادله می شود.

سیستم عامل های پیشگیرانه عالی هستند زیرا با برنامه ریزی زمانی همیشه منصفانه عمل می کنند.

این بدان معنی است که اگر می خواهید رشته ای هر ۱۰ میلی ثانیه اجرا شود ، در شرایط عادی ، سیستم عامل باید امکان وقوع آن را تضمین کند.

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

ماهیت سیستم عامل های تعاملی ماهیت ساده تری دارند زیرا فقط در صورت تماس های خاص مانند روش های تأخیر ، زمینه تغییر می کند.

با این حال ، این باعث می شود که آنها ذاتاً در اولویت بندی کارها ناعادلانه باشند ،

کما اینکه اگر یک وظیفه حلقه زمانی دارید که هرگز نتیجه نمی دهد ، سایر کارها هرگز اجرا نمی شوند.

 

برخی نکات مهم

Arduino boards
Arduino boards

سیستم عامل ها دارای انواع مختلفی هستند، بنابراین در بررسی این لیست به چند عامل اساسی پرداختیم:

 

  • طیف گسترده ای از سیستم عامل های پشتیبانی شده: برای اینکه سیستم عامل از هر نظر استفاده کند، ابتدا باید با برد شما سازگار باشد: کدام میکروکنترلرهای اکوسیستم آردوینو پشتیبانی می شوند؟

  • مستندات جامع: مستندات چقدر دقیق هستند و آیا نمونه هایی برای کمک به کاربران جدید برای شروع وجود دارد؟

  • پشتیبانی جامع: به طور کلی ، هرچه یک قطعه کد محبوبیت بیشتری داشته باشد ، شانس شما برای دریافت پشتیبانی در یک انجمن در جایی بیشتر است. آیا جامعه قدرتمندی پیرامون سیستم عامل وجود دارد؟

 

CoopThreads

CoopThreads
CoopThreads

 

CoopThreads یک برنامه ریز مشارکتی است که سبک طراحی شده است تا بتواند با میکروکنترلرهای ۸ بیتی کار کند (برخلاف RTOS کاملاً کامل).

از طیف گسترده ای از Arduinos ، از جمله میکروکنترلرهای مبتنی بر AVR- ، ESP32- و ESP8266 پشتیبانی می کند.

گرچه این کتابخانه در مقایسه با برخی از سیستم عامل های زیر مستندات کمی دارد ،

اما چندین مثال دارد که باید به کاربران در آشنایی با CoopThreads کمک کند.

 

  • نوع سیستم عامل: مشارکتی

  • سطح اسناد: نمونه های محدود ، اما خوبی

  • سیستم عامل های پشتیبانی شده: دامنه وسیع شامل میکروکنترلرهای AVR ، ESP32 و ESP8266

  • محبوبیت: کم

  • کجا می توان آن را پیدا کرد: GitHub

 

FreeRTOS

FreeRTOS
FreeRTOS

FreeRTOS یک RTOS بسیار محبوب و منبع باز است که بسته به نحوه پیکربندی آن از زمانبندی پیشگیرانه یا مشارکتی پشتیبانی می کند.

این برنامه از طیف گسترده ای از میکروکنترلرهای خانواده آردوینو مانند ATmega328 ، ATmega32u4 ، ATmega1284p و ATmega2560 پشتیبانی می کند.

محبوبیت FreeRTOS به معنای دریافت پشتیبانی و یافتن مثالهایی بسیار آسان است.

سطح اسناد موجود بسیار عالی است.

FreeRTOS همچنین بسیاری از ویژگی های اضافی مانند مدیریت حافظه پویا ، ارتباط وظیفه (صف) و سایر موارد اولیه مفید را ارائه می دهد.

 

  • نوع سیستم عامل: پیش شرطی یا مشارکتی

  • سطح مستندات: عالی است

  • سیستم عامل های پشتیبانی شده: بیش از ۴۰ معماری از جمله AVR (Arduino Uno ، Nano ، Leonardo و Mega)

  • محبوبیت: زیاد

  • از کجا می توان آن را پیدا کرد:GitHubFreeRTOS

 

HeliOS

HeliOS
HeliOS

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

با انتخاب برنامه ریزی مشترک ، HeliOS باید از برخی سیستم عامل های دیگر نوشتن کد امن برای آنها آسان تر باشد.

HeliOS از میکروکنترلرهای مبتنی بر AVR- ، ARM- و SAMD پشتیبانی می کند.

هنوز در حال توسعه فعال است.

اما دارای برخی از ویژگی های اضافی دیده شده در FreeRTOS ، مانند مدیریت حافظه ، پیام رسانی وظیفه (صف ها) و تایمرها است.

 

  • نوع سیستم عامل: مشارکتی

  • سطح اسناد: عادلانه

  • سیستم عامل های پشتیبانی شده: طیف خوبی از میکروکنترلرها

  • محبوبیت: متوسط

  • کجا می توان آن را پیدا کرد: GitHub

 

Simba

Simba
Simba

Simba یک سکوی برنامه نویسی تعبیه شده است ، که آن را از سایر گزینه های موجود در این قسمت متمایز می کند

زیرا از مواردی غیر از مدیریت کار پشتیبانی می کند.

سطح اسناد عالی است

همچنین تعداد سیستم عامل هایی که پشتیبانی می کند.

Simba همچنین دارای پشتیبانی از درایورهای دستگاه های جانبی رایج مانند SPI و I2C ، به علاوه سیستم های فایل، شبکه و ورود به سیستم است.

بسته به نحوه پیکربندی آن ، از رشته های تعاونی یا پیش زمینه نیز پشتیبانی می کند.

GitHub برای Simba نشان می دهد که بسیار محبوب است ، به این معنی دریافت پشتیبانی آسان تر خواهد بود.

 

  • نوع سیستم عامل: پیش شرطی یا مشارکتی

  • سطح مستندات: عالی است

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

  • محبوبیت: زیاد

  • از کجا می توان آن را پیدا کرد: GitHubSimba

 

TaskManagerIO

TaskManagerIO
TaskManagerIO

سرانجام ، TaskManagerIO یک برنامه ریز همکاری است که از طیف گسترده ای از تابلوهای توسعه ، از جمله Arduinos پشتیبانی می کند.

این سیتم عامل یک RTOS کامل نیست

بلکه یک برنامه ریز است که می تواند علاوه بر سایر گزینه های موجود در این لیست برای چند وظیفه ای ساده تعریف شده ، اجرا شود.

سازگاری آن در طیف وسیعی از تابلوها و سیستم عامل ها ، آن را به گزینه ای همه کاره برای هر کسی که نیاز به یک برنامه ریز همکاری دارد ، تبدیل کرده است.

این نسخه مستندات جامع دارد .

این یک واقعیت است که به عنوان یک برنامه ریز همکاری کننده به جای پیشگیرانه است.

نوشتن کد ایمن و بدون استفاده از قفل برای بیشتر مبتدیان آسان تر خواهد بود.

به نظر می رسد که کتابخانه در Github تا حدودی محبوب است و به سرعت به موضوعات پاسخ داده می شود.

 

  • نوع سیستم عامل: مشارکتی

  • سطح مستندات: عالی است

  • سیستم عامل های پشتیبانی شده: سازگار با طیف گسترده ای از تابلوها و سیستم عامل ها

  • محبوبیت: زیاد

  • کجا می توان آن را پیدا کرد: GitHub

 

معرفی چند سیستم عامل برای آردوینو

معرفی چند سیستم عامل برای آردوینو

 

 

ارسال دیدگاه

enemad-logo