ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Rust Π΅ прСмСстСна ΠΎΡ‚ СкспСримСнталнитС Π² основнитС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ядрото Π½Π° Linux

На ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Ρ‰Π°Ρ‚Π° сС Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° конфСрСнция Maintainers Summit сС ΠΎΠ±ΡΡŠΠΆΠ΄Π°Ρ…Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ СкспСримСнта ΠΏΠΎ добавянС Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust Π² ядрото Π½Π° Linux. УчастницитС сС произнСсоха, Ρ‡Π΅ Π΅ΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΡŠΡ‚ Π΅ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½ ΠΈ Ρ€Π΅ΡˆΠΈΡ…Π° Π΄Π° прСмСстят ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Π΅Π·ΠΈΠΊΠ° Rust Π² катСгорията Π½Π° основнитС части Π½Π° ядрото, ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°ΠΉΠΊΠΈ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚Π° Π½Π° СкспСримСнтална функция.

ΠŸΡ€Π΅Π΄ΠΈ Ρ‚Ρ€ΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Ρ€Π°ΠΉΠ²ΡŠΡ€ΠΈ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust бСшС Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π² ядро 6.1. ΠžΡ‚Ρ‚ΠΎΠ³Π°Π²Π° Π² ядрото са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ абстракции Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Ρ€Π°ΠΉΠ²ΡŠΡ€ΠΈ Π½Π° Rust Π·Π° GPU, Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, Π±Π»ΠΎΡ‡Π½ΠΈ устройства, ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΈ ΠΈ USB устройства. На Π΅Π·ΠΈΠΊΠ° Rust сС Ρ€Π°Π·Π²ΠΈΠ²Π° Π΄Ρ€Π°ΠΉΠ²ΡŠΡ€ΡŠΡ‚ Nova Π·Π° GPU NVIDIA, asahi Π·Π° GPU Apple AGX, Tyr Π·Π° GPU ARM Mali ΠΈ rust_ext2 Π·Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма Ext2. Π’ ядрото Π΅ ΠΏΡ€ΠΈΠ΅Ρ‚Π° написаната Π½Π° Rust рСализация Π½Π° IPC Binder. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ RROS Ρ€Π°Π·Π²ΠΈΠ²Π° Ρ€Π΅Π°Π»Π½Π° подсистСма Π·Π° ядрото Π½Π° Linux, написана Π½Π° Rust. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Rust Π½Π΅ Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ Π½Π΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Rust Π² Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ зависимости Π·Π° компилация Π½Π° ядрото.

Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΏΡ€ΠΈΠ²ΡŠΡ€ΠΆΠ΅Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Rust, Ρ‚ΠΎΠ·ΠΈ Π΅Π·ΠΈΠΊ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° появата Π½Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈ Π² ядрото ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΈ ΠΎΡ‚ особСноститС Π½Π° Π΅Π·ΠΈΠΊΠ° C (corner case), ΠΊΠΎΠ΅Ρ‚ΠΎ позволява ΠΏΡ€ΠΈ Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡ€Π°Π½Π΅ Π΄Π° сС ΡΡŠΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΠΌ Π²ΡŠΡ€Ρ…Ρƒ логичСски Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ условия Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅. Rust ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° сС отстранят ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚ слСд Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ освобоТдаванС, ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ извън Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ‚Π° Π½Π° Π±ΡƒΡ„Π΅Ρ€Π°, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ освобоТдаванС Π½Π° рСсурси ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π·Π°Π±Ρ€Π°Π²Π΅Π½ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, Π²ΡŠΡ€Π½Π°Ρ‚ΠΈ. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Rust Π·Π° Π½ΠΎΠ² ΠΊΠΎΠ΄ ΡΡŠΡ‰ΠΎ Π΄Π°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΡΡŠΠΊΡ€Π°Ρ‰Π°Π²Π°Π½Π΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Ρ€ΡƒΠ΄ΠΎΠ·Π°Π³ΡƒΠ±ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° строги Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΈ Π² Π΅Π·ΠΈΠΊΠ°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Ρ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° Ρ€Π°Π½Π΅Π½ Π΅Ρ‚Π°ΠΏ ΠΎΡ‚ написванСто Π½Π° ΠΊΠΎΠ΄Π°.

ΠŸΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° внСдряванСто Π½Π° Rust Π² ядрото смятат, Ρ‡Π΅ Π΅ Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° няколко ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ Π΅Π·ΠΈΠΊΠ° Π² слоТни ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ β€” смСсСнитС ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π±Π°Π·ΠΈ услоТняват Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΌΠ΅ΠΉΠ½Ρ‚Ρ€Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π³ΠΈ поставят Π² зависимост ΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π° Π΄Ρ€ΡƒΠ³ Π΅Π·ΠΈΠΊ. НапримСр, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π½Π° Rust, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° подсистСми, написани Π½Π° C, трябва Π΄Π° Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ влияниСто Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° работоспособността Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈΡ‚Π΅.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster