23 puan yazan kuroneko 2023-08-31 | 10 yorum | WhatsApp'ta paylaş
  • Rust kullanarak Unix olmayan bir işletim sistemi yapma denemesi.
  • Şu anda grafik çıktısı, dinamik bellek ayırma, eşzamanlı yürütme ve klavye/fare desteği mevcut.
  • Dikkat çekici yanı, tüm uygulamaların tek bir fonksiyon olarak çalışabilecek şekilde tasarlanmış olması.
    • Uygulama, işletim sistemi işlevlerini içeren bir Context alarak çalıştığı için tüm etkileşimler Context üzerinden gerçekleşiyor.
    • Bu sayede sandboxing, debugging gibi işlemler çok kolaylaşıyor; bellek durumunun korunması da Context üzerinden yapıldığı için yeniden başlatma ve uyku modu kolay oluyor.
  • Uygulama tasarımı henüz tamamlanmadığından, tüm uygulamaların birbirlerinin belleğini görebilmesi gibi sorunlar hâlâ mevcut.
  • Kalıcı depolama, GPU ve ağ desteği gibi özellikler ise henüz uygulanması gerekenler arasında.

10 yorum

 
honglu 2023-08-31

Konsept hoşmuş. Her yer Rust oldu... hahaha

 
botplaysdice 2023-08-31

"Uygulamaların birbirlerinin belleğini görebildiği"... :)

 
ahwjdekf 2023-08-31

Evet, çok komik.

 
xguru 2023-08-31

VirGL - QEMU VM içinde kullanılabilen sanal 3D GPU

VirGL desteği sayesinde QEMU üzerinde kurup test etmek mümkündür.

 
kuroneko 2023-08-31

Rust OS üzerinde Rust programlarını çalıştıran bir gelecek...? Her yer Rust olmuş.

 
heycalmdown 2023-08-31

Yorumlarda HN dizisi varsa, keşke neo otomatik olarak özetlese haha neo olmadan yaşayamam

 
kuroneko 2023-08-31

Bundan sonra yapay zeka özetini de birlikte getirmeye çalışacağım. İlginç olan şu ki sanki bunu insanların tek tek öne sürdüğü iddialara göre özetliyor.

  • danhau: Başkalarının iddia ettiği gibi işbirlikçi zamanlamanın başarısız olmasının beklenip beklenmemesi gerektiğini sorguluyor ve uygulamaların zaten işbirliği yaptığı noktası hakkında endişe duyuyor. Hizmet reddi saldırılarının bu tür sistemleri kolayca durdurabileceğinden kaygılanıyor.
  • aseipp: danhau'ya katılarak, işbirlikçi zamanlamanın basit hataları sistem için ölümcül hale getirebileceğini ve bunun rastgele program çalıştırma açısından sorun yaratabileceğini söylüyor.
  • gnulinux: Her şeyin siyah-beyaz olmadığını öne sürerek, işbirlikçi uygulamalara izin verirken sonsuz döngüler nedeniyle sistemin durmasını önlemenin yolları olabileceğini söylüyor. Örneğin zaman aşımı ya da döngü algılama gibi yöntemler olabileceğini belirtiyor.
  • DSMan195276: İşbirlikçi programların kesintiye uğratılmayacağını varsaydığını, bu yüzden gerçekte bunun her şey ya da hiçbir şey meselesi olmadığını savunuyor. Hatta kesintiye uğratma seviyesi azalsa bile program yazma biçiminin değişmesi gerektiğini söylüyor.
  • getpokedagain: Her işletim sisteminin öngörülemez çok kullanıcılı uygulamaları çalıştırmak zorunda olmadığını, gömülü cihazlar ya da oyun konsolları gibi sınırlı sistemlerde işbirlikçi modelin işe yarayabileceğini söylüyor.
  • Symmetry: Modern CPU'ların birden fazla thread'e sahip olduğunu, bu yüzden OS bazı thread'lerin aşırı kullanımını izlerken kontrolü geri alabiliyorsa Fomos'un modelinin tamamen kilitlenmeden çalışabileceğini söylüyor.
  • cmrdporcupine: Özel kullanım senaryolarında işi doğrudan boş çekirdeklere atayan bir modelin avantaj sağlayabileceğini, ancak eşzamanlılık işlemenin karmaşıklığının time-slicing uygulamaya kıyasla büyük ölçüde basitleşmeyebileceğini belirtiyor.
  • JoeAltmaier: Tek bir thread'deki while(true) döngüsünün diğer thread'leri etkilemeyebileceğini, ancak pil/sıcaklık artışının hâlâ yönetilmesi gereken bir kaynak sorunu olduğunu gösterdiğini söylüyor.
  • keyle: Bu projeye ve minimalist yaklaşıma büyük heyecan duyduğunu, DOOM çalıştırma gibi geleneksel gereksinimleri karşılayan bir dosya sistemi de dahil olmak üzere daha fazla geliştirme beklediğini söylüyor.
  • mepian: Smalltalk yöntemlerinin bağımsız fonksiyonlar değil, nesneler arasında yapılan çağrılar olduğunu netleştiriyor; ayrıca bazı erken dönem Lisp OS'lerinin nesne sistemlerinden önce fonksiyon kullandığını açıklıyor.
 
xguru 2023-08-31

Neyse ki? bu yazıyı Neo halletmiş haha

Fomos: Rust ile geliştirilen deneysel işletim sistemi

 
xguru 2023-08-31

Sorun şu ki ben de o bağlantıya bakıp birlikte özet çıkarıyordum, hüzünlü.

Tam 3 farklı özet sürümüne bakıp karşılaştırabilirsiniz, hehe.

  • Non-Unix bir OS yapmak istemiş
  • Exo-Kernel ilginç ama çoğu teoriden ibaret, bu yüzden bu kalıbı anlamaya yardımcı oluyor
  • Özellikler
    • grafik çıktısı, dinamik tahsis, tüm uygulamalar asenkron döngüde çalışıyor
    • Virtio fare/klavye (sürücüler de asenkron görevler)
    • işbirlikçi zamanlama (uygulamalar mümkün olduğunca kontrolü devrediyor)
    • açılıştan sonra context switch yok
    • Virgl™ neredeyse destekleniyor
  • İlginç noktalar
    • uygulamanın imzası pub extern "C" fn _start(ctx: &mut Context) -> i32
    • uygulamaların standart kütüphaneye ihtiyacı yok ve tüm OS işlevleri uygulamaya Context üzerinden aktarılıyor
    • Fomos'ta uygulama sadece tek bir function. En büyük mesele bu. Unix/Windows OS'teki çalıştırılabilir dosyalar, fonksiyonlara kıyasla çok daha karmaşık.
 
roxie 2023-09-04

thumbs down yokken karma nasıl eksiye düştü?