Gli sviluppatori del kernel Linux hanno annunciato il trasferimento nel ramo linux-next, che sarà utilizzato per la preparazione della versione 6.12, delle modifiche finali necessarie per compilare il kernel con l'opzione PREEMPT_RT, che include strumenti per lavorare in tempo reale. Dopo l'adozione delle modifiche nel ramo principale del kernel, la modalità PREEMPT_RT diventerà disponibile per le architetture X86, ARM64 e RISC-V. In seguito, sarà aggiunto il supporto per le architetture ARM e POWERPC, per le quali non sono ancora stati trasferiti tutti i patch nel kernel.
Lo sviluppo dell'implementazione della modalità in tempo reale per il kernel Linux è in corso dal 2005 nell'ambito del progetto 'Realtime-Preempt' (‘-rt’) ed è guidato dall'organizzazione Linux Foundation dal 2015. Fino ad oggi, l'implementazione della modalità PREEMPT_RT è stata fornita sotto forma di patch esterne, sulla base delle quali alcune distribuzioni, come RHEL, SUSE e Ubuntu, hanno creato edizioni Realtime separate dei loro prodotti, molto richieste in settori come i sistemi finanziari, i dispositivi di elaborazione audio e video, l'aviazione, la medicina, la robotica, i sistemi di telecomunicazione e industriali, dove è necessario garantire un tempo di elaborazione degli eventi prevedibile.
Nel 2019 è iniziato il processo di integrazione delle patch sviluppate nel PREEMPT_RT nel kernel principale. Nel file di configurazione del kernel 5.3 è stata aggiunta l'opzione PREEMPT_RT per attivare la modalità in tempo reale, ma l'integrazione delle modifiche necessarie per il suo funzionamento si è protratta per 5 anni. Ora questo percorso è vicino al termine e, molto probabilmente, già nella versione 6.12 sarà possibile compilare il kernel in modalità PREEMPT_RT senza l'uso di patch aggiuntive.
L'ultima funzionalità mancante nel kernel, che non consentiva di attivare la modalità PREEMPT_RT, era il supporto per l'output atomico non bloccante tramite la funzione printk. Questa funzionalità è stata ora accettata nel ramo linux-next. Allo stesso modo, è in attesa di essere inclusa nel ramo linux-next l'implementazione di una console atomica e non bloccante per il driver UART 8250, senza la quale l'output nella console dei messaggi di emergenza dal codice in contesto atomico è ancora disattivato.
Fonte: opennet.ru
