El konceptet om et realtidssystem Det er ikke noget, man har tænkt på i de senere år i Linux, siden ideen om dette startede for næsten 20 år siden, for at være helt præcis i 2005 som en del af "Realtime-Preempt" ("-rt")-projektet med udvikling af PREEMPT_RT-tilstand til Linux-kernen.
For dem der ikke ved det PREEMPT_RT, de burde vide det det er et plaster til Linux-kernenog konverterer operativsystemet til et i realtid (realtid). Hovedmålet med PREEMPT_RT er at reducere latens og sikre forudsigelighed i opgaveudførelsen, hvilket er afgørende i applikationer, der kræver hurtige svar.
Med enklere ord kan vi sige, at PREEMPT_RT tillader næsten alle dele af kernen at blive afbrudt, hvilket reducerer latensen. I modsætning til en standardkerne kan ikke alle sektioner afbrydes, hvilket kan forårsage forsinkelser i svartider.
Siden 2015 har projektet været under opsyn af Linux Foundation og indtil nu er implementeringen af PREEMPT_RT-tilstand blevet tilbudt i form af eksterne patches. Baseret på disse patches kan distributioner som f.eks RHEL, SUSE og Ubuntu har lavet realtidsudgaver af deres produkter, meget efterspurgt i sektorer som finansielle systemer, lyd- og videobehandlingsudstyr, luftfartssystemer, medicin, robotteknologi, telekommunikation og industrielle applikationer, hvor det er vigtigt at garantere forudsigelige responstider for begivenheder.
En 2019 begyndte forfremmelsesprocessen af patches udviklet i PREEMPT_RT-projektet til Linux-hovedkernen. I kerneversion 5.3 blev PREEMPT_RT-indstillingen inkluderet i konfigurationsfilen for at aktivere realtidstilstand.
De printk bits, der kræves til PREEMPT_RT, er placeret i linux-next. Denne var den sidste kendte forhindring for PREEMPT_RT. RT-køen har også "atomkonsollen" til UART 8250, som endnu ikke er i linux-næste. Dette betyder "legacy console"-adfærd som ved ikke at udskrive fra den atomare kontekst i nødstilfælde. 8250 UART-controlleren er den eneste som giver "atomic console" support i dag.
At gøre Dette arbejde er ved at bære frugt., da den komplette integration af de nødvendige ændringer har taget fem år og er ved at være afsluttet, da det forventes, at kernen i version 6.12 kan kompileres i PREEMPT_RT-tilstand uden behov for at anvende yderligere patches.
Det nævnes, at den sidste hindring der forhindrede PREEMPT_RT i at blive aktiveret, var manglen på understøttelse af ikke-blokerende atomoutput ved hjælp af printk-funktionen. Denne funktionalitet har allerede været vedtaget i linux-next-grenen. Derudover afventer en ikke-blokerende atomkonsol implementering for 8250 UART-controlleren, hvis fravær i øjeblikket forhindrer output af nødbeskeder til konsollen fra kode, der udføres i atomiske sammenhænge.
Med printk-bits flettet, kunne PREEMPT_RT aktiveres på X86, ARM64 og Risc-V. Disse tre fusionerede arkitekturer krævede ændringer gennem årene.
år, hvilket efterlader mig i en position, hvor jeg ikke har nogen væsentlige ændringer i
kø, der ville påvirke dem. ARM og POWERPC har nogle vigtige patches tilbage...
Linux-kerneudviklere har annonceret integrationen af de seneste nødvendige ændringer i linux-nex grenent, som vil blive brugt til at kompilere version 6.12. Disse ændringer vil gøre det muligt for kernen at blive kompileret med PREEMPT_RT-indstillingen, som introducerer realtidsfunktioner.
Når disse ændringer er accepteret på hovedgrenen, PREEMPT_RT-tilstand Det vil være tilgængeligt til X86, ARM64 og RISC-V arkitekturer. Understøttelse af ARM- og POWERPC-arkitekturer vil blive tilføjet senere, da de nødvendige patches endnu ikke er fuldt integreret.
Det er værd at nævne, at de foreslåede ændringer endnu ikke er endelige, og det er muligt, at hvis PREEMPT_RT ikke ankommer i 6.12-grenen, vil den blive integreret til næste år i version 6.13.
Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne i følgende link.