Кіріспе
Eclipse ThreadX операциялық жүйесі (бұрын Azure RTOS және ThreadX деп аталған) – нақты уақыт режимінде жұмыс істейтін, негізінен C тілінде бағдарламаланған, жоғары детерминистік кіріктірілген операциялық жүйе (RTOS).
Eclipse ThreadX (formerly named Azure RTOS and ThreadX) is a highly deterministic, embedded real time operating system (RTOS) programmed mostly in the language C.
Шолу
ThreadX бастапқыда Сан-Диего, Калифорния, АҚШ-тың Express Logic компаниясы әзірленіп, сатылды. ThreadX авторы – Уильям Лами, ол 1990 жылы Nucleus RTOS-тің де бастапқы авторы болған. Уильям Лами Express Logic компаниясының президенті және бас директоры болды. Express Logic компаниясы 2019 жылдың 18 сәуірінде Microsoft компаниясымен белгісіз сомаға сатып алынып, Azure RTOS деп қайта аталды. 2023 жылдың 21 қарашасында Microsoft, Azure RTOS-тің Eclipse Foundation басшылығымен ашық кодты модельге көшетінін және жобаны MIT лицензиясы бойынша қолжетімді ететінін жариялады. Eclipse Foundation жаңа үйі ретінде Azure RTOS Eclipse ThreadX немесе қысқаша "ThreadX" деп аталды. ThreadX атауы орындалатын элементтер ретінде қолданылатын жіптерден (threads) шығарылған, ал X әрпі контексттік ауысуды (context switching) білдіреді, яғни жіптерді ауыстырады. ThreadX басымдыққа негізделген, алдын ала жоспарлау, жылдам үзіліске жауап беру, жад басқару, жіптер арасындағы байланыс, өзара құлыптауды болдырмау, оқиға туралы хабарлау және жіптерді синхрондау мүмкіндіктерін ұсынады. ThreadX-тің ерекше технологиялық сипаттамалары: алдын алу шегі, басымдықты мұраға алу, тиімді таймер басқару, жылдам бағдарламалық таймерлер, пикоядролық дизайн, оқиғалар тізбегі және кішкентай көлемі: ARM архитектуралы процессордағы минималды көлем шамамен 2 КБ құрайды. ThreadX көп ядролы процессор ортасын асимметриялық көп өңдеу (AMP) немесе симметриялық көп өңдеу (SMP) арқылы қолдайды. ThreadX модульдерімен жад басқару бірлігі (MMU) немесе жад қорғау бірлігі (MPU) арқылы жадты қорғауды қолданатын қосымша жіптерді оқшаулау мүмкіндігі бар. ThreadX Technischer Überwachungsverein (TÜV, ағылш. Техникалық тексеру қауымдастығы) және UL (бұрынғы Underwriters Laboratories) компанияларынан қауіпсіздік сертификаттарына ие және Motor Industry Software Reliability Association MISRA C стандартына сәйкес келеді. ThreadX – Express Logic компаниясының X Ware IoT платформасының негізі болып табылады, сонымен қатар кіріктірілген файлдық жүйеге қолдау (FileX), кіріктірілген UI қолдауы (GUIX), кіріктірілген Интернет протоколы жиынтығы (TCP/IP), бұлтты байланыс (NetX/NetX Duo) және Universal Serial Bus (USB) қолдауы (USBX) кіреді. ThreadX әзірлеушілер тарапынан жоғары бағаланып, өте танымал RTOS болып табылады. 2017 жылғы мәліметтер бойынша, маркетингтік зерттеулер фирмасы VDC Research-тің мәліметінше, ThreadX RTOS әлемдегі ең танымал RTOS-тердің біріне айналды, ол 6,2 миллиардтан астам құрылғыда, соның ішінде тұтынушы электроникасында, медициналық құрылғыларда, дерек желісі қосымшаларында және SoC-терде қолданылды.
Тарих
ThreadX алғаш рет 1997 жылы енгізілді. ThreadX 4 2001 жылы енгізілді. ThreadX 5 2005 жылы енгізілді және 2020 жылға дейін соңғы нұсқа болып табылады. FileX – ThreadX үшін кіріктірілген файлдық жүйе 1999 жылы енгізілді. NetX – ThreadX үшін кіріктірілген TCP/IP желілік стегі 2002 жылы енгізілді. USBX – ThreadX үшін USB қолдауы 2004 жылы енгізілді. SMP көп ядролы орталары үшін ThreadX SMP 2009 жылы енгізілді. ThreadX модульдері 2011 жылы енгізілді. ThreadX 2013 жылы TÜV IEC 61508, ал 2014 жылы UL 60730 қауіпсіздік сертификаттарын алды. GUIX – ThreadX-тің кіріктірілген пайдаланушы интерфейсі 2014 жылы енгізілді. Express Logic компаниясы 2019 жылдың 18 сәуірінде Microsoft компаниясымен белгісіз сомаға сатып алынды. ThreadX оқиғалар тізбегі деп аталатын ерекше құрылымды ұсынады, онда қолданба сыртқы оқиғаны сигналдай алатын барлық қолданбалық бағдарламалау интерфейстерінде (API) кері шақыру функциясын тіркеуге болады. Бұл ThreadX-те әртүрлі қоғамдық объектілерді тізбектеуге көмектеседі, соның арқасында бір жіп бірнеше объектілерді тиімді түрде тоқтата алады. ThreadX сонымен қатар санау семафорларын, басымдық мұрагерлігі бар мутекстерді, оқиға туларын, хабарлама кезектерін, бағдарламалық таймерлерді, белгілі өлшемдегі блок жадын және өзгермелі өлшемдегі блок жадын ұсынады. ThreadX-те ресурстарды тоқтатуға қатысты барлық API-лерде қосымша уақыт белгілеу мүмкіндігі бар. ThreadX AMP немесе SMP арқылы көп ядролы процессорларды қолдайды. Қолданба кодтарының оқшаулануы ThreadX модульдері компоненті арқылы қамтамасыз етіледі.
Тіркелген файл жүйесі
FileX – ThreadX-тің кіріктірілген файлдық жүйесі. FileX FAT12, 16, 32 және exFAT форматтарын қолдайды. Соңғысы FAT файлдарының мөлшерін 4 ГБ-тан асыруға мүмкіндік береді, бұл әсіресе бейне файлдары үшін өте пайдалы, бірақ оны пайдалану үшін Microsoft-тан тікелей лицензия алу қажет. FileX қателерге төзімділікті де қамтамасыз етеді және LevelX деп аталатын флеш-жадтың тозуын теңестіретін өнім арқылы тікелей NOR және NAND флеш-жадаларын қолдайды.
Ендірілетін графикалық пайдаланушы интерфейсі
GUIX – ThreadX үшін кіріктірілген графикалық пайдаланушы интерфейсі (GUI). GUIX, ThreadX-ті іске қосатын кіріктірілген қолданбалар үшін 2D орындалу ортасын ұсынады. GUIX әртүрлі экрандық ажыратымдылықтар мен түс тереңдіктеріне ие көптеген дисплей құрылғыларын қолдайды. Көптеген алдын ала жасалған графикалық элементтер бар. GUIX Studio деп аталатын Windows WYSIWYG құралы GUIX-тің жұмыс уақытында орындалуы үшін C кодын автоматты түрде құрастырады.
Кіріспелі желілер
NetX Duo - ThreadX үшін кіріктірілген TCP/IP жүйесі. NetX Duo IPv4 және IPv6 желілерін, сондай-ақ ARP, Auto IP, DHCP, DNS, DNS SD, FTP, HTTP, ICMP, IGMP, mDNS, POP3, PPP, PPPoE, RARP, TFTP, SNTP, SMTP, SNMP және TELNET сияқты протоколдарды қолдайды. IP қабатындағы желі қауіпсіздігін IPsec қамтамасыз етеді. TCP және UDP сокет қабатының қауіпсіздігі тиісінше TLS және DTLS арқылы қамтамасыз етіледі. IoT Cloud протоколына қолдау CoAP, MQTT және LWM2M-ді қамтиды. NetX Duo сонымен қатар Thread және 6LoWPAN-ды да қолдайды. 2017 жылы ThreadX және NetX Duo Thread сертификатталған өнімдері атанды.
USB-нің кіріктірілген түрі
USBX – ThreadX үшін орнатылған Universal Serial Bus (USB) жүйесі. USBX хост және құрылғы режимін қолдайды. Хост контроллерін қолдау EHCI, OHCI және басқа да USB хост контроллерлерін қамтиды. USBX сонымен қатар OTG режимін де қолдайды. USBX кластарының қолдауы: Аудио, Asix, CDC/ACM, CDC/ECM, DFU, GSER, HID, PIMA, Принтер, Prolific, RNDIS және Сақтау.
Қаптама
2017 жылдан бастап ThreadX толық бастапқы кодымен және орындалу кезінде роялти төлемінсіз X Ware IoT Platform-ның бір бөлігі ретінде ұсынылады.
Оны пайдаланатын өнімдер
ThreadX-ті пайдаланатын бірнеше танымал өнімдер кішкентай тозуға арналған құрылғылардан бастап, Hewlett Packard принтерлеріне, тіпті NASA-ның Deep Impact ғарыш зондына дейін жетеді. Raspberry Pi бір тақталы компьютерлердің сериясы графикалық процессорда (GPU) ThreadX-ті бинарлық файл ретінде іске қосады. Ол бастапқы жүктеуді басқарады, бұл өз кезегінде Linux сияқты қосымша операциялық жүйелерді жүктеу үшін қолданылады және жүктеу процесі аяқталғаннан кейін де жоғары дәрежелі рөлде жұмыс істеуді жалғастырады.