ThreadX
ThreadX هو نظام تشغيل مضمن يعمل في الوقت الحقيقي (RTOS) ومبرمج في الغالب بلغة C. صدر لأول مرة عام 1997 باسم ThreadX عندما طورته شركة Express Logic، ثم أعيد تسميته إلى Azure RTOS (2019) بعد استحواذ مايكروسوفت على Express Logic ، [ 2 ] ثم أعيد تسميته مؤخرًا إلى Eclipse ThreadX (2023)، أو "ThreadX" اختصارًا، بعد تحوله إلى نموذج مفتوح المصدر مجاني تحت إشراف مؤسسة Eclipse . [ 3 ]
تاريخ
في عام ١٩٩٧، أطلقت شركة إكسبريس لوجيك، ومقرها سان دييغو، كاليفورنيا ، الولايات المتحدة الأمريكية، نظام التشغيل ThreadX لأول مرة . وقد طوّره ويليام لامي ، [ ٤ ] وهو أيضاً المؤلف الأصلي لنظامي التشغيل Nucleus و PX5 RTOS، وكان يشغل منصب الرئيس التنفيذي لشركة إكسبريس لوجيك. تم طرح الإصدار الرابع من ThreadX في عام ٢٠٠١، والإصدار الخامس في عام ٢٠٠٥، ثم الإصدار السادس في عام ٢٠٢٠ (وهو أحدث إصدار رئيسي). تم تقديم نظام الملفات المدمج FileX الخاص بـ ThreadX في عام 1999. وتم تقديم حزمة بروتوكولات الشبكة TCP/IP المدمجة NetX الخاصة بـ ThreadX في عام 2002. وتم تقديم دعم USB المدمج USB الخاص بـ ThreadX في عام 2004. وتم تقديم ThreadX SMP لبيئات المعالجات متعددة النوى SMP في عام 2009. وتم تقديم وحدات ThreadX في عام 2011. وحصل ThreadX على شهادات السلامة التالية: TÜV IEC 61508 في عام 2013، و UL 60730 في عام 2014. وتم تقديم واجهة المستخدم الرسومية المدمجة GUIX الخاصة بـ ThreadX في عام 2014.
في 18 أبريل 2019، اشترت مايكروسوفت شركة Express Logic مقابل مبلغ لم يتم الكشف عنه، وتم تغيير اسمها إلى Azure RTOS . [ 2 ]
في 21 نوفمبر 2023، أعلنت مايكروسوفت أن نظام التشغيل Azure RTOS سيتحول إلى نموذج مفتوح المصدر تحت إشراف مؤسسة Eclipse ، وسيُتاح المشروع بموجب ترخيص MIT المُتساهل . [ 3 ] ومع انتقال Azure RTOS إلى مؤسسة Eclipse، أُعيد تسميته إلى Eclipse ThreadX ، أو "ThreadX" اختصارًا.
ملخص
يشير اسم ThreadX إلى الخيوط المستخدمة كعناصر قابلة للتنفيذ، حيث يمثل X تبديل السياق .
يوفر ThreadX ميزات جدولة استباقية قائمة على الأولويات، واستجابة سريعة للمقاطعات ، وإدارة الذاكرة ، والتواصل بين الخيوط، والاستبعاد المتبادل ، وإشعارات الأحداث، ومزامنة الخيوط . تشمل أبرز الخصائص التقنية المميزة لـ ThreadX عتبة الاستباق، وتوارث الأولوية ، وإدارة فعالة للمؤقتات، ومؤقتات برمجية سريعة، وتصميم النواة المصغرة ، وتسلسل الأحداث، وصغر الحجم (يبلغ الحد الأدنى للحجم على معالج معمارية ARM حوالي 2 كيلوبايت).
يدعم ThreadX بيئات المعالجات متعددة النوى عبر المعالجة المتعددة غير المتماثلة (AMP) أو المعالجة المتعددة المتماثلة (SMP). كما يوفر ThreadX Modules عزل خيوط التطبيق باستخدام وحدة إدارة الذاكرة (MMU) أو وحدة حماية الذاكرة (MPU).
حصلت ThreadX على شهادات السلامة من TÜV و UL وهي متوافقة مع جمعية موثوقية برامج صناعة السيارات و MISRA C.
يُعدّ ThreadX أساس منصة X-Ware لإنترنت الأشياء (IoT) من Express Logic، والتي تتضمن دعم نظام الملفات المدمج (FileX)، ودعم واجهة المستخدم المدمجة (GUIX)، ومجموعة بروتوكولات الإنترنت المدمجة (TCP/IP)، والاتصال السحابي (NetX/NetX Duo)، ودعم ناقل USB (USBX). يحظى ThreadX بشعبية واسعة بين المطورين، وهو نظام تشغيل في الوقت الحقيقي (RTOS) شائع الاستخدام. [ 5 ]
اعتبارًا من عام 2017أصبح نظام التشغيل ThreadX RTOS أحد أكثر أنظمة التشغيل في الوقت الحقيقي شيوعًا في العالم، حيث تم نشره في أكثر من 6.2 مليار جهاز، بما في ذلك الإلكترونيات الاستهلاكية والأجهزة الطبية وتطبيقات شبكات البيانات وأنظمة SoC. [ 6 ]
تكنولوجيا
تُطبّق ThreadX خوارزمية جدولة استباقية قائمة على الأولويات، مع ميزة خاصة تُسمى عتبة الاستباق. توفر هذه العتبة دقة أكبر ضمن الأقسام الحرجة، وتقلل من تبديل السياق، وقد كانت موضوعًا لبحوث أكاديمية حول ضمان الجدولة. [ 7 ]
توفر ThreadX بنية فريدة تُسمى تسلسل الأحداث، [ 8 ] حيث يمكن للتطبيق تسجيل دالة رد نداء على جميع واجهات برمجة التطبيقات التي يمكنها الإشارة إلى حدث خارجي. يساعد هذا التطبيقات على ربط كائنات عامة مختلفة في ThreadX، مما يسمح لخيط واحد بالانتظار على عدة كائنات.
توفر ThreadX أيضًا عدادات الإشارات ، وأقفال التزامن مع إمكانية توريث الأولوية، وعلامات الأحداث، وقوائم انتظار الرسائل ، ومؤقتات البرامج، وذاكرة الكتل ذات الحجم الثابت، وذاكرة الكتل ذات الحجم المتغير. كما أن جميع واجهات برمجة التطبيقات في ThreadX التي تحجب الموارد تحتوي على مهلة اختيارية.
يوفر ThreadX دعمًا للمعالجات متعددة النوى عبر AMP أو SMP. كما تتوفر إمكانية عزل كود التطبيق من خلال مكون ThreadX Modules.
شهادة السلامة
تم اعتماد ThreadX (وFileX وNetX Duo) مسبقًا من قبل SGS-TÜV Saar وفقًا لمعايير السلامة التالية: IEC 61508 SIL 4، و IEC 62304 الفئة C، و ISO 26262 ASIL D ، و EN 50128 SW-SIL 4.
حصلت ThreadX (وFileX وNetX Duo) على شهادة مسبقة من UL وفقًا لمعايير السلامة التالية: UL/ IEC 60730 وUL/ IEC 60335 و UL 1998
حصل برنامج ThreadX أيضاً على شهادة اعتماد وفقاً لمعايير DO-178 من قبل العديد من الشركات العسكرية والفضائية. وهو مدعوم من قبل مكتبات أمان طبقة النقل (SSL/TLS) الشائعة مثل wolfSSL . [ 9 ]
التغليف
اعتبارًا من عام 2017، يتم تضمين ThreadX كجزء من منصة X-Ware IoT في الكود المصدري الكامل وبدون دفع رسوم ترخيص وقت التشغيل .
المكونات الرئيسية
المكونات الرئيسية لـ ThreadX هي:
ThreadX
ThreadX هو نظام التشغيل في الوقت الحقيقي (RTOS).
FileX و LevelX
يُعدّ FileX نظام ملفات اختياريًا لـ ThreadX، وهو يدعم أنظمة الملفات FAT12 و FAT16 و FAT32 و exFAT . يُتيح نظام exFAT الأخير إمكانية تخزين ملفات FAT بأحجام تتجاوز 4 جيجابايت ، وهو أمر مفيد لملفات الفيديو الكبيرة.
كما أنها توفر تحمل الأعطال وتدعم وسائط ذاكرة الفلاش NOR و NAND المباشرة من خلال منتج اختياري لتسوية تآكل الفلاش يسمى LevelX .
GUIX
GUIX هي واجهة مستخدم رسومية اختيارية لـ ThreadX. توفر نظام رسومات حاسوبية ثنائي الأبعاد يدعم أجهزة عرض متعددة بدقة شاشة وعمق ألوان متنوعين. تتوفر العديد من الأدوات الرسومية المُعرّفة مسبقًا. تقوم أداة GUIX Studio، وهي أداة مضيفة تعمل بنظام Windows وتُسمى WYSIWYG، بإنشاء كود C تلقائيًا لتنفيذه بواسطة GUIX أثناء التشغيل.
نت إكس ديو
NetX Duo هو نظام شبكة TCP/IP اختياري لـ ThreadX. يدعم شبكات IPv4 و IPv6 مع أمان شبكة IPsec . يتم توفير طبقات مقابس TCP وUDP بواسطة TLS / DTLS . تشمل البروتوكولات الاختيارية ARP، وAuto IP، وDHCP، وDNS، وDNS-SD، وFTP، وHTTP، وICMP، وIGMP، وmDNS، وPOP3، وPPP، وPPPoE، وRARP، وTFTP، وSNTP، وSMTP، وSNMP، و Telnet . يدعم بروتوكولات سحابة إنترنت الأشياء CoAP، وMQTT، وLWM2M. كما يدعم NetX Duo بروتوكولي Thread و6LoWPAN. في عام 2017، حصل كل من ThreadX وNetX Duo على شهادة Thread Certified Product. [ 10 ]
USBX
يُعد USBX نظام ناقل تسلسلي عالمي ( USB ) اختياريًا لـ ThreadX. وهو يدعم كلاً من وضع المضيف/الجهاز/التشغيل أثناء التنقل (OTG). يشمل دعم وحدة التحكم المضيفة كلاً من EHCI وOHCI ووحدات تحكم مضيفة USB الخاصة.
يدعم هذا الجهاز فئات أجهزة USB التالية : الصوت، Asix، CDC/ACM، CDC/ECM، DFU، GSER، HID، PIMA، الطابعة، Prolific، RNDIS، والتخزين.
TraceX
TraceX هو برنامج مضيف اختياري يوفر عرضًا رسوميًا لأحداث نظام التشغيل ThreadX RTOS. يتطلب نظام التشغيل Windows XP أو إصدارًا أحدث.
المنافذ المدعومة
المنتجات التي تستخدم ThreadX
بعض الأمثلة على المنتجات التي تستخدم تقنية ThreadX:
- أجهزة صغيرة قابلة للارتداء.
- طابعات نفث الحبر من هيوليت-باكارد والأجهزة متعددة الوظائف. [ 13 ]
- محرك إدارة إنتل (ME). [ 14 ]
- مسبار ناسا الفضائي ديب إمباكت . [ 15 ]
- تُشغّل سلسلة حواسيب Raspberry Pi أحادية اللوحة برنامج ThreadX ككتلة ثنائية على وحدة معالجة الرسومات (GPU). يتحكم هذا البرنامج في عملية الإقلاع الأولية ، والتي بدورها تُستخدم لتشغيل أنظمة تشغيل ثانوية مثل Linux ، ويستمر في العمل بدور أكثر امتيازًا حتى بعد عملية الإقلاع. [ 16 ]
- هاتف AGM M11 المحمول [ 17 ]
انظر أيضاً
مراجع
- ↑ "الإصدارات · eclipse-rtos/Threadx" . GitHub .
- 1 2 "كيف يُفيد استحواذ مايكروسوفت على شركة إكسبريس لوجيك نظام إنترنت الأشياء؟" . فوربس . 21 أبريل 2019. مؤرشف من الأصل في 11 فبراير 2023.
- 1 2 "مايكروسوفت تُساهم بنظام تشغيل Azure RTOS في المصادر المفتوحة" . مايكروسوفت . 21 نوفمبر 2023. مؤرشف من الأصل في 23 نوفمبر 2024.
- ↑ "بيل لامي: قصة رجل وأنظمة التشغيل الخاصة به في الوقت الحقيقي" . Embedded.com . 3 سبتمبر 2010. مؤرشف من الأصل في 2 يوليو 2016.
- ↑ "نظام التشغيل عالي الأداء في الوقت الحقيقي ThreadX: Express Logic" . شركة رينيساس للإلكترونيات . 2018. مؤرشف من الأصل في 2 مارس 2019.
- ↑ "تقرير إنترنت الأشياء والتكنولوجيا المدمجة" . أبحاث VDC . ديسمبر 2017. مؤرشف من الأصل في 15 مايو 2024.
- ↑ "جدولة المهام ذات الأولوية الثابتة مع عتبة الاستباق" (ملف PDF) . جامعة يوتا - قسم علوم الحاسوب . ديسمبر 1999. مؤرشف من الأصل (ملف PDF) في 30 مارس 2017.
- ↑ "تتيح سلسلة الأحداث للأنظمة الآنية الاستجابة لأحداث آنية متعددة بكفاءة أكبر" (ملف PDF) . إكسبريس لوجيك . 21 يوليو 2016. مؤرشف من الأصل (ملف PDF) في 14 يونيو 2018.
- ↑ "wolfSSL مع دعم مُحسّن لـ ThreadX/NetX" . wolfSSL . ١٦ يناير ٢٠١٨. مؤرشف من الأصل في ٣٠ مارس ٢٠٢٣.
- ↑ "منتجات معتمدة من ثريد" . مجموعة ثريد . مؤرشف من الأصل بتاريخ 14-06-2018.
- 1 2 3 4 5 6 7 8 "Eclipse - ThreadX - نظرة عامة على ThreadX" . GitHub . مؤرشف من الأصل في 3 ديسمبر 2024.
- 1 2 "Eclipse - ThreadX - RTOS Docs" . GitHub . مؤرشف من الأصل في 3 ديسمبر 2024.
- ↑ "هيوليت باكارد" . شركة غرين هيلز للبرمجيات . مؤرشف من الأصل في 8 ديسمبر 2024.
- ↑ "محرك إدارة إنتل" . bitkeks.eu . 5 ديسمبر 2017. مؤرشف من الأصل في 23 أبريل 2024.
- ↑ «دراسة حالة: عملية "ديب إمباكت" التابعة لناسا تستخدم أنظمة مضمنة لتحقيق إصابة دقيقة على بعد 80 مليون ميل» . أنظمة عسكرية مضمنة. 13 يناير 2006. مؤرشف من الأصل في 4 أبريل 2015. تم الاطلاع عليه في 30 مارس 2015 .
- ↑ "ما المشكلة في راسبيري باي؟" . امتلك بياناتك . 2 فبراير 2019. مؤرشف من الأصل في 31 مايو 2022. تم الاطلاع عليه في 9 مارس 2024 .
- ↑ "AGM M11" . الاجتماع السنوي العام . 25 مايو 2026.
للمزيد من القراءة
- وثائق ThreadX
- دليل مستخدم ThreadX (2020) - مايكروسوفت
- دليل مستخدم FileX (2020) - مايكروسوفت
- دليل مستخدم GUIX (2020) - Microsoft
- دليل مستخدم NetX (2020) - مايكروسوفت
- دليل مستخدم جهاز USBX (2020) - مايكروسوفت
- دليل مستخدم USBX Host (2020) - مايكروسوفت
- دليل المستخدم التكميلي لبرنامج USBX Host (2020) - مايكروسوفت
- مقارنة أنظمة التشغيل في الوقت الحقيقي
- تقرير أداء أنظمة التشغيل في الوقت الحقيقي لعام 2024 (FreeRTOS / ThreadX / PX5 / Zephyr) - مجموعة بينينغو للأنظمة المدمجة
- مقارنة أنظمة التشغيل في الوقت الحقيقي لعام 2013 (Nucleus / ThreadX / ucOS / Unison) - مجلة الأنظمة المدمجة
روابط خارجية
- STM32
- برنامج عام 1997
- أنظمة التشغيل القائمة على النواة المصغرة
- النوى الصغيرة
- أنظمة تشغيل مايكروسوفت
- أنظمة التشغيل في الوقت الحقيقي
- برنامج مبرمج بلغة التجميع
- أنظمة تشغيل ARM
- أنظمة تشغيل X86
