ΠšΡ€ΠΈΠ·ΠΈΡ Π² ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ Rust Π² ядро ΠΈΠ·-Π·Π° опасСний услоТнСния сопровоТдСния

ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ Π₯Π΅Π»Π²ΠΈΠ³ (Christoph Hellwig), мэйнтСйнСр подсистСм DMA, KVM, Slab Allocator ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ PowerPC Π² ядрС Linux, Π² своё врСмя Π²Ρ…ΠΎΠ΄ΠΈΠ²ΡˆΠΈΠΉ Π² ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ тСхничСский ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Linux Foundation ΠΈ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Π²ΡˆΠΈΠΉ истцом Π² связанном с GPL судСбном Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π΅ с VMware, отказался ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ΠΈ, связанныС с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π½Π° языкС Rust. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‡ΠΈ добавляли обвязки Π½Π°Π΄ нСсколькими функциями подсистСмы DMA, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ DMA Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… Π½Π° языкС Rust.

Π’ качСствС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΎΡ‚ΠΊΠ°Π·Π° упомянуто услоТнСниС сопровоТдСния ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ обвязок Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ интСрфСйсы ΠΊ DMA Π² Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅ Π½Π° языкС Π‘ΠΈ, Π±Π΅Π· размазывания ΠΏΠΎ нСпонятным обвязкам. ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ исходному Π‘ΠΈ API DMA Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ Π½Π° языкС Rust, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… абстракций, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ядра.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ ΡƒΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π²ΠΎΠ·ΡŒΠΌΡƒΡ‚ Π½Π° сСбя всю Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° Π½Π° Rust, Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ эти ΠΏΠ°Ρ‚Ρ‡ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ вынСсли обвязки Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (rust/kernel/dma.rs). Π’ ΠΎΡ‚Π²Π΅Ρ‚ ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ Π½Π°Π»ΠΎΠΆΠΈΠ» Π²Π΅Ρ‚ΠΎ (Β«Nacked-byΒ») Π½Π° ΠΏΡ€ΠΈΡ‘ΠΌ связанных с Rust ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ ΠΈ ΡƒΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ. ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ заявил, Ρ‡Ρ‚ΠΎ Ссли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ обвязок хотят Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ нСвозмоТности сопровоТдСния Linux ΠΈΠ·-Π·Π° смСшивания Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языков Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅, ΠΈΠΌ слСдуСт Π΄Π΅Π»Π°Ρ‚ΡŒ это Π² своём Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅, Π° Π½Π΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ эту Ρ€Π°ΠΊΠΎΠ²ΡƒΡŽ ΠΎΠΏΡƒΡ…ΠΎΠ»ΡŒ Π½Π° основныС подсистСмы ядра.

ΠŸΡ€ΠΈ этом ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΠ», Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ² языка Rust ΠΈ считаСт Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… Π½ΠΎΠ²Ρ‹Ρ… языков, Π½ΠΎ ΠΎΠ½ ΠΏΡ€ΠΎΡ‚ΠΈΠ² смСшивания ΠΊΠΎΠ΄Π° Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках. По словам ΠšΡ€ΠΈΡΡ‚ΠΎΡ„Π° ΠΎΠ½ Π·Π° созданиС Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Rust, Π½ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΏΡ€ΠΈΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΡ Rust ΠΊ большим ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ Π±Π°Π·Π°ΠΌ Π½Π° Π‘ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ΅ смСшиваниС сильно сниТаСт удобство сопровоТдСния ядра, ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π‘ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с сопровоТдСниСм Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Rust-обвязки ставят ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ… Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΊΠΎΠ΄Π° Π½Π° языкС Rust. На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд каТСтся, Ρ‡Ρ‚ΠΎ обвязки лишь надстройки Π½Π° Π‘ΠΈ-структурами ΠΈ функциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ сопровоТдСниС ΠΊΠΎΠ΄Π° Π½Π° Π‘ΠΈ. Но это Π½Π΅ Ρ‚Π°ΠΊ. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… обвязок Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ подсистСм, написанных Π½Π° Π‘ΠΈ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ влияниС ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ работоспособности обвязок. Π›ΡŽΠ±ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π° Π‘ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ нСобходимости измСнСния ΠΊΠΎΠ΄Π° обвязок, поэтому Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° обвязки измСнСния Π² Π‘ΠΈ ΠΊΠΎΠ΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Rust. МногиС ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π±Ρ€Π°Ρ‚ΡŒ Π½Π° сСбя Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° исправлСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… Π² ΠΊΠΎΠ΄Π΅ Π½Π° Rust, ΠΈ Π½Π΅ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Ρ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ своё врСмя Π½Π° отслСТиваниС состояния Rust-обвязок.

