7 puan yazan GN⁺ 2023-11-30 | 1 yorum | WhatsApp'ta paylaş
  • Microsoft, Express Logic’i satın alarak edindiği gerçek zamanlı işletim sistemi ThreadX’i açık kaynak olarak yayımladı.
  • ThreadX RTOS ve onu da içeren Azure RTOS geliştirme paketi Eclipse Foundation’a bağışlanarak Eclipse ThreadX adıyla anılacak ve MIT lisansı altında kullanılabilecek.
  • Gerçek zamanlı işletim sistemleri (RTOS) çeşitli olsa da ThreadX, 1,2 milyardan fazla cihazda kullanılıyor ve Raspberry Pi dahil birçok cihazda kritik bir rol oynuyor.

Raspberry Pi ve ThreadX ilişkisi

  • ThreadX, Intel’in çip içi yönetim motorunu ve Raspberry Pi’nin aygıt yazılımını çalıştırmak için kullanılıyor.
  • Raspberry Pi 1, 2, 3’te bootcode.bin, Pi 4 ve 400’de ise start*.elf olarak adlandırılıyor; bunlar GitHub ve Debian’da yer alsa da kaynak kodu yayımlanmamış, mülkiyetli birer "blob".
  • Raspberry Pi’nin VideoCore GPU’sunda çalışıyor ve Arm çekirdekleri GPU’ya bağlı ikincil aygıtlar olarak işliyor.

Microsoft’un ThreadX satın alımı ve açık kaynak yapılmasının anlamı

  • Microsoft, ThreadX 2019’da 21. yılını doldurduğunda Express Logic’i satın aldı ve ürünü Azure RTOS olarak yeniden markaladı.
  • Bu satın alım, AWS’nin FreeRTOS’un yönetimini devralmasına verilmiş bir yanıt gibi görünüyor; ilk geliştirici William Lamie ise yeni bir şirket kurarak POSIX uyumlu iş parçacıklarına sahip "beşinci nesil" RTOS olan PX5OS’u satıyor.
  • ThreadX kanıtlanmış bir ürün ve bazı sürümleri TÜV Functional Safety sertifikası aldı; bu da bazı müşteriler için çekici bir özellik.

GN⁺ görüşü

  • Bu haberdeki en önemli nokta, Microsoft’un ThreadX RTOS’u açık kaynak olarak yayımlamış olması; bu, geliştirici topluluğuna daha fazla fırsat sunabilecek ve teknolojik yeniliği hızlandırabilecek önemli bir değişim.
  • Açık kaynak hâline gelmesi, Raspberry Pi gibi cihazların yazılım yığınının tamamen açık kaynak olma ihtimalini doğuruyor; bu da onları birçok kişi için daha cazip bir seçenek hâline getirebilir.
  • Bu değişim hem teknoloji meraklıları hem de profesyoneller için heyecan verici bir gelişme ve açık kaynak ekosisteminin büyümesi ile yeniliği üzerinde olumlu etki yaratması bekleniyor.

