Linux 6.12 dapat memiliki dukungan “PREMPT_RT” secara real time

Preempt-RT adalah modifikasi yang memungkinkan tugas dengan prioritas lebih tinggi untuk menghentikan tugas dengan prioritas lebih rendah.

El konsep sistem waktu nyata Ini bukanlah sesuatu yang terpikirkan dalam beberapa tahun terakhir di Linux, sejak ide ini muncul dimulai hampir 20 tahun yang lalu, tepatnya pada tahun 2005 sebagai bagian dari proyek “Realtime-Preempt” (“-rt”) dengan pengembangan mode PREEMPT_RT untuk kernel Linux.

Bagi mereka yang belum tahu PREEMPT_RT, mereka harus tahu itu itu tambalan untuk kernel Linuxdan mengubah sistem operasi menjadi sistem real-time (waktu nyata). Tujuan utama PREEMPT_RT adalah mengurangi latensi dan memastikan prediktabilitas dalam pelaksanaan tugas, yang sangat penting dalam aplikasi yang memerlukan respons cepat.

Dengan kata sederhana, kita dapat mengatakan bahwa PREEMPT_RT memungkinkan hampir semua bagian kernel diinterupsi, yang mengurangi latensi. Berbeda dengan kernel standar, tidak semua bagian dapat diinterupsi, sehingga dapat menyebabkan keterlambatan waktu respons.

Sejak 2015 proyek ini berada di bawah pengawasan Linux Foundation dan hingga saat ini implementasi mode PREEMPT_RT ditawarkan dalam bentuk patch eksternal. Berdasarkan patch ini, distribusi seperti RHEL, SUSE dan Ubuntu telah membuat edisi real-time dari produk mereka, sangat diminati di sektor-sektor seperti sistem keuangan, perangkat pemrosesan audio dan video, sistem penerbangan, kedokteran, robotika, telekomunikasi, dan aplikasi industri, yang memerlukan jaminan waktu respons yang dapat diprediksi terhadap suatu peristiwa.

En Tahun 2019 proses promosi dimulai dari patch yang dikembangkan dalam proyek PREEMPT_RT ke kernel Linux utama. Pada kernel versi 5.3, opsi PREEMPT_RT disertakan dalam file konfigurasi untuk mengaktifkan mode real-time.

Bit printk yang diperlukan untuk PREEMPT_RT terletak di linux-next. Ini adalah kendala terakhir yang diketahui untuk PREEMPT_RT. Antrian RT punya juga "konsol atom" untuk UART 8250 yang belum ada linux-selanjutnya. Ini berarti perilaku "konsol lama" seperti tidak mencetak konteks atom dalam keadaan darurat. Pengontrol 8250 UART adalah satu-satunya yang memberikan dukungan "konsol atom" saat ini.

Semua pekerjaan ini akan membuahkan hasil, karena integrasi lengkap dari perubahan yang diperlukan memakan waktu lima tahun dan hampir selesai, karena diharapkan pada versi 6.12, kernel dapat dikompilasi dalam mode PREEMPT_RT tanpa perlu menerapkan patch tambahan.

Disebutkan kendala terakhir yang mencegah PREEMPT_RT diaktifkan adalah kurangnya dukungan untuk keluaran atom non-pemblokiran menggunakan fungsi printk. Fungsi ini sudah ada diadopsi di cabang linux-next. Selain itu, konsol atom non-pemblokiran sedang menunggu implementasi untuk pengontrol 8250 UART, yang jika tidak ada, saat ini mencegah keluaran pesan darurat ke konsol dari kode yang dieksekusi dalam konteks atom.

Dengan penggabungan bit printk, PREEMPT_RT dapat diaktifkan pada X86, ARM64 dan Risc-V. Ketiga arsitektur gabungan ini memerlukan perubahan selama bertahun-tahun.
tahun, meninggalkan saya pada posisi di mana saya tidak mengalami perubahan penting dalam hal ini
antrian yang akan mempengaruhi mereka. ARM dan POWERPC memiliki beberapa patch penting yang tersisa…

Pengembang kernel Linux telah mengumumkan integrasi perubahan terbaru yang diperlukan di cabang linux-next, yang akan digunakan untuk mengkompilasi versi 6.12. Perubahan ini akan memungkinkan kernel dikompilasi dengan opsi PREEMPT_RT, yang memperkenalkan kemampuan real-time.

Setelah perubahan ini diterima di cabang utama, mode PREEMPT_RT Ini akan tersedia untuk arsitektur X86, ARM64 dan RISC-V. Dukungan untuk arsitektur ARM dan POWERPC akan ditambahkan nanti, karena patch yang diperlukan belum sepenuhnya terintegrasi.

Perlu disebutkan bahwa perubahan yang diusulkan belum final dan ada kemungkinan jika PREEMPT_RT tidak sampai di cabang 6.12, maka akan diintegrasikan hingga tahun depan di versi 6.13.

Akhirnya, jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat memeriksa detailnya di link berikut.