Битуация с услоТнСниСм сопровоТдСния Π½Π΅ ΡƒΠΌΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ. К дискуссии ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΡΡ ДТСйсон Π“Π°Π½Ρ‚ΠΎΡ€ΠΏ (Jason Gunthorpe), мэйнтСйнСр TPM, VFIO ΠΈ Infiniband ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ NVIDIA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ²Ρ‘Π» ΠΏΡ€ΠΈΠΌΠ΅Ρ€ отклонСния Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ pull-запроса с измСнСниями Π² подсистСмС управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ сбою ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ сборки ядра с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Rust. Π‘Π±ΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ΄ Π½Π° Rust Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ измСнСния Π² Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ обвязок (bindgen). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ подсистСму управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ измСнСния, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΊΠΎΠ΄Π° Π½Π° Π‘ΠΈ ΠΈ ядра Π² Ρ†Π΅Π»ΠΎΠΌ, оказались зависимы ΠΎΡ‚ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ стороннСго ΠΊΠΎΠ΄Π° Π² ядрС, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ люди.

ΠžΡ‚ΠΊΠ°Π· ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ обвязки Π½Π°Π΄ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ DMA поставил Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Rust for Linux Π² Ρ‚ΡƒΠΏΠΈΠΊ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±Π΅Π· ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… обвязок Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π½Π° языкС Rust Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½Π°. Π“Π΅ΠΊΡ‚ΠΎΡ€ ΠœΠ°Ρ€Ρ‚ΠΈΠ½ (Hector Martin), мэйнтСйнСр ΠΊΠΎΠ΄Π° для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈ ARM-Ρ‡ΠΈΠΏΠΎΠ² Apple ΠΈ Π»ΠΈΠ΄Π΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ashai Linux, Π² качСствС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ принятия обвязки Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· Линуса Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠ°, Π² ΠΎΠ±Ρ…ΠΎΠ΄ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ подсистСму DMA. Если Линус согласится Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ субординации ΠΈ слоТившСйся ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ кризису управлСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ядра, Π° Ссли откаТСтся β€” остановит ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Rust Π² ядро.

Как Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π“Π΅ΠΊΡ‚ΠΎΡ€ упомянул ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠšΡ€ΠΈΡΡ‚ΠΎΡ„Π° ΠΊ отвСтствСнности Π·Π° Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ кодСкса повСдСния ΠΈΠ·-Π·Π° коммСнтария, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ сравнил Rust с Ρ€Π°ΠΊΠΎΠ²ΠΎΠΉ ΠΎΠΏΡƒΡ…ΠΎΠ»ΡŒΡŽ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π“Π΅ΠΊΡ‚ΠΎΡ€ написал, Ρ‡Ρ‚ΠΎ устал ΠΎΡ‚ всСх Π±ΡŽΡ€ΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΡ… ΠΏΡ€ΠΎΠ²ΠΎΠ»ΠΎΡ‡Π΅ΠΊ, Π½Π΅ Π³ΠΎΡ‚ΠΎΠ² просто Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ слоТившимся процСссам ΠΈ Π½Π°ΠΌΠ΅ΠΊΠ½ΡƒΠ» Π½Π° ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй. Дэйв Π­ΠΉΡ€Π»ΠΈ (Dave Airlie), мэйнтСйнСр подсистСмы DRM, посовСтовал Π½Π΅ Ρ€Π°Π·Π΄ΡƒΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ токсичноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ нСдопустимо с ΠΎΠ±Π΅ΠΈΡ… сторон, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€Π°Π² ΠΈΠ»ΠΈ Π½Π΅ ΠΏΡ€Π°Π² участник дискуссии.

К ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΡΡ Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² самом Π“Π΅ΠΊΡ‚ΠΎΡ€Π΅ ΠΈ Π΅Π³ΠΎ самоувСрСнности Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π·Π½Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ…, Π° Π½Π΅ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ядра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π£ процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ядра Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π½ΠΎ это ТизнСнная Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” Π² ΠΆΠΈΠ·Π½ΠΈ Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ идСального. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Ρ‚Ρ€Π°Π²Π»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ сСти β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π±ΠΈΠ²Π°Π΅Ρ‚ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Ρƒ Линуса ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ‰Π΅Π΅ с ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ Π“Π΅ΠΊΡ‚ΠΎΡ€Π°. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Линуса ΠΈΠΌΠ΅ΡŽΡ‚ тСхничСскиС обсуТдСния ΠΈ ΠΏΠ°Ρ‚Ρ‡ΠΈ, Π° Π½Π΅ ΠΎΠΊΠ°Π·Π°Π½ΠΈΠ΅ давлСния Ρ‡Π΅Ρ€Π΅Π· ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ сСти.

Π’ ΠΎΡ‚Π²Π΅Ρ‚ Π“Π΅ΠΊΡ‚ΠΎΡ€ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» запрос Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ сСбя ΠΈΠ· числа ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ARM/APPLE, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ потСрял Π²Π΅Ρ€Ρƒ Π² примСняСмый Π² ядрС процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ сообщСством. Он Ρ‚Π°ΠΊΠΆΠ΅ заявил, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ARM/Apple Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Π²Π½Π΅ основного ядра Linux. Π£ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ARM/Apple Π² ядрС остался Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ мэйнтСйнСр β€” Π‘Π²Π΅Π½ ΠŸΠΈΡ‚Π΅Ρ€ (Sven Peter), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π² ядрС.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