1 yorum

 
GN⁺ 2023-11-30
Hacker News görüşleri
  • "Azure RTOS", Microsoft'un Amazon'un FreeRTOS'u satın almasının ardından aceleyle satın aldığı şeydi. Bill Lamie, PX5'i başlattı ve yeni hafif gömülü RTOS çalışması için yeteneklerin çoğunu yanına aldı. Microsoft böyle adımlar atıyorsa, bu Azure RTOS ve IoT düğümleri yol haritasından uzaklaşıyor olabileceğine işaret edebilir. ThreadX, FreeRTOS'tan çok daha geniş bir ekosisteme sahip ve Raspberry Pi dışındaki cihazlarda da çalışıyor. Renesas, kendi SoC'lerini satın aldığınızda bunu ücretsiz veriyordu.
  • Güvenlik sertifikasyonu özellikle ilgi çekici. "Güvenli yazılım" geliştirmek çok fazla çalışma gerektirir. Açık kaynak olup aynı zamanda güvenlik sertifikalı bir RTOS'a sahip olmak oldukça iyi bir şey. Sertifikasyonu sürdürmek için bir yerden yatırım yapılması gerekecek. Güvenlik standartlarını anlamak, doğru geliştirme süreçlerini kurmak ve yazılım değiştikçe bunları sürdürmek, sadece kod yazıp çalıştırmak kadar basit değildir. Bu, hobi olarak yapılabilecek türden bir yazılım geliştirme işi değil. Umarım Microsoft bu geliştirme çabasını finanse eder. FreeRTOS güvenlik sertifikalı değil, ancak aynı API'ye sahip ticari bir uygulama olan SAFERTOS güvenlik sertifikası aldı.
  • ThreadX'i kullandığımda gerçekten çok beğenmiştim. Buna "işletim sistemi" demek biraz cömertçe, çünkü esasen interrupt service routine, thread oluşturma, bellek tahsisi yönetimi gibi işlevler sağlayan fonksiyonlardan oluşuyor. ThreadX çok hafifti ve işi yapmak için çok uygundu. tx_thread_create, tx_malloc gibi fonksiyonları çağırıyor; kuyruklar, semaphore'lar, mutex'ler vb. kullanıyordunuz. ThreadX'in hâlâ yaşıyor olduğunu görmek güzel. Gerçek zamanlı güç/fan/ısı kontrol döngülerini yürütmem gerekiyordu, bu yüzden belirli şeylerin ne zaman gerçekleşeceğini kontrol edebilmem; bir sorun tespit ettikten sonra belirli bir süre içinde komut verip tepki göstermem ya da sistemi güvenli tutmam gerekiyordu.
  • Azure'un neden bir RTOS'a sahip olduğunu merak edenler için, Microsoft 2019'da Express Logic'i ve onların ThreadX RTOS'unu satın aldı. ThreadX, kaynakları çok kısıtlı mikrodenetleyicilerde kullanılıyor. Azure markalaması, IoT cihazının bulutla iletişim kurması dışında pek bir anlam ifade etmiyor gibi görünüyor.
  • Şu anda GitHub'da yalnızca güncel sürüm var; VideoCore sürümüne dair bir iz görünmüyor. Raspberry Pi Foundation'ın kendi sürümünün kaynak kodunu yayımlamak için izin alabileceğine dair bir umut var.
  • Kod iyi, ancak daha taşınabilir ve programcı dostu hale getirmenin çeşitli yolları olduğunu düşünüyorum. Özellikle port edilmiş assembly kodu bölümleri için bu geçerli. Veri yapılarındaki indeksleri değiştirmek zor olduğu için yapı değişiklikleri kolay olmuyor. C struct'ları ile assembly kodundaki indeksler senkronize değilse sistem çökebilir. Assembly kodundaki indeksleri macro yapmak değiştirmeyi kolaylaştırırdı. Assembly için bir header, C kodu için de bir header oluşturup struct'ları macro'larla tanımlayabilirsiniz. Böylece C kodu ile assembly kodu senkronize kalır. Dezavantajı, struct'ları bu macro'larla tanımlamak zorunda olmanız olurdu; ama bu yalnızca assembly ile C'de ya da daha üst seviyede birlikte kullanılan struct'lar için geçerlidir.
  • ThreadX hakkında bir şey duymayalı uzun zaman olmuştu. Yaklaşık 20 yıl önce ThreadX tabanlı bir üründe çalıştım. Gerçek zamanlı zamanlama ya da hızlı açılış gerektirmeyen bir uygulama cihazıydı, ancak ThreadX'i seçme kararı benim etki edebileceğim seviyenin ötesindeydi. Hatta ayrı bir "gelişmiş" ürün de vardı; o gömülü Linux çalıştırıyordu ve onunla çalışmak keyifliydi. ThreadX kullanarak geliştirme, debug ve test yapmak 2 ila 3 kat daha uzun sürüyordu. Çünkü kernel'de bağımlı hale geldiğiniz pek çok kullanışlı özellik ThreadX'te yoktu. Bunu yalnızca çok basit güvenlik-kritik cihazlar için tavsiye ederim.
  • Bu aslında büyük bir olay ve Eclipse Foundation'ın bunu yönetmesi harika. Microsoft bunun için övgüyü hak ediyor. İyi bir geçmişleri var, bu yüzden oldukça iyimserim; ancak bu proje çok fazla sürekli destek gerektirecek. Artık yalnızca Microsoft'un sorumluluğunda değil, ama işler ilerlerken daha büyük yükü yine onlar üstlenebilir.
  • Deskjet firmware'i üzerinde çalışırken ThreadX fena olmayan bir RTOS'tu. O zamanlar açık kaynak işletim sistemleri ve özellikle araçlar bu iş için uygun değildi. Ama artık durum çok değişti ve alternatifler var.
  • ThreadX açık kaynak değil. Kaynak kodu görünür durumda, ancak deneme sürümü olarak, yani kapalı kaynaklı bir lisansla sunuluyor.