Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux ΠΎΠ±ΡΠ²ΠΈΡ Π° Π·Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ΡΠΎ Π² ΠΊΠ»ΠΎΠ½Π° linux-next, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΈ ΠΎΡΠΎΡΠΌΡΠ½Π΅ Π½Π° Π²Π΅ΡΡΠΈΡ 6.12, ΡΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Ρ ΠΎΠΏΡΠΈΡΡΠ° PREEMPT_RT, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ° ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π‘Π»Π΅Π΄ ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΊΠ»ΠΎΠ½ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΡΠ΅ΠΆΠΈΠΌΡΡ PREEMPT_RT ΡΠ΅ ΡΡΠ°Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ X86, ARM64 ΠΈ RISC-V. ΠΠΎ-ΠΊΡΡΠ½ΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ ARM ΠΈ POWERPC, Π·Π° ΠΊΠΎΠΈΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΏΠ°ΡΠΎΠ²Π΅.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΎΡ 2005 Π³ΠΎΠ΄ΠΈΠ½Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° βRealtime-Preemptβ (β-rtβ) ΠΈ ΠΎΡ 2015 Π³ΠΎΠ΄ΠΈΠ½Π° ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈ ΠΎΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡΠ° Linux Foundation. ΠΠΎ ΡΠ΅Π³Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° 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
