» »

Linux v jedru dobil podporo za RTOS

Linux v jedru dobil podporo za RTOS

Slo-Tech - Operacijski sistemi, ki poganjajo kritične procese, morajo teči v realnem času. Tovrstni sistemi (RTOS) imajo jasno določene časovne omejitve za izvedbo posameznih operacij, zato lahko z njimi na primer krmilijo letala, laserje, zavore, CNC, roverje na Marsu ali pa zgolj gramofon, kjer zakasnitve niso sprejemljive. Tak sistem je na primer QNX, lahko pa je tudi Linux. Real-Time Linux že od leta 2005 podpira zbir kode PREEMPT_RT, ki to omogoči, a ga je treba ločeno namestiti. Z jedrom 6.12 se to naposled spreminja, PREEMPT_RT namreč prihaja v jedro.

Linus Torvalds je potrdil, da je PREEMPT_RT nared za vključitev v jedro (mainline). S tem je tako praktično kot simbolično postal del "pravega" Linuxa, saj je bila glavna prepreka funkcija za razhroščevanje printk, ki jo je napisal Torvalds in je bil navzlic svoji izjemni univerzalnosti in uporabnosti fundamentalno nezdružljiva s konceptom RTOS. Sedaj je ustrezno popravljena, da bo lahko sobivala s PREEMPT_RT.

V praksi sprememb ne bo veliko. Na domačih računalnikih (in tudi službenih, pa tudi strežnikih) bo Linxu tekel povsem enako kot doslej. Morda bo še največ sprememb pri produkciji avdia visoke kakovosti, drugod pa niti ne. Po drugi strani pa sistemi, ki RTOS potrebujejo, tega vrsto let že imajo. Tudi v najbolj priljubljeni distribuciji je RTOS na voljo uporabniku zelo prijazno. Z vključitvijo v jedro bo enostavnejše le vzdrževanje, ki bo del glavne revizije jedra in ne dodatnih paketov. Linux pa je naredil še en majhen korak na poti k obvladovanju sveta.

12 komentarjev

pegasus ::

RT ... lepi spomini. Če se prav spomnim, sem ga prvič uporabil v produkciji z jedrom 2.4.16 ... nekaj takega. Če je kdo takrat že poslušal rtv radie prek neta, so se transkodirali na tisti piksni :)

codeMonkey ::

Controlling a laser with Linux is crazy, but everyone in this room is crazy in his own way. So if you want to use Linux to control an industrial welding laser, I have no problem with your using PREEMPT_RT.


Mene je to kar zanimalo med studijem, za robote. Pa CNC masine s koracnimi motorji so se delale na tem. Je bla tudi neka alternativa RTAI, od nekih italijanskih univerz, kjer se je dalo stvari tudi integrirati v simulink/scilab.

Bi si mislil, da so te zadeve fajn uporabne tudi za trgovanje. Ce ni ze vse tam slo na FPGA.

Zgodovina sprememb…

Zimonem ::

Pomoje še to ne rabiš danes. Rt lahko zganjaš na mikrokontrolerju. rtos in alternativ je polno. Moraš pa simplicificirat zadeve, ne rabiš officov na teh zadevah zgolj čimbolj deterministično obnašanje sistema, pa mal overheda pri procesorski moči.

user1618 ::

Pred 17 leti smo na Iskratelu že imeli real time Linux.
"If we were supposed to talk more than listen
we would have been given two mouths and one ear"
- Mark Twain

codeMonkey ::

Zimonem je izjavil:

Pomoje še to ne rabiš danes. Rt lahko zganjaš na mikrokontrolerju. rtos in alternativ je polno. Moraš pa simplicificirat zadeve, ne rabiš officov na teh zadevah zgolj čimbolj deterministično obnašanje sistema, pa mal overheda pri procesorski moči.



Malo alternativ ti lahko poganja kaksen Qt zraven, pa ima tako dodelan stack za razlicne stvari (npr. network, podatkovne baze, …). Vcasih je na ta nacin pac prakticno (poceni) poganjat kaksne nezahtevne krmilne zanke pa GUI, server ipd. zraven. Pa uporablja se tudi za real time simulacije oz. HIL, kar je zagotovo lazje na takem sistemu.

