Kerla: Rust ile yazılmış ve Linux ABI ile uyumlu yeni bir çekirdek

Rust dilinde yazılmış bir işletim sistemi çekirdeği olarak geliştirilmekte olan Kerla projesi ile ilgili bilgiler geçtiğimiz günlerde yayınlandı. Kod, Apache 2.0 ve MIT lisansları altında dağıtılır. Proje, C dilinde yazılmış mikro çekirdek işletim sistemi Resea'yı oluşturmasıyla tanınan Japon geliştirici Seiya Nuta tarafından geliştiriliyor.

Yeni çekirdek başlangıçta hedefliyor ABI düzeyinde Linux çekirdeği ile uyumluluğu sağlamak, bu, Linux için oluşturulmuş değiştirilmemiş ikili dosyaların Kerla tabanlı bir ortamda çalışmasına izin verecektir.

Keral Hakkında

Kerla, monolitik bir işletim sistemi çekirdeğidir Rust'ta sıfırdan yaratıldı. Geliştirmenin şu anki aşamasında, Kerla yalnızca x86_64 mimarisine sahip sistemlerde çalıştırılabilir ve write, stat, mmap, pipe ve poll gibi temel sistem çağrılarını uygular, sinyalleri, adsız boruları ve bağlam anahtarlarını destekler. fork, wait4 ve execve gibi çağrılar süreçlerin kontrol edilmesini sağlar. tty ve sözde terminaller (pty) için destek vardır. initramfs dosya sistemleri arasında (kök FS'yi bağlamak için kullanılır), tmpfs ve devfs hala desteklenmektedir.

TCP ve UDP soketlerini destekleyen bir ağ yığını da sağlanır, smoltcp kitaplığına dayalıdır. Geliştirici, QEMU veya Firecracker VM'de çalışan virtio-net denetleyicisi ile zaten SSH üzerinden bağlanabileceğiniz bir önyükleme ortamı hazırladı.. Sistem kütüphanesi olarak Musl, kullanıcı yardımcı programı olarak BusyBox kullanılır.. Docker'a dayalı olarak, Kerla çekirdeği ile kendi initramfs önyüklemenizi oluşturmanıza olanak tanıyan bir derleme sistemi hazırlanmıştır.

Şimdiye kadar, yeni çekirdeği hakkında çok az ayrıntı verildi, ancak Kerla'nın özelliklerine en çok dikkat çeken şey, Rust ile yazılmış olmasıdır. Peki Rust'ta yazmanın diğer dillere veya mevcut kodlara göre herhangi bir avantajı var mı? Pek çoğu, dilin sağladığı bellek güvenliği yararlarını vurgulayarak bu soruya evet yanıtı verdi.

Çalışma zamanında bellek erişimlerinin doğruluğu değerlendirilirken de sağlanır. Daha ne, Mozilla, Rust'ın tamsayı taşmalarına karşı koruma sağladığına inanıyor, kullanımdan önce değişken değerlerin zorunlu olarak başlatılmasını gerektirir, varsayılan olarak referanslar ve değişmez değişkenler kavramını benimser, mantıksal hataları en aza indirmek için güçlü statik yazım sunar ve kalıpların eşleştirilmesi yoluyla girdi işlemeyi basitleştirir.

Avantajlar arasında, kodun kalitesini değerlendirmek için entegre araçları vurgularız. ve sadece gerçek donanımda değil, aynı zamanda QEMU'da da çalıştırılabilen birim testleri oluşturma. Temel olarak, Mozilla, derleyici hataları reddedeceğinden, Rust'ı hata ayıklamayı daha kolay bulur. Ancak koylar, Rust ile ilgili bazı dezavantajlara işaret etti.

“C++'da olduğu gibi, şablon kullanmadan deyimsel Rust yazmak neredeyse imkansız, bu yüzden ikili dosyaları şişiriyor ve derleme sürelerini yavaşlatıyor. Tüm bu derleme zamanı kontrollerinin de bir maliyeti vardır. Ayrıca, bir şeyi yeniden yazarsanız, eski olgun kod tabanını kaybedersiniz ve benzer kalitede bir kod tabanını makul bir sürede üretmenin hiçbir yolu yoktur; Rust'ta programı yeniden yazmak yerine genişletmek çok daha iyidir. Bir yazılım mühendisi, programı Rust'ta yeniden yazmak yerine genişletmek daha iyidir ”diyor.

Yaratıcısına göre, bu nedenle Linux geliştiricileri, özellikle Linus Torvalds'ın kendisi, tüm çekirdeği Rust'ta yeniden yazma fikrini reddettiler.

"Güvenli bağlantılar oluşturmak için biraz çalışın, ardından ek kodu Rust'a yazın ve bu olgun kodun keyfini çıkarmaya devam edebilirsiniz. (Linux'un yaptığı bu, Rust'a çekirdek modülü yazabilme yeteneği ekleme çabaları var ”diye ekledi. Linux geliştiricileri, yaklaşık üç yıldır Rust dilini kullanarak belirli yeni çekirdek modülleri yazma olanaklarını araştırıyorlar. Bu, »Rust for Linux« projesine yol açtı.

Son olarak, 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: Miguel Ángel Gatón
  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.