ThreadX - ThreadX

Azure RTOS ThreadX
Windows Azure logo.png
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 ; 24 yıl önce  ( 1997 )
En son sürüm v6.1.6_rel / 3 Nisan 2021 ; 22 gün önce  ( 2021-04-03 )
Depo github .com / azure-rtos / threadx /
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 .microsoft .com / en-us / services / rtos /

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:

  1. Gömülü dosya sistemi
  2. Gömülü grafik kullanıcı arayüzü
  3. Gömülü ağ iletişimi
  4. Gömülü USB
  5. Güvenlik sertifikası
  6. 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

Referanslar

Dış bağlantılar