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

miguel ojeda, Rust-for-Linux projesinin yazarı, Teme geçtiğimiz günlerde dördüncü teklifini açıkladı. aygıt sürücüsü bileşenleri Linux çekirdek geliştiricilerinin düşünmesi gereken Rust.

Pas desteği deneysel olarak kabul edilir, ancak linux-next dalına dahil edilmesi zaten kabul edildi ve çekirdek alt sistemleri üzerindeki soyutlama katmanları üzerinde çalışmaya ve ayrıca sürücüler ve modüller yazmaya başlamak için yeterince olgun. Geliştirme, Google ve Let's Encrypt projesinin kurucusu olan ve HTTPS'yi ve İnternet güvenliğini artıracak teknolojilerin geliştirilmesini destekleyen ISRG (İnternet Güvenliği Araştırma Grubu) tarafından finanse edilmektedir.

Önerilen değişikliklerden hala habersiz olanlar, bunu mümkün kıldıklarını bilmelidirler. Denetleyiciler ve modüller geliştirmek için Rust'ın ikinci bir dil olarak kullanılması çekirdeğin. Rust desteği, varsayılan olarak etkinleştirilmeyen bir seçenek olarak sunulur ve Rust'ın çekirdek için gerekli derleme bağımlılıkları arasında yer almasına neden olmaz.

Sürücüleri geliştirmek için Rust'ı kullanma minimum çabayla daha iyi ve daha güvenli sürücüler oluşturmanıza olanak tanır, bir bellek alanına serbest bıraktıktan sonra erişme, boş göstericilerin referansını kaldırma ve arabellek taşmaları gibi problemler olmadan.

Rust'ta bellek güvenliği, derleme zamanında referansları kontrol ederek, nesne sahipliğini ve nesne ömrünü (kapsamını) izleyerek ve ayrıca kodun yürütülmesi sırasında bellek erişiminin doğruluğunu değerlendirerek sağlanır.

Rust ayrıca tamsayı taşması koruması sağlar, değişkenlerin kullanımdan önce başlatılmasını gerektirir, standart kitaplıktaki hataları daha iyi işler, değişmez değişkenler ve referanslar kavramını varsayılan olarak zorlar ve mantıksal hataları en aza indirmek için güçlü statik yazım sunar.

Dördüncü taksitte ne gibi değişiklikler var?

Sunulan yamaların bu yeni versiyonunda, yamaların birinci, ikinci ve üçüncü baskısının tartışılması sırasında yapılan yorumların ortadan kaldırılmaya devam edildiği belirtiliyor.

Kararsız özelliklere bağlı kalmayana kadar güncellemeye devam edeceğiz;
bu noktada Rust'ın minimal bir versiyonunu ilan etmeye başlamak isteyebiliriz.
örneğin GCC ve Clang için olduğu gibi desteklenir.

Benzer şekilde, Rust dilinin 2021 baskısına da geçtik.

Bu yeni sürümde yapılan diğer değişikliklere gelince, duyuru aşağıdakilerden bahseder:

  • Referans derleyici olarak kararlı Rust 1.58.0 kullanmaya geçildi.
  • Henüz ana Rust araç setinde bulunmayan proje için gerekli değişiklikler arasında "-Zsymbol-mangling-version=v0" bayrağı (Rust 1.59.0'da bekleniyor) ve "maybe_uninit_extra" modu (Rust 1.60.0'da bekleniyor) yer alıyor. .
  • Rust araçlarının kullanılabilirliği ve uygunlukları için otomatik kontroller eklendi ve sistem üzerinde Rust desteğini test etme yeteneği de genişletildi.
  • Cihaz tanımlayıcı tablolarına ("IdArray" ve "IdTable") Rust kodundan erişebilmek için yeni soyutlamalar önerilmiştir.
  • Zamanlayıcı (saat çerçevesi) ile ilgili çağrı işlevleri için katmanlar eklendi.
  • Platform denetleyicileri artık özellik uygulamaları aracılığıyla tanımlanıyor.
  • Platform sürücü kaydını kolaylaştırmak için yeni bir makro eklendi ve yeni bir genel sürücü şablonu önerildi.
  • "dev_*" yapıları için yeni makrolar eklendi.
  • IoMem türü için yeni yöntemler "{read,write}*_relaxed" eklendi .
  • Dosya işlemlerini basitleştirmek için FileOpener özelliği kaldırıldı.
  • Denetleyici kaydı sırasında iletilen argüman sayısına "ThisModule" parametresi eklendi.
  • Rust dilinde çekirdek modülleri oluşturmak için tipik bir şablon önerilmiştir.

Son olarak, bu yeni sürüm hakkında daha fazla bilgi edinmek istiyorsanız, ayrıntılara bakabilirsiniz. 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.