Linux'ta Rust sürücü desteği için yamaların üçüncü sürümü zaten yayınlandı

İkinci versiyonun yayınlanmasından altı ay sonra, miguel ojeda, Rust-for-Linux projesinin yazarı, üçüncü seçeneğin önerisini duyurdu Linux Çekirdeğinde Rust dilinde aygıt sürücülerinin geliştirilmesi için.

Rust desteği deneysel olarak kabul edilir, ancak linux-next dalına dahil edilmesi konusunda zaten anlaşmaya varılmıştır. Geliştirme, Google ve Let's Encrypt projesinin kurucusu olan ISRG (İnternet Güvenliği Araştırma Grubu) kuruluşu tarafından finanse ediliyor ve HTTPS'nin tanıtımına ve İnternet güvenliğini iyileştirecek teknolojilerin geliştirilmesine katkıda bulunuyor.

Önerilen değişikliklerin Rust'ın çekirdek sürücüleri ve modülleri geliştirmek için ikinci bir dil olarak kullanılmasına izin verdiği unutulmamalıdır.

Linux'ta Rust sürücüleri
İlgili makale:
Linux'ta Rust sürücü desteği için yamaların ikinci sürümü zaten gönderildi

Pas desteği, varsayılan olarak etkin olmayan bir seçenek olarak duyurulur ve Rust'ın gerekli temel yapı bağımlılıklarına dahil edilmesine neden olmaz. Sürücü geliştirme için Rust'ı kullanmak, serbest bırakıldıktan sonra bir bellek alanına erişme, boş göstericilerin referansını kaldırma ve arabellek sınırlarını aşma zahmetine girmeden, minimum çabayla daha iyi ve daha güvenli sürücüler oluşturmanıza olanak tanır.

Yamaların yeni sürümü, yamaların birinci ve ikinci sürümlerinin tartışılması sırasında yapılan yorumları ve bulabileceğimiz en dikkate değer değişiklikleri ortadan kaldırmaya devam ediyor:

Rust 1.57 kararlı sürümüne geçildi Referans derleyici olarak ve Rust 2021 dilinin stabilize edilmiş baskısına bağlanma güvence altına alınmıştır.Rust 2021 p spesifikasyonuna geçişbu tür kararsız özellikleri kullanmaktan kaçınmak için çalışmaya başlamasına izin verildi const_fn_transmute, const_panic, const_unreachable_unchecked ve core_panic ve try_reserve gibi yamalarda.

Ayrıca göze çarpıyor tahsis sürümünün geliştirilmesi devam etti Rust kütüphanesinden, yeni sürümde, işlevselliği devre dışı bırakmak için "no_rc" ve "no_sync" seçenekleri uygulanır Çekirdek için Rust kodunda kullanılmaz, bu da kütüphaneyi daha modüler hale getirir. Gerekli çekirdek değişikliklerini ana kitaplığa getirmek için ana tahsis geliştiricileriyle çalışmaya devam ediyoruz. Kütüphanenin çekirdek seviyesinde çalışabilmesi için gerekli olan "no_fp_fmt_parse" seçeneği Rust'ın temel kütüphanesine (kernel) taşınmıştır.

Olası derleyici uyarılarını kaldırmak için kod temizlendi çekirdeği CONFIG_WERROR modunda derlerken. Rust'ta kod oluşturulduğunda, ek tanılama derleyici modları ve Clippy linter uyarıları dahil edilir.

teklif ettiler seqlocks kullanmak için soyutlamalar (sıra kilitleri), güç yönetimi için geri arama çağrıları, bellek G / Ç (readX / writeX), kesme ve iş parçacığı işleyicileri, GPIO, cihaz erişimi, pas kodundaki sürücüler ve kimlik bilgileri.

Sürücü geliştirme araçları genişletildi yeniden konumlandırılabilir muteksler, bit yineleyiciler, işaretçiler üzerinde basitleştirilmiş bağlamalar, gelişmiş hata teşhisi ve veri yolundan bağımsız altyapı kullanımıyla.

Bağlantılarla çalışma, Ref türü kullanılarak iyileştirildi referansları saymak için aynı adı taşıyan merkezi API'yi kullanan refcount_t arka ucuna dayalı olarak basitleştirilmiştir. Standart haritalama kitaplığında sağlanan Arc ve Rc türleri için destek kaldırılmıştır ve çekirdek düzeyinde yürütülen kodlarda mevcut değildir (kitaplığın kendisi için bu türleri devre dışı bırakmak için seçenekler hazırlanmıştır).

PL061 GPIO sürücüsünün Rust'ta yeniden yazılmış bir sürümü yamalara eklendi. Sürücünün bir özelliği, neredeyse satır satır uygulamasının mevcut C GPIO sürücüsünü tekrar etmesidir. Rust'ta bina kontrolörleri ile tanışmak isteyen geliştiriciler için, Rust'ta C kodunun hangi build'lere dönüştüğü hakkında fikir veren satır satır bir karşılaştırma hazırlanmıştır.

Rust'ın ana kod tabanı, libgccjit kitaplığını kullanarak AOT derlemesini uygulayan GCC için bir rustc arka ucu olan rustc_codegen_gcc'yi benimser. Arka ucun uygun şekilde geliştirilmesiyle, GCC kullanarak çekirdeğe dahil olan Rust kodunu toplamanıza izin verecektir.
ARM, Google ve Microsoft'a ek olarak Red Hat, Linux çekirdeğinde Rust'ı kullanmakla ilgilendiğini ifade etti.

Son olarak, bu konuda daha fazla bilgi edinmek istiyorsanız, ayrıntılara başvurabilirsiniz. Aşağıdaki bağlantıda.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.