Sicer kmalu po tem, ko sem sem se jaz s tem igral, so se zaceli pojavljati SoC-i z razlicnimi jedri, kjer si pac poganjal na enem GNU/Linux in na drugem, namenskem, nek pravi RTOS. Ampak to vse integrirat s kakim shared mem je spet zabavno.

Zgodovina sprememb…

srus ::

Problem PREEMPT_RT patcha je bistveno manjša skupnost, kot pri ostalih funkcionalnostih jedra. Sedaj, ko je Intel pohopsal Thomasa Gleixnerja in njegov Linutronix, sta pa vzdrževanje in podpora še bolj problematični. Je pa dobro, da je precej funkcionalnosti razvitih v okviru PREEMPT_RT že v preteklih letih postalo del standardnega jedra.

Jaz osebno imam do PREEMPT_RT patcha podoben odnos kot do C++. Na eni strani ogromno izgubljenih živcev in časa pri reševanju problemov gonilnikov in jedra povzročenih z njuno uporabo, na drugi pa zelo donosne mentoring in consulting embedded SW pogodbe.

Ploobu ::

... in letala bodo padala z neba, laserji bodo brleli, zavore ne bodo več prijele, CNC bo znal izreskati samo še "guru meditation", rover bo padel iz Marsa na sonce, gramofon pa bo samo še nežno cvilil.

In ne pozabimo, da je zraven nujno potreben systemd.

Zgodovina sprememb…

  • spremenilo: Ploobu ()

WhiteAngel ::

Ploobu je izjavil:

... in letala bodo padala z neba, laserji bodo brleli, zavore ne bodo več prijele, CNC bo znal izreskati samo še "guru meditation", rover bo padel iz Marsa na sonce, gramofon pa bo samo še nežno cvilil.

In ne pozabimo, da je zraven nujno potreben systemd.


:))

MrStein ::

user1618 je izjavil:

Pred 17 leti smo na Iskratelu že imeli real time Linux.

Torej nekaj let za preostalim svetom?
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

misek ::

user1618 je izjavil:

Pred 17 leti smo na Iskratelu že imeli real time Linux.
In kaj je teklo nad njim?
Sicer pa sta se pSOS in nato VxWorks uporabljala že prej.

d4vid ::

Uf tole mi je pa skoraj ušlo.
Torej bo sedaj LinuxCNC tekel na klasičnem jedru. Super.
Main PC: Asus PN50 | AMD Ryzen 5 4500U | 16 GB RAM | 256 GB SSD
PC2: HP Z400 | Intel Xeon L5630 | 6 GB RAM | 120 GB SSD
Laptop: HP Elitebook 840G1 | Intel i5 | 8 GB RAM | 256 GB SSD

Smurf ::

codeMonkey je izjavil:


Mene je to kar zanimalo med studijem, za robote. Pa CNC masine s koracnimi motorji so se delale na tem. Je bla tudi neka alternativa RTAI, od nekih italijanskih univerz, kjer se je dalo stvari tudi integrirati v simulink/scilab.

Bi si mislil, da so te zadeve fajn uporabne tudi za trgovanje. Ce ni ze vse tam slo na FPGA.

Problem RTAI-ja je bil v tem, da si potem moral svojo aplikacijo poganjati v kernel module, kar ti je takoj podaljsalo razvoj. Po drugi strani si pri preempt_rt patchu lahko uporabljal normalne user space aplikacije. S časom je preempt_rt prišel po performanci zelo blizu rtai in ga je nekako izrinil.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Linux v jedru dobil podporo za RTOS

Oddelek: Novice / Operacijski sistemi
122829 (864) Smurf
»

Raspberry Pi OS namestil Microsoftov repozitorij (strani: 1 2 )

Oddelek: Novice / Operacijski sistemi
9512155 (8095) poweroff
»

Kdo piše Linuxovo jedro (strani: 1 2 )

Oddelek: Novice / Operacijski sistemi
7331580 (25229) AndrejO
»

ZFS na Linuxu

Oddelek: Novice / Ostala programska oprema
213628 (2579) Brane2
»

V katerem IDEju se da lepo odpreti Linux kernel source ?

Oddelek: Programska oprema
221451 (1029) BigWhale

Več podobnih tem