ThreadX - ThreadX
| Geliştirici | Microsoft (orijinal olarak Express Logic) |
|---|---|
| Yazılmış | C |
| İşletim sistemi ailesi | Gerçek zamanlı işletim sistemi (RTOS) |
| Çalışma durumu | Akım |
| Kaynak model | Kaynakta bulunan yazılım |
| İlk sürüm | 1997 |
| En son sürüm | v6.1.6_rel / 3 Nisan 2021 |
| Depo | github |
| Pazarlama hedefi | Gömülü sistemler , IoT : sensörler, cihazlar, uç yönlendiriciler, ağ geçitleri dahil |
| Güncelleme yöntemi | Yeniden kurulum |
| Paketleme yöneticisi | Yok |
| Platformlar | ARC , ARM , Blackfin, CEVA, C6x, MIPS , NXP , PIC , PowerPC , RISC-V , RX, SH, SHARC, TI , V850, Xtensa, x86 , Coldfire , diğerleri |
| Çekirdek türü | Gömülü, deterministik, gerçek zamanlı mikro çekirdek , pikokernel |
| Varsayılan kullanıcı arayüzü | Gömülü UI desteği (GUIX) |
| Lisans | Tescilli |
| Resmi internet sitesi | azure |
Azure RTOS ThreadX , çoğunlukla C dilinde programlanmış , oldukça belirleyici, yerleşik bir gerçek zamanlı işletim sistemidir (RTOS) .
Genel Bakış
ThreadX, orijinal olarak Express Logic of San Diego, California , United States tarafından geliştirilmiş ve pazarlanmıştır . ThreadX'in yazarı (ve 1990'da Nucleus RTOS'un orijinal yazarı ), aynı zamanda Express Logic'in Başkanı ve CEO'su olan William Lamie'dir.
Express Logic, 18 Nisan 2019'da Microsoft tarafından açıklanmayan bir meblağ karşılığında satın alındı .
Adı ThreadX türetilmiştir iplikleri çalıştırılabilir elemanlar olarak kullanılır ve yazmak X'in temsil bağlam geçiş , yani, konuları geçer. ThreadX, önceliğe dayalı, önleyici zamanlama, hızlı kesinti yanıtı, bellek yönetimi , iş parçacığı arası iletişim, karşılıklı dışlama , olay bildirimi ve iş parçacığı senkronizasyon özellikleri sağlar. ThreadX'in başlıca ayırt edici teknoloji özellikleri arasında ön hazırlık eşiği, öncelikli kalıtım , verimli zamanlayıcı yönetimi, hızlı yazılım zamanlayıcıları, picokernel tasarımı, olay zinciri ve küçük boyut bulunur: bir ARM mimarisi işlemcisinde minimum boyut yaklaşık 2 KB'dir.
ThreadX, asimetrik çoklu işlem (AMP) veya simetrik çoklu işlem (SMP) aracılığıyla çok çekirdekli işlemci ortamlarını destekler . Bellek yönetim birimi (MMU) veya bellek koruma birimi (MPU) bellek koruması ile uygulama iş parçacığı yalıtımı , ThreadX Modülleri ile kullanılabilir.
ThreadX, Technischer Überwachungsverein (TÜV, English: Technical Inspection Association) ve UL (eski adıyla Underwriters Laboratories) tarafından sağlanan kapsamlı güvenlik sertifikalarına sahiptir ve Motor Industry Software Reliability Association MISRA C ile uyumludur.
ThreadX, aynı zamanda gömülü dosya sistemi desteği (FileX), gömülü UI desteği (GUIX), gömülü İnternet protokol paketi (TCP / IP) ve bulut bağlantısı (NetX) içeren Express Logic'in X-Ware Internet of Things (IoT) platformunun temelidir. / NetX Duo) ve Evrensel Seri Veri Yolu ( USB ) desteği (USBX). ThreadX, geliştiricilerden yüksek değer kazandı ve çok popüler bir RTOS. Pazarlama araştırma şirketi VDC Research'e göre, 2017 itibarıyla, ThreadX RTOS, tüketici elektroniği, tıbbi cihazlar, veri ağı uygulamaları ve SoC'ler dahil olmak üzere 6,2 milyardan fazla cihazda konuşlandırılmış, dünyanın en popüler RTOS'larından biri haline geldi.
ThreadX hangi bir pazarlama modeli kullanılarak dağıtılır kaynak kodu sağlanan ve lisanslar şunlardır telifsiz .
Desteklenen platformlar
-
Analog cihazlar
- Blackfin
- CM4xx
- Hassas Mikrodenetleyiciler
- KESKİN
- ULP Mikrodenetleyiciler
-
Andes Teknolojisi
- RISC-V
-
ARM mimarisi
- ARM7
- ARM9
- ARM Cortex-A
- ARM Cortex-R
- ARM Cortex-M
- ARM Cortex-A 64 bit
- ARMv8M TrustZone
- Kadans
- Xtensa
- CEVA
- TeakLite-III
-
eSi-RISC
- eSi-16x0
- eSi-32x0
-
Infineon
- XMC1000
- XMC4000
-
Intel
- Nios II
- Siklon
- Arria 10
- x86
-
Mikroçip
- AVR32
- PIC24
- dsPIC33
- PIC32
- SAM CV
- SAM9
- SAMA5
-
MIPS mimarisi
- MIPS32 4Kx
- MIPS32 14Kx
- MIPS32 24Kx
- MIPS32 34Kx
- MIPS32 74Kx
- MIPS32 1004Kx
- interAptiv
- microAptiv
- proAptiv
- M-Serisi
-
NXP
- ColdFire + / ColdFire
- i.MX
- Kinetis
- LPC
- PowerPC
- S32
-
Renesas
- H8 / 300H
- RX
- RZ
- SH
- Sinerji
- V850
-
ST
- STM32F0
- STM32F1
- STM32F2
- STM32F3
- STM32F4
- STM32F7
- STM32L
-
Silikon Laboratuvarları
- Kertenkele
- Dev Geko
- Dev Gecko S1
- Mutlu Geko
- Jade Gecko
- Leopar kertenkelesi
- İnci Gecko
- Minik Geko
- Wonder Gecko
- Sıfır Gecko
- Özet
-
ARC
- ARC 600
- ARC 700
- ARC EM
- ARC HS
-
Texas Instruments
- C674x
- C64x +
- Herkül
- MSP430
- SimpleLink MSP432
- Sitara
- Tiva-C
-
Xilinx
- Microblaze
- Zynq-7000
- Zynq UltraScale +
Tarih
ThreadX ilk olarak 1997'de tanıtıldı. ThreadX 4, 2001'de tanıtıldı. ThreadX 5, 2005'te tanıtıldı ve 2020 itibariyle en son sürümüdür.
FileX - ThreadX için gömülü dosya sistemi 1999'da tanıtıldı.
NetX - ThreadX için gömülü TCP / IP ağ yığını 2002'de tanıtıldı.
USBX - ThreadX için gömülü USB desteği 2004 yılında tanıtıldı.
SMP çok çekirdekli ortamlar için ThreadX SMP, 2009 yılında piyasaya sürüldü.
ThreadX Modülleri 2011 yılında piyasaya sürüldü.
ThreadX, 2013'te TÜV IEC 61508 ve 2014'te UL 60730 için güvenlik sertifikaları aldı.
GUIX - ThreadX için gömülü kullanıcı arayüzü 2014 yılında tanıtıldı.
Express Logic, 18 Nisan 2019'da Microsoft tarafından açıklanmayan bir meblağ karşılığında satın alındı .
Teknoloji
ThreadX, preemption-eşiği adı verilen tescilli bir özelliğe sahip, önceliğe dayalı, önleyici bir programlama algoritması uygular. İkincisinin kritik bölümlerde daha fazla ayrıntı sağladığı, bağlam değişikliklerini azalttığı ve programlamayı garanti altına almaya yönelik akademik araştırmanın konusu olduğu görülmüştür.
ThreadX, uygulamanın harici bir olayı işaret edebilen tüm uygulama programlama arabirimlerinde (API'ler) bir geri arama işlevi kaydedebildiği olay zinciri adı verilen benzersiz bir yapı sağlar . Bu, uygulamaların, bir iş parçacığının birden çok nesneyi etkin bir şekilde engelleyebilmesi için ThreadX'te çeşitli genel nesneleri birbirine zincirlemesine yardımcı olur.
ThreadX ayrıca sayma semaforları , isteğe bağlı öncelikli kalıtım ile muteksler , olay bayrakları , mesaj kuyrukları , yazılım zamanlayıcıları, sabit boyutlu blok bellek ve değişken boyutlu blok bellek sağlar. ThreadX'te kaynakları engelleyen tüm API'lerin isteğe bağlı bir zaman aşımı da vardır.
ThreadX, AMP veya SMP aracılığıyla çok çekirdekli işlemci desteği sunar . Uygulama kodu yalıtımı, ThreadX Modülleri bileşeni aracılığıyla kullanılabilir.
Başlıca bileşenler
ThreadX RTOS bileşenleri şunları içerir:
- Gömülü dosya sistemi
- Gömülü grafik kullanıcı arayüzü
- Gömülü ağ iletişimi
- Gömülü USB
- Güvenlik sertifikası
- Ambalajlama
Gömülü dosya sistemi
FileX, ThreadX için gömülü dosya sistemidir. FileX, FAT12 , 16 , 32 ve exFAT formatlarını destekler. İkincisi, FAT dosya boyutlarını 4 GB'ın üzerine çıkarır, bu özellikle video dosyaları için kullanışlıdır ve kullanım için doğrudan Microsoft'tan lisans gerektirir. FileX ayrıca hata toleransı sunar ve LevelX adı verilen bir flaş yıpranma dengeleme ürünü aracılığıyla doğrudan NOR ve NAND flash bellek ortamını destekler .
Gömülü grafik kullanıcı arayüzü
GUIX, ThreadX için gömülü grafik kullanıcı arabirimidir (GUI). GUIX, ThreadX çalıştıran gömülü uygulamalar için bir 2D çalışma zamanı sistemi (ortam) sağlar. GUIX, çeşitli ekran çözünürlüklerine ve renk derinliklerine sahip birden çok görüntüleme aygıtını destekler . Önceden tanımlanmış birçok grafik widget mevcuttur. GUIX Studio adlı bir Windows WYSIWYG ana bilgisayar aracı, GUIX'in çalışma zamanında yürütülmesi için otomatik olarak C kodu oluşturur.
Gömülü ağ iletişimi
NetX Duo, ThreadX için gömülü TCP / IP sistemidir. NetX Duo destekler IPv4 ve IPv6 , ARP, Oto IP, DHCP, DNS, DNS-SD, FTP, HTTP, ICMP, IGMP, mDNS, POP3 PPP, PPPoE, RARP, TFTP, SNTP, SMTP gibi protokoller ile birlikte ağ SNMP ve TELNET. IP katmanı ağ güvenliği IPsec tarafından sağlanır. TCP ve UDP soket katmanı güvenliği, sırasıyla TLS ve DTLS tarafından sağlanır. IoT Bulut protokol desteği; CoAP, MQTT ve LWM2M'yi içerir. NetX Duo ayrıca Thread ve 6LoWPAN'ı destekler . 2017'de ThreadX ve NetX Duo, Thread Sertifikalı Ürün oldu.
Gömülü USB
USBX, ThreadX için yerleşik Evrensel Seri Veri Yolu ( USB ) sistemidir. USBX hem ana bilgisayarı hem de cihazı destekler. Ana bilgisayar denetleyicisi desteği, EHCI, OHCI ve tescilli USB ana bilgisayar denetleyicilerini içerir. USBX ayrıca OTG'yi de destekler. USBX sınıfı destek Ses, Asix, CDC / ACM, CDC / ECM, DFU, GSER, HID, PIMA, Yazıcı, Üretken, RNDIS ve Depolama'yı içerir.
Güvenlik sertifikası
ThreadX (ve FileX ve NetX Duo), SGS-TÜV Saar tarafından aşağıdaki güvenlik standartlarına göre onaylanmıştır: IEC 61508 SIL 4, IEC 62304 Sınıf C, ISO 26262 ASIL D ve EN 50128 SW-SIL 4.
ThreadX (ve FileX ve NetX Duo), UL tarafından aşağıdaki güvenlik standartlarına göre onaylanmıştır: UL / IEC 60730, UL / IEC 60335, UL 1998
ThreadX ayrıca çeşitli askeri ve havacılık şirketleri tarafından DO-178 standartlarına göre sertifikalandırılmıştır. WolfSSL gibi popüler Aktarım Katmanı Güvenliği (SSL / TLS) kitaplıkları tarafından desteklenir .
Ambalajlama
2017 itibarıyla, ThreadX, X-Ware IoT Platformunun bir parçası olarak tam kaynak kodunda ve çalışma zamanı telif ücreti ödemeden paketlenmiştir .
Onu kullanan ürünler
Bazı küçük giyilebilir cihazlardan ThreadX aralığını kullanarak yüksek profilli ürünleri, Hewlett-Packard yazıcıları ve hatta NASA'nın ‘ın Derin Darbe uzay sondası .
Ahududu Pi hattı tek kartlı bilgisayarlar bir şekilde ThreadX çalışır ikili blob üzerine üniteyi işlerken grafik (GPU). Bu , Linux gibi ikincil işletim sistemlerini önyüklemek için kullanılan ve önyükleme işleminden sonra bile daha ayrıcalıklı bir rolle çalışmaya devam eden ilk önyüklemeyi kontrol eder .
Ayrıca bakınız
- Intel Yönetim Motoru (ME)