Bir çekirdek geliştiricisi Rust'un Linux için başarısını engelliyor mu? Evet ve hayır!

Draqon

Aktif Üye


  1. Bir çekirdek geliştiricisi Rust'un Linux için başarısını engelliyor mu? Evet ve hayır!

Linux çekirdeğinin bir bakımı, yakın zamanda pas kodunun topraklarına dahil edilmesini reddetti, bu da birçok sürücü için gerekli olan ve böylece gelecekte Pust'u gelecekte basit Linux sürücülerinden daha fazlasını programlamak için kullanma çabası. Linux mesajları ve forumlardaki veya sosyal medya platformları için açıklamalar hakkında en azından çok sayıda rapor.


Reklamcılık



Genellikle masanın altına iki şey vardır: bu şaka, Linux geliştirmede daha yaygındır ve genellikle herkesin dahil olduğu herkesin bulunduğu çözümler bulunur. Bu da burada beklenmelidir. Bu, çok sayıda merkezi ve köklü çekirdek geliştiricisinin, kapalı-Torvalds için Linux Pas için Paslama çabalarını vermesini zaten sağlamalıdır.

Temel Teknoloji Kodunda Abluka


Mevcut heyecan tetikleyicileri, Linux, Christoph Hellwig'in DMA Eşleme Yardımcı Kodu'ndan korunmanın ifadeleridir: Rust-A iyi performansla yazılmış sürücülerle doğrudan bellek erişimi (DMA) kullanmak için değişikliklerin dahil edilmesini reddetti. genellikle onlarca yıl boyunca gereklidir, bu da işlemcinin önemli ölçüde çalışmasını sağlar. Hellwig, geliştiricilerden bunun yerine kodu doğrudan Rust sürücülerine entegre etmelerini istedi, ancak bu, diğer geliştiriciler için bakım zorlaştırıyor ve modern geleneklerle kodlama ile çelişiyor.

Ocak ayının ikinci haftasından bu yana devam eden tartışma sırasında Hellwig daha sonra çeşitli programlama dillerinde yazılmış kodla uğraşmakla ilgilenmediğini vurguladı ve bunun montajcılar ve pas için de geçerli olduğunu belirtti. Ayrıca DMA-Rust kodunu ayrı ayrı koyma ve başka birine bakma önerisini reddetti; Bunu yaparken, pas kodunun çekirdeğin merkezi alanlarına nüfuz etmesine izin vermek için çok sert sözlerle konuştu.

Linux çekirdeği aslında bir proje değil, yüzlerce


Geliştiriciler arasındaki tartışma, LWN'nin bildirdikten sonra yakın zamanda alevlendi. Nazik bir çözüm görünürde değildir. Diğer konularda düzinelerce kez Linux gelişiminde böyle anlaşmazlıklar oldu. Şaşırtıcı değil, çünkü çekirdek olarak görülen şey, Linus Torvalds'ın himayesi altında yüzden fazla prensiptir.

Prensler daha büyük bir tane üzerinde çalışırlar, ancak alanları üzerinde geniş kapsamlı egemenliğe sahiptir-bir alt sistemde doğru olan kod formatlama, hata mesajı veya yama girişi başka birinden parçalanabilir. Doğal olarak, çeşitli alt sistem anaincileri de büyük bütün ve farklı alanların etkileşimi ile aynı fikirde değildir, bu da mevcut gibi argümanlara yol açar.

Şüpheniz varsa, Torvalds karar verir


Bazen prensler başka bir alt sistemin ablukasını dolaşmak için bir şeyler kandırır. Bazen dahil olanları ısırık kullanırken çalışır, ancak bazen patlar. Şüphesiz, Linus Torvalds er ya da geç – gerçekte ya da bir bakıcının açık iradesine karşı kod kabul ederek bir güç kelimesi konuşur.

En aptal durumda, daha sonra eşyalarını yakalar, ama bu nadiren olur. Bu tür son büyük çatışma, Torvalds'ın kodu orta vadede kaydetmesi için geçmesine izin verene kadar, süreç zamanlayıcısının mirollarının uzun bir süre boyunca savaştığı kaydı ile genişletilebilir süreç zamanlayıcısıydı. Bu bir yıl sonra Linux 6.12'de oldu.

Mevcut çatışmada bu tür bir yaşam da muhtemeldir. Böyle gelene kadar, Torvalds çoğunlukla tartışmalardan uzak durur-Rust-DMA şey hakkında bir açıklama talebine tepki vermediğini merak eder.

Bu nedenle, mevcut çatışmanın DMA'ya bağlı ve pas içinde yazılı olarak yazılmış bir sürücünün çekirdeğe akması veya sayısı büyüyene kadar gülümsemeye devam etmesi oldukça olasıdır. İlk şey yakında olabilir: Red Hat geliştiricisi, Modern Nvidia GPU'larını desteklemesi ve sürücüyü “Nouveau” nu devralması gereken entegrasyon için Rust ile yazılmış Nova Graphics sürücüsünün ilk bölümlerini gönderdi. DMA onun için gereklidir.

Alt sistem süpervizörleri genellikle yüksek baskı altındadır


Bu arada, Rust-DMA kodununkiler gibi tıkanmalar için erken sınıflandırmalara dikkat edin: bunun için gizli olan nedenler vardır. Örneğin, birçok alt sistem Mainate umutsuzca gözden geçirilir, çünkü işverenleri onlara yukarı akış koduna bakmaları için çok az zaman verir; Ayrıca, işini boş zamanlarında tamamen yapan birçok denetçi de var. Birçoğu için, çalışma saatleri ve boş zaman katılımı arasındaki sınırlar da bulanık.

Sadece miniciler kendilerini kişilerarası sorunlara yol açabilecek, uyarılardan şikayet edebilecek veya iş yükünü iyi bir neden olmadan daha da artırabilecek değişikliklere karşı savunurlarsa anlaşılabilir. Bu, örneğin, ortak-bakımcılar olarak belki de sevilmeyen veya bilinmeyen geliştiricilerle daha yakın işbirliğini veya ilgili alt sistemin bir akşamın ustalaşmadığı ve hatta öğrenemediği başka bir programlama dilinde kodları da içerir. Buna ek olarak, bu kod daha sonra amaçlanan dönüşümlerin imkansız veya önemli ölçüde daha zor olmasını sağlayabilir.

Başka bir yerde gizli kalan argümanlara ilişkin içgörü


Bazen bu tıkanmalar bu nedenle sadece sorunları çekmek veya diğer aktörlerin yardım için fonları hafifletmelerini sağlamak için kollardır. Bu aynı zamanda macOS veya pencerelerin çekirdeğinin geliştirilmesinde olur, ancak kapalı kapıların arkasındaki şirkette durur. Ama sonunda var ve orada: çok şey daha önce pişirildiği kadar sıcak yenilmiyor.


(DMK)