Motūrus OS'e giriş
- Motūrus projesi, bulut için basit, hızlı ve güvenli bir işletim sistemi olan MotūrusOS'u geliştiriyor.
- Motūrus OS, sanal makine tabanlı iş yüklerini hedefleyen yeni bir işletim sistemi; web sunucuları, sunucusuz yapılar ve edge caching gibi alanlarda kullanılabiliyor.
Neden Motūrus OS?
- Günümüzde sanallaştırılmış üretim iş yüklerinin çoğu Linux üzerinde çalışıyor.
- Linux birçok gelişmiş özelliğe sahip olsa da, sanallaştırılmış iş yükleri için ideal olmayan bazı karmaşıklıklara da sahip:
- Linux bare metal için optimize edilmiştir; bu yüzden VM içinde kullanıldığında verimsiz olabilir.
- Linux'un kullanımı zordur.
- Linux tarihsel olarak oldukça güvensizdi.
- Sanallaştırılmış iş yüklerine odaklanan yeni bir işletim sistemi, Linux'tan çok daha basit ve güvenli şekilde tasarlanabilir; ayrıca performans ve verimlilikte Linux'u yakalayabilir ya da aşabilir.
Motūrus OS nedir?
- Motūrus OS, mikrokernel tabanlı bir işletim sistemidir; Rust diliyle inşa edilmiştir ve yalnızca sanallaştırılmış iş yüklerini hedefler.
- Şu anda x64 KVM tabanlı sanal makineleri destekliyor ve Qemu veya Cloud Hypervisor üzerinde çalışabiliyor.
- Rust, Motūrus OS'in çekirdek dili; yalnızca uygulama için değil, ABI için de Rust kullanılıyor.
Çalışan özellikler
- Şu anda alt sistemlerin çoğu POC/MVP modunda olsa da, web sunucusu gibi iş yüklerini çalıştırabiliyor.
- Özellikle şu özellikler çalışıyor:
- MBR(Qemu) veya PVH(Cloud Hypervisor) üzerinden yaklaşık 200 ms içinde önyükleme yapıyor.
- himem mikrokernel.
- Zamanlama: basit çok işlemcili round-robin (SMP), kernel zamanlaması cooperative.
- Bellek yönetimi: şu anda yalnızca 4K sayfalar destekleniyor, stack korunuyor, kullanıcı alanındaki page fault'lar uygun şekilde işleniyor.
- I/O alt sistemi (kullanıcı alanında): VirtIO-BLK ve VirtIO-NET sürücüleri, iki basit dosya sistemi, smoltcp tabanlı ağ iletişimi (yalnızca TCP destekleniyor).
- Kullanıcı alanı: çoklu süreç, preemption, thread'ler, TLS, Rust standart kütüphanesinin büyük bölümü port edildi.
- Basit bir Unix tarzı shell sunuluyor.
Çalışmayan özellikler
- Büyük kısmı hâlâ üretim kullanımına hazır değil.
- Herhangi bir güvenlik denetimi yapılmadı.
- sys-io (kullanıcı alanı I/O alt sistemi) içinde kolayca "uygulanmadı" panic'iyle karşılaşabilirsiniz.
- Özellikle şu özellikler henüz çalışmıyor:
- Dosya sistemi: Rust
std::fs API'sinin büyük kısmı POC olarak uygulanmış olsa da, asenkron I/O kullanılarak yeniden uygulanması gerekiyor.
- Ağ iletişimi:
std::net::TcpStream büyük ölçüde uygulanmış durumda, ancak diğer protokoller henüz uygulanmadı.
- Rust standardı dışındaki ekosistem: Bazı crate'ler küçük uyarlamalarla derlenip kullanılabiliyor; ancak Tokio gibi asenkron runtime'lara bağımlı crate'ler şu anda derlenmiyor.
Motūrus OS nasıl derlenir/çalıştırılır?
docs/build.md belgesine bakın.
Teşekkürler
- Rust ile OS yazma üzerine blog serisi hazırlayan Philipp Oppermann'a büyük teşekkürler. Pek çok kişiye bu alanda deneyler yapma ilhamı verdi.
GN⁺ görüşü
- Yenilikçi yaklaşım: Motūrus OS, sanallaştırılmış ortamlara özel yeni bir işletim sistemi olarak Linux'un karmaşıklığını ve verimsizliklerini çözmeyi hedefliyor.
- Rust dilinin benimsenmesi: Rust, bellek güvenliği ve performansa odaklanan bir dil olarak Motūrus OS'in güvenliğine ve verimliliğine katkı sağlayabilir.
- Geliştirici topluluğuna katkı: Bu proje, işletim sistemi geliştirmeyle ilgilenen geliştiricilerin yeni olasılıkları keşfetmesine ve mevcut sınırların ötesine geçmesine yardımcı olabilir.
3 yorum
Ben de
writing an os in rustblogunu takip ediyorum, daha şimdiden hareketlenme başlamış demek!Güzel bir yazı gibi görünüyor
Hacker News görüşleri
Proje geliştiricisi/yazarının görüşleri:
"Rust-first" yaklaşımına dair açıklama:
Küçük bir çekirdeğin modern bilgisayarlarda neden 200 ms sürdüğüne dair merak:
Rust ile yazılmış çekirdeklerde async-first bir çekirdek görmek isteyen görüş:
Linux rekabeti hakkında Linus Torvalds’ın geçmişteki sözlerini hatırlatan görüş:
Motor OS gibi projeleri ilginç bulan ve geliştirilmesinin sürmesini isteyen görüş:
Linux’un karmaşıklığı nedeniyle Docker, Nix OS ve "serverless" gibi şeylerin var olduğu görüşü:
Yeni teknolojiye karşı başlangıçta şüpheci olsa da, yeniden düşününce gereksiz katmanları kaldırmanın sağlayabileceği verimlilik ve güvenlik artışlarını çekici bulan görüş:
Motor OS’nin Docker vb. ile rekabet ediyor gibi göründüğünü söyleyen görüş:
Yeni bir işletim sistemi başlatmanın zor olmadığını, ancak onu sonraki 50 yıl boyunca desteklemenin çok zor olduğunu söyleyen görüş:
"Çalışmayan özellikler" bölümü gerçekten ibretlik. Oyuncak proje.