Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΄ΡΠ° Linux ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π² Π²Π΅ΡΠΊΡ linux-next, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΠΏΡΡΠΊΠ° 6.12, ΡΠΈΠ½Π°Π»ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΄ΡΠ° Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ PREEMPT_RT, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅ΠΉ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ ΡΠ΄ΡΠ° ΡΠ΅ΠΆΠΈΠΌ PREEMPT_RT ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ X86, ARM64 ΠΈ RISC-V. ΠΠΎΠ·Π΄Π½Π΅Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ ARM ΠΈ POWERPC, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π² ΡΠ΄ΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΠ΅ ΠΏΠ°ΡΡΠΈ.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ ΡΠ΄ΡΠ° Linux Π²Π΅Π΄ΡΡΡΡ Ρ 2005 Π³ΠΎΠ΄Π° Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° «Realtime-Preempt» («-rt») ΠΈ Ρ 2015 Π³ΠΎΠ΄Π° ΠΊΡΡΠΈΡΡΠ΅ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Linux Founation. ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ° PREEMPT_RT ΠΏΠΎΡΡΠ°Π²Π»ΡΠ»Π°ΡΡ Π² ΡΠΎΡΠΌΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΠ°ΡΡΠ΅ΠΉ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ RHEL, SUSE ΠΈ Ubuntu, ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Realtime-ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΊΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ , ΠΊΠ°ΠΊ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π²ΡΠΊΠ° ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, Π°Π²ΠΈΠ°ΡΠΈΡ, ΠΌΠ΅Π΄ΠΈΡΠΈΠ½Π°, ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠ°, ΡΠ΅Π»Π΅ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ.
Π 2019 Π³ΠΎΠ΄Ρ Π½Π°ΡΠ°Π»ΠΎΡΡ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡΡ Π² PREEMPT_RT ΠΏΠ°ΡΡΠ΅ΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ°. Π ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΄ΡΠ° 5.3 Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ PREEMPT_RT Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΡΡΡΠ½ΡΠ»Π°ΡΡ Π½Π° 5 Π»Π΅Ρ. Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΏΡΡΡ Π±Π»ΠΈΠ·ΠΈΡΡΡ ΠΊ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠΆΠ΅ Π² Π²ΡΠΏΡΡΠΊΠ΅ 6.12 ΡΠ΄ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ PREEMPT_RT Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΡΡΠ΅ΠΉ.
ΠΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π² ΡΠ΄ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²ΡΠ΅ΠΉ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌ PREEMPT_RT, Π±ΡΠ»Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅Π³ΠΎ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΡ printk. ΠΠ°Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ½ΡΡΠ° Π² Π²Π΅ΡΠΊΡ linux-next. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π²Π΅ΡΠΊΡ linux-next ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π΄Π»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° UART 8250, Π±Π΅Π· ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΡΠΊΡΡΡΠ΅Π½Π½ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΊΠΎΠ΄Π° Π² Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΠΎΠΊΠ° ΠΎΡΠΊΠ»ΡΡΡΠ½.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru