مایکروسافت اعلام کرده است که تحت مجوز مجاز MIT برای سیستم عامل بلادرنگ Azure RTOS خود که پس از خرید Express Logic در سال 2019 به دست آورده و قبلاً با نام ThreadX برای بیش از 20 سال عرضه شده بود، منبع باز است. ادعا می شود که سیستم عامل مورد بحث در سراسر جهان بر روی بیش از 12 میلیارد دستگاه، از جمله لوازم الکترونیکی مصرفی، سیستم های صنعتی، دستگاه های پزشکی، چاپگرها، تراشه های WiFi و حتی سیستم های روی سفینه فضایی نصب شده است.
پس از منبع باز کامل (کد ThreadX قبلا در دسترس بود، اما تحت یک مجوز محدود)، که برای ژانویه 2024 برنامه ریزی شد، این محصول تحت نظارت سازمان غیرانتفاعی Eclipse Foundation قرار می گیرد و با نام Eclipse ThreadX به عنوان یک محصول توسعه می یابد. پروژه مشترک مستقل، به تامین کنندگان فردی وابسته نیست. انتظار میرود که انتقال پروژه به یک پلتفرم مستقل، مشارکتکنندگان جدیدی را برای توسعه جذب کند و توسعه پلتفرم و اکوسیستم مرتبط را تحریک کند. AMD، Cypherbridge، NXP، PX5، Renesas، ST Microelectronics، Silicon Labs و Witekio (Avnet) قبلاً پیوستن به این پروژه مشترک را اعلام کرده اند.
سیستم عامل Eclipse ThreadX در یک مجموعه حداقل تنها 2 کیلوبایت اشغال می کند، قادر به اجرا بر روی تراشه های با 1 کیلوبایت رم است، سوئیچینگ زمینه را در کسری از میکروثانیه و بارگذاری در 120 سیکل پردازنده را فراهم می کند. از جمله ویژگیهای ThreadX: معماری مبتنی بر pico-core، زمانبندی برای چندوظیفگی پیشگیرانه (بر اساس اولویتها) و چندوظیفه مشترک، مکانیزمی برای به حداقل رساندن سوئیچهای زمینه با غیرفعال کردن پیشپرداخت وظایف تا یک اولویت آستانه مشخص، پشتیبانی از زنجیرهای رویداد، مجموعه بزرگی از خدمات سیستم پلاگین، پردازش وقفه های بسیار سریع، بهینه سازی اضافی مدیریت وقفه تایمر، ابزارهای مدیریت حافظه با پشتیبانی MMU/MPU، حفاظت از حافظه، مکانیسم های پیام رسانی و تبادل داده بین رشته ها، تحویل اعلان های رویداد، مکانیسم های همگام سازی رشته ها ، پشتیبانی از mutexes و semaphores.
علاوه بر کد سیستم عامل، اجزای زیر باز شده و به Eclipse منتقل می شوند:
- NetX Duo یک پشته شبکه است که برای استفاده در سیستم های بلادرنگ و دستگاه های اینترنت اشیا (IoT) طراحی شده است. IPv4، IPv6، TCP، UDP، ICMP، TLS، DTLS، IPsec، PPPoE، DHCP، DNS، HTTP، IGMP، POP3، SMTP، SNMP، MQTT، CoAP، LWM2M پشتیبانی می شوند.
- USBX یک پشته USB با پشتیبانی از حالت های کلاینت، میزبان (EHCI، OHCI) و OTG (در حال حرکت) است.
- FileX یک سیستم فایل سازگار با FAT (FAT12/16/32 و exFAT) است که به طور کامل در هسته ThreadX یکپارچه شده است.
- LevelX اجرای الگوریتم Wear Leveling برای سیستم فایل FileX است که به شما امکان می دهد عمر درایوهای فلش را افزایش دهید.
- GUIX کتابخانه ای برای ایجاد رابط های کاربری گرافیکی تعبیه شده است.
- GuiX Studio یک محیط طراحی است که به شما امکان می دهد عناصر گرافیکی را برای کتابخانه GUIX ایجاد کنید و به طور خودکار کد C را برای اجرا در محیط ThreadX تولید کنید.
- TraceX یک ابزار ردیابی است که یک رابط گرافیکی برای ردیابی و تجزیه و تحلیل رویدادها در زمان واقعی ارائه می دهد.
پشتیبانی از عملکرد بر روی اکثر میکروکنترلرها و پردازندههای محبوب، از جمله پردازندههای چند هستهای x86، MIPS، RISC-V و ARM، و همچنین تراشههای STM، NXP، Qualcomm، Renesas، Texas Instruments و Microchip. لایه ها برای اطمینان از سازگاری با FreeRTOS، POSIX و OSEK ارائه شده است. این سیستم برای استفاده در سیستمهای حیاتی که نیاز به سطح خاصی از قابلیت اطمینان دارند، تایید شده است که به عنوان مطابق با الزامات استانداردهای ایمنی و قابلیت اطمینان IEC 61508، IEC 62304، ISO 26262، EN 50128 و معیارهای مشترک EAL4+ شناخته میشود.
اجزای مربوط به گواهینامه نیز به Eclipse اهدا شده است و تحت یک مجوز باز و بدون حق امتیاز در دسترس خواهند بود. گواهینامه های موجود امکان استفاده از Eclipse ThreadX را در کارخانه های شیمیایی، سیستم های نفت و گاز، نیروگاه ها، هوافضا، راه آهن، سیستم های خودرو (شامل تراشه های کنترل موتور، سیستم های کمک رانندگی و خلبان های خودکار) و دستگاه های پزشکی می دهد.
منبع: opennet.ru
