7 puan yazan GN⁺ 2024-09-15 | 1 yorum | WhatsApp'ta paylaş
  • Bu depo, os.phil-opp.com'da sunulan Writing an OS in Rust serisinin kaynak kodunu içerir
  • Sorularınız varsa issue açabilir veya Gitter üzerinden sohbet edebilirsiniz

Kodun Konumu

  • Her yazının kodu ayrı bir git branch'inde bulunur
  • Her yazıdan sonraki ara durumlar incelenebilir
  • En güncel yazının koduna buradan ulaşabilirsiniz
  • Yazı listesindeki (source code) bağlantısını izleyerek her yazının branch'ini bulabilirsiniz
  • Branch'ler post-XX biçiminde adlandırılır (XX yazı numarasıdır)
  • Örnek: VGA Text Mode yazısı post-03, Hardware Interrupts yazısı post-07
  • Derleme talimatları için ilgili branch'teki Readme dosyasına bakın
  • Subdirectory içinde branch checkout etmek için git worktree kullanılabilir
    git worktree add code post-10
    
  • Yukarıdaki komut code adlı bir subdirectory oluşturur ve 10. yazının ("Heap Allocation") kodunu içerir

Yazılar

  • Bu projenin amacı, ayrı blog yazıları halinde adım adım öğreticiler sunmaktır
  • Şu anda aşağıdaki yazılar bulunmaktadır

Bare Bones:

Interrupts:

Memory Management:

Multitasking:

Birinci Sürüm Yazıları

  • Mevcut blog sürümü ikinci sürümdür ve birinci sürüm artık bakım almamaktadır
  • Birinci sürüm yazıları yine de faydalı olabilir
  • Yazı listesi aşağıdaki gibidir

Bare Bones:

Memory Management:

Exceptions:

Additional Resources:

  • Cross Compile Binutils
  • Cross Compile libcore
  • Set Up GDB
  • Handling Exceptions using Naked Functions
  • Catching Exceptions (source code)
  • Better Exception Messages (source code)
  • Returning from Exceptions (source code)

Lisans

  • Bu proje, blog/content klasörü hariç, aşağıdakilerden biriyle lisanslanmıştır
  • blog/content klasörünün lisansı için blog/content/README.md dosyasına bakın

Katkı

  • Açıkça aksi belirtilmedikçe, bilerek gönderilen tüm katkılar Apache-2.0 lisansında tanımlandığı şekilde yukarıdaki gibi çift lisanslı olarak dahil edilir

GN⁺ Özeti

  • Bu proje, Rust ile işletim sistemi yazmayı adım adım anlatan öğreticiler sunar
  • Her yazı bağımsız bir konuyu ele alır ve kod örnekleriyle açıklanır
  • İşletim sistemi geliştirmeyle ilgilenenler için son derece faydalı bir kaynaktır
  • Rust'ın güvenlik ve performans avantajlarından yararlanarak işletim sistemi geliştirmeyi öğrenebilirsiniz
  • Benzer işlevlere sahip diğer projeler arasında Redox OS bulunur

1 yorum

 
GN⁺ 2024-09-15
Hacker News yorumu
  • Birkaç yıl önce ikinci edisyonu tamamladım ve çok şey öğrendim

    • OS geliştirme hakkındaki anlatım iyiydi ve Rust öğrenmek için de faydalıydı
    • Yazar dilin idiomlarını iyi anlıyor, bu yüzden kodun ifade ediliş biçimi öğreticiydi
    • Blogdaki Rust'ta futures uygulama açıklaması özellikle etkileyiciydi
    • Phil'in EFI tabanlı üçüncü edisyon üzerinde yeniden çalışmaya başlamasını umuyorum
    • İkinci edisyon hâlâ hafta sonu geliştirme zamanı geçirmek için harika bir yöntem
  • 5 yıl önce öğreticiyi tamamladıktan sonra MOROS üzerinde çalışmaya başladım

    • Rust ve OS geliştirmeyle ilgilenen herkese güçlü biçimde tavsiye ederim
    • Phil çok emek vermiş ve bu sonuçta açıkça görülüyor
    • Sonrasında osdev wiki üzerinden öğrenmeye devam edebilirsiniz
  • Rust ile OS yazmak yerine DML/DDL çalıştırabilen bir veri platformu yapmanız gerekirdi

  • Rust ve OS geliştirmeyi derinlemesine araştırdıktan sonra bu kaynağı keşfettim

    • Bu kaynağın kalitesine hayran kaldım; yalnızca OS tarihi ve tasarımını değil, Rust'ın bazı unsurlarını da öğrenebildim
    • Phil harika bir iş çıkarmış
  • Bu kaynak sayesinde 2021'de Rust'a başladım

    • Böyle bir kaynağın var olması için gerçekten minnettarım
  • Phil'in OS geliştirme hakkındaki yazıları her zaman çok iyi bir okuma sunuyor

  • Harvey OS ekibi artık R9OS projesi üzerinde çalışıyor

  • Özellikle orijinal edisyonun yazılarını tavsiye ederim

    • Mevcut edisyon bootloading sürecini özel bir crate ile ele alarak fazla yardım sağlıyor
  • Rustconf'tan yeni döndüm; gerçek zamanlı işletim sistemlerine odaklanan yaklaşık beş büyük OS sürümü var

    • Hepsi açık kaynak değil
  • Bir diğer iyi kaynak da Rust kullanarak bir RISC-V OS yapmak