7 poin oleh GN⁺ 2023-11-30 | 1 komentar | Bagikan ke WhatsApp
  • Microsoft merilis ThreadX, sistem operasi real-time yang diperolehnya melalui akuisisi Express Logic, sebagai open source.
  • ThreadX RTOS dan rangkaian pengembangan Azure RTOS yang mencakupnya disumbangkan ke Eclipse Foundation, akan dikenal sebagai Eclipse ThreadX, dan tersedia di bawah lisensi MIT
  • Ada banyak sistem operasi real-time (RTOS), tetapi ThreadX digunakan di lebih dari 1,2 miliar perangkat dan memainkan peran penting di berbagai perangkat termasuk Raspberry Pi

Hubungan antara Raspberry Pi dan ThreadX

  • ThreadX digunakan untuk menjalankan management engine di chip Intel dan firmware Raspberry Pi.
  • Pada Raspberry Pi 1, 2, 3 disebut bootcode.bin, dan pada Pi 4 dan 400 disebut start*.elf; ini disertakan di GitHub dan Debian, tetapi merupakan "blob" proprietary yang kode sumbernya tidak dipublikasikan
  • Berjalan di GPU VideoCore milik Raspberry Pi, dan inti Arm beroperasi sebagai perangkat slave yang bergantung pada GPU

Arti akuisisi dan open source ThreadX oleh Microsoft

  • Pada 2019, saat ThreadX berusia 21 tahun, Microsoft mengakuisisi Express Logic dan melakukan rebranding menjadi Azure RTOS
  • Akuisisi ini tampak sebagai respons terhadap AWS yang mengambil alih pengelolaan FreeRTOS, sementara pengembang aslinya William Lamie mendirikan perusahaan baru dan menjual PX5OS, RTOS "generasi kelima" dengan thread kompatibel POSIX
  • ThreadX adalah produk yang sudah teruji, dan beberapa versinya telah menerima sertifikasi TÜV Functional Safety, yang menarik bagi sebagian pelanggan

Opini GN⁺

  • Poin terpenting dalam artikel ini adalah bahwa Microsoft telah merilis ThreadX RTOS sebagai open source, yang merupakan perubahan penting yang dapat membuka lebih banyak peluang bagi komunitas pengembang dan mendorong inovasi teknologi.
  • Menjadi open source membuka kemungkinan agar software stack perangkat seperti Raspberry Pi menjadi sepenuhnya open source, yang bisa membuatnya menjadi pilihan yang lebih menarik bagi banyak orang.
  • Perubahan ini merupakan kabar menarik bagi para penggemar teknologi maupun profesional, dan diharapkan memberi dampak positif pada pertumbuhan serta inovasi ekosistem open source.

1 komentar

 
GN⁺ 2023-11-30
Komentar Hacker News
  • "Azure RTOS" adalah sesuatu yang dibeli Microsoft secara tergesa-gesa setelah Amazon mengakuisisi FreeRTOS. Bill Lamie memulai PX5 dan membawa sebagian besar talenta untuk mengerjakan RTOS embedded ringan yang baru. Jika Microsoft mengambil langkah ini, bisa jadi mereka sedang keluar dari roadmap Azure RTOS dan node IoT. ThreadX memiliki ekosistem yang jauh lebih besar dibanding FreeRTOS, dan juga berjalan di lebih banyak hal selain Raspberry Pi. Renesas memberikannya secara gratis jika Anda membeli SoC mereka.
  • Sertifikasi keselamatan sangat menarik. Mengembangkan "perangkat lunak keselamatan" membutuhkan banyak pekerjaan. Memiliki RTOS yang open source sekaligus tersertifikasi keselamatan adalah hal yang cukup bagus. Untuk mempertahankan sertifikasi, investasi harus dilakukan dari suatu tempat. Memahami standar keselamatan, membangun proses pengembangan yang benar, dan menjaganya seiring perubahan perangkat lunak tidak sesederhana sekadar menulis dan menjalankan kode. Ini bukan jenis pengembangan perangkat lunak yang bisa dilakukan sebagai hobi. Saya berharap Microsoft mendanai upaya pengembangan itu. FreeRTOS tidak tersertifikasi keselamatan, tetapi SAFERTOS adalah implementasi komersial dengan API yang sama dan telah tersertifikasi keselamatan.
  • Saya sangat menyukai ThreadX saat menggunakannya. Menyebutnya sebagai "sistem operasi" bisa dibilang cukup longgar, karena pada dasarnya ia terdiri dari fungsi-fungsi yang menyediakan hal seperti interrupt service routine, pembuatan thread, dan pengelolaan alokasi memori. ThreadX sangat ringan dan bagus untuk menyelesaikan pekerjaan. Saya memanggil fungsi seperti tx_thread_create, tx_malloc, dan menggunakan queue, semaphore, mutex, dan sebagainya. Senang melihat ThreadX masih hidup. Saya harus menjalankan loop kontrol daya/kipas/panas secara real-time, jadi saya perlu bisa mengendalikan kapan tugas tertentu terjadi, lalu setelah mendeteksi masalah, mengeluarkan perintah dalam jangka waktu tertentu untuk merespons atau menjaga sistem tetap aman.
  • Bagi yang penasaran mengapa Azure punya RTOS, Microsoft mengakuisisi Express Logic dan RTOS ThreadX mereka pada 2019. ThreadX digunakan pada banyak mikrokontroler yang sangat terbatas sumber dayanya. Branding Azure tampaknya tidak terlalu berarti selain menunjukkan bahwa perangkat IoT berkomunikasi dengan cloud.
  • Hanya versi saat ini yang ada di GitHub, dan tidak terlihat jejak versi VideoCore. Masih ada harapan bahwa Raspberry Pi Foundation bisa mendapat izin untuk merilis kode sumber versi mereka sendiri.
  • Kodenya bagus, tetapi menurut saya ada beberapa cara untuk membuatnya lebih portabel dan lebih ramah bagi programmer. Terutama pada bagian kode assembly yang telah di-porting. Sulit memodifikasi indeks terhadap struktur data, jadi perubahan struktur tidak mudah dilakukan. Jika struktur C dan indeks kode assembly tidak sinkron, sistem bisa crash. Akan lebih mudah dimodifikasi jika indeks dalam kode assembly dijadikan macro. Anda bisa membuat header untuk assembly dan header untuk kode C, lalu mendefinisikan struktur dengan macro. Dengan begitu kode C dan kode assembly akan tetap sinkron. Kekurangannya adalah struktur harus didefinisikan dengan macro ini, tetapi itu hanya berlaku untuk struktur yang digunakan di assembly dan C atau pada level yang lebih tinggi.
  • Sudah lama saya tidak mendengar tentang ThreadX. Sekitar 20 tahun lalu saya bekerja pada produk berbasis ThreadX. Itu adalah perangkat aplikasi yang tidak membutuhkan penjadwalan real-time atau boot cepat, tetapi keputusan memilih ThreadX berada di luar tingkat keterlibatan saya. Bahkan ada produk "lanjutan" terpisah yang menjalankan embedded Linux dan menyenangkan untuk dikerjakan. Pengembangan, debug, dan pengujian dengan ThreadX memakan waktu 2 hingga 3 kali lebih lama. Itu karena banyak fitur kenyamanan yang biasanya menjadi andalan di kernel tidak ada di ThreadX. Saya hanya merekomendasikannya untuk perangkat yang sangat sederhana dan kritikal terhadap keselamatan.
  • Ini sebenarnya hal besar, dan keren bahwa Eclipse Foundation yang akan mengelolanya. Microsoft layak mendapat pujian dan apresiasi untuk ini. Mereka punya rekam jejak yang baik, jadi saya cukup optimistis, tetapi proyek ini akan membutuhkan banyak dukungan berkelanjutan. Sekarang ini bukan lagi tanggung jawab Microsoft sendiri, tetapi selama semuanya mulai berjalan, mereka mungkin akan memikul beban yang lebih besar.
  • Saat mengerjakan firmware Deskjet, ThreadX adalah RTOS yang lumayan. Pada saat itu OS open source, dan terutama tool-nya, tidak cocok untuk pekerjaan tersebut. Tetapi sekarang situasinya sudah sangat berbeda, dan ada alternatif.
  • ThreadX bukan open source. Kode sumbernya tersedia untuk dilihat, tetapi diberikan sebagai versi evaluasi, yaitu dengan lisensi proprietari.