3 puan yazan GN⁺ 2024-01-04 | 1 yorum | WhatsApp'ta paylaş
  • Maestro, Rust diliyle sıfırdan yazılmış Unix benzeri bir çekirdek ve işletim sistemidir.
  • İlk başta C diliyle uygulanmıştı, ancak kod tabanını temiz tutmak zorlaştıkça Rust'a geçildi.
  • Rust, projeyi en baştan yeniden başlatmayı ve C ile Linux benzeri bir çekirdek yazmaktan daha yenilikçi bir yaklaşım sunuyor; ayrıca Rust'ın güvenliğinden yararlanarak çekirdek programlamanın zorluklarını azaltmaya yardımcı oluyor.

Projenin mevcut durumu

  • Maestro şu anda yalnızca x86 (32 bit) mimarisini destekleyen monolitik bir çekirdektir.
  • Yazının kaleme alındığı sırada, Linux sistem çağrılarının yaklaşık %31'ine karşılık gelen 135 tanesi kabaca uygulanmış durumdadır.
  • İşletim sisteminde çekirdeğin yanı sıra önyükleme sistemi ve daemon yöneticisi Solfège, sistem yardımcı komutları olan maestro-utils ve paket yöneticisi blimp gibi bileşenler bulunur.
  • musl (C standart kütüphanesi), bash, bazı GNU coreutils komutları ve neofetch'in (yamalı sürüm) işletim sisteminde çalıştığı test edilmiştir.

Kendiniz deneyin!

  • İşletim sistemi hâlâ geliştirmenin erken aşamasındadır ve oldukça kararsızdır; bu nedenle önemli verilerin bulunduğu bir makineye kurulması önerilmez.
  • Ağırlıklı olarak QEMU, VMWare ve VirtualBox üzerinde test edilmiştir.
  • İşletim sistemini kurmanın iki yolu vardır: önceden derlenmiş .iso dosyasını indirmek veya ISO'yu doğrudan derlemek.
  • Kurulu paketler disk yerine RAM'de (initramsfs) saklandığından yeterli RAM'e (1 GB veya daha fazlası) ihtiyaç vardır.

Bu blog hakkında

  • Bu blogun amacı bir işletim sisteminin nasıl oluşturulacağına dair bir eğitim yazmak değil; daha ileri konuları incelemek, sorun çözme yöntemlerini paylaşmak ve bilgisayarların, işletim sistemlerinin ve internetin nasıl çalıştığını keşfetmektir.
  • Özellikle osdev.org ve Philipp Oppermann'ın blogu tavsiye edilir.

Sırada ne var

  • Kod tabanının düzenlenmesi ve performans optimizasyonu gerekiyor.
  • Bellek sızıntılarının düzeltilmesi ve performans optimizasyonu blog yazılarının konusu olabilir.
  • Bir sonraki hedef, paket yöneticisinin işletim sisteminde tamamen çalışır hâle gelmesini sağlamaktır.
  • Ağ desteği ve paylaşımlı kütüphane desteği gereklidir.

Nasıl yardımcı olabilirsiniz

  • Github deposuna yıldız vererek, bültene abone olarak, RSS akışını takip ederek ve Discord'a katılarak iletişimde kalabilirsiniz.

GN⁺ görüşü

  • Maestro projesi, Rust diliyle yazılmış Unix benzeri bir işletim sistemi olarak, çekirdek geliştirmede güvenlik ve yenilikçilik arayışı açısından önem taşıyor.
  • Bu proje, açık kaynak topluluğuna katkıda bulunmak isteyen geliştiricilere ilgi çekici bir fırsat sunuyor ve gerçek donanım ile yazılımın etkileşimini anlamaya yardımcı olabilir.
  • Rust ile sistem programlamanın avantajlarını ve sınırlarını bizzat deneyimlemek isteyen başlangıç seviyesindeki yazılım mühendisleri için yararlı bir öğrenme kaynağı olabilir.

1 yorum

 
GN⁺ 2024-01-04
Hacker News görüşleri
  • Projeye verilen destek için teşekkürler

    • Bu proje büyük emek gerektirdi ve geliştirici için çok şey ifade ediyor.
    • Web sitesi şu anda çok yavaş ya da erişilemez durumda. Beklenmedik derecede fazla trafik var ve bir DoS saldırısından şüpheleniliyor.
    • Eve dönünce siteyi iyileştirmeyi deneyecek. Şu anda işi nedeniyle buna fazla dikkat ayıramıyor.
    • Verilen rahatsızlıktan dolayı üzgün, ancak projenin değerlendirilmiş olmasından memnun.
  • Etkileyici küçük ölçekli proje hakkında görüş

    • Linux sistem çağrılarının üçte birini bile uygulamadan ne kadar ileriye kadar boot edebildiğine şaşırılıyor.
    • Henüz uygulanmamış sistem çağrılarının daha karmaşık olduğu tahmin ediliyor.
    • Örneğin, TTY katmanı şu anda oldukça temel görünüyor. Bunu doğru şekilde uygulamak çok iş gerektirecek.
    • Bu nedenle, Maestro'nun önümüzdeki 3 yıl içinde Linux uygulamalarını çalıştırmasını beklemeyin.
  • Güvenlik/sızma testi hakkında görüş

    • Proje Rust ile geliştirildiği için, bir güvenlik testinde hackerların açık bulup bulamayacağını görmek isteniyor.
  • Kerla projesine atıf

    • Linux ABI uyumluluğunu hedefleyen ve Rust ile yazılmış bir monolitik çekirdek olan Kerla da vardı, ancak birkaç yıldır bir etkinlik yok.
  • C dili kullanımının dezavantajları ve OS geliştirmenin zorluğu hakkında görüş

    • Dezavantajların ve zorlukların çoğu debugging tarafında.
    • Rust'a geçilerek belirli bellek hatası sınıfları ortadan kaldırıldı, ancak debugging'in hâlâ zor olup olmadığı ya da geçişten sonra daha az debugging gerektiği için işin kolaylaşıp kolaylaşmadığı merak ediliyor.
  • Kerla projesinin durmasına dair atıf

    • Daha önce denenmiş bir proje olan Kerla'nın durdurulduğu belirtiliyor.
  • Bilgisayarların karmaşıklığı hakkında görüş

    • Bilgisayarlar, insanlığın ürettiği en karmaşık araçlardan biri.
  • Teknik borcun kapatılması yönünde tavsiye

    • Bu bir okul projesi olarak başladığında zaman kısıtı nedeniyle bazı kestirme yollar seçilmiş olsa da, artık teknik borcu kapatma zamanı olduğunun farkında olunması ve bu bakış açısının korunması tavsiye ediliyor.
  • Gource'a ilgi

    • Yazarın katkı videosu oluşturmak için kullandığı Gource adlı araç çok ilgi çekici bulunuyor. Daha önce benzer bir fikir düşünülmüş, ancak görünüşe göre özgün bir fikir değil.
  • Çekirdek geliştirmeye ilgi

    • Öğrenme amacıyla bir çekirdek oluşturma fikri çok beğeniliyor. Çekirdek/OS genelini anlamak için hangi kaynakların kullanıldığı merak ediliyor.