Geçtiğimiz pazar sabahının son saatlerinde, uzun süredir üzerinde çalıştığım projede kritik bir kilometre taşına ulaştım: V.E.L.O.C.I.T.Y.-OS, artık kendi kendini iyileştirebiliyor ve bağımsız olarak derleyebiliyor.
Bu başarı, on iki parçadan oluşan bir yolculuğun doruk noktasıydı. Proje, adını Velocity (hız) ve Clarity (açıklık) kelimelerinin birleşiminden alan, sadece 30 MB boyutunda ancak olağanüstü performans sunan bir işletim sistemi yaratmayı hedefliyordu. Sistem, x86-64 mimarisinde doğrudan CPU’nun L3 önbelleğinde çalışıyor ve yerleşik bir büyük dil modeliyle (LLM) sürekli etkileşim halinde.
Kendi Kendini İyileştiren Bir Çekirdek: Nasıl Çalışıyor?
V.E.L.O.C.I.T.Y.-OS’un en dikkat çekici özelliklerinden biri, kendi kendini iyileştirme mekanizması. Sistem, çalışan bileşenlerin performansını sürekli olarak izleyen bir telemetri ağına sahip. Bu ağ, her bir fonksiyonun çalıştırılma süresini, bellek kullanımını ve hata oranlarını kaydediyor. Eğer bir bileşenin performansı belirlenen eşiklerin altına düşerse, otomatik olarak devreye giriyor.
İşte sürecin adımları:
- Performans İzleme: CPU’nun Time Stamp Counter (RDTSC) yardımıyla her fonksiyonun çalıştırılma süresi hassas bir şekilde ölçülüyor. Sistem, ortalama çalıştırılma süresi 1,5 milyon devirden fazla olan fonksiyonları otomatik olarak tespit ediyor.
- AST Analizi: Tespit edilen fonksiyonun Abstract Syntax Tree (AST) yapısı, yerleşik Qwen-Coder-0.5B modeline gönderiliyor. Model, fonksiyonun kodunu analiz ederek optimizasyon önerileri geliştiriyor.
- JIT Derleme ve Hot-Swap: Önerilen optimizasyonlar, güvenli bir sandbox ortamında JIT derleniyor. Ardından, optimize edilmiş versiyon bellekte atomik olarak değiştiriliyor ve sistemin performansı anında artıyor.
Aşağıdaki kod parçası, bu sürecin nasıl gerçekleştirildiğini gösteriyor:
// velocity-bootloader/src/evolution.rs — Kendi Kendini İyileştirme Döngüsü
pub static GLOBAL_ASTS: Mutex<BTreeMap<u64, NdaNode>> = Mutex::new(BTreeMap::new());
// Fonksiyon gecikmesini RDTSC ile izleyerek, ortalama 1,5 milyon devirden fazla olanları tespit et
pub fn track_latency(hash: u64, cycles: u64) {
let mut stats = TELEMETRY.lock();
if let Some(node) = stats.iter_mut().find(|n| n.hash == hash) {
node.total_cycles += cycles;
node.call_count += 1;
let avg = node.total_cycles / node.call_count;
if avg > 1_500_000 && node.call_count == 10 {
crate::serial_println!("[Kendi Kendini İyileştirme] {:016X} hash’li fonksiyonda gecikme uyarısı. Ortalama: {}", hash, avg);
trigger_healing_loop(hash);
}
} else {
stats.push(TelemetryNode {
hash,
total_cycles: cycles,
call_count: 1,
});
}
}
fn trigger_healing_loop(hash: u64) {
crate::serial_println!("[Keni Kendini İyileştirme] {:016X} hash’li fonksiyon için yansıma döngüsü başlatılıyor...", hash);
// 1. Global AST kaydından ham fonksiyon ağacını al
let node_opt = GLOBAL_ASTS.lock().get(&hash).cloned();
let node = match node_opt {
Some(n) => n,
None => { return; }
};
let func_nodes = match &node {
NdaNode::Scope { children } => children.clone(),
_ => alloc::vec![node.clone()],
};
// 2. AST optimizasyon geçişlerini uygula (Sabit katlama, KDE, Döngü açma)
let opt_nodes = crate::nda_jit::optimize_ast(&func_nodes);
// 3. Optimize edilmiş AST adayını güvenli sandbox içinde JIT derle
let program = crate::nda_jit::compile(&opt_nodes);
// 4. Optimize edilmiş fonksiyonu bellekte atomik olarak değiştir
if let Some(opt_fn) = program.fns.first() {
crate::profile::register_optimized_kernel(hash, opt_fn.clone());
crate::serial_println!("[Kendi Kendini İyileştirme] {:016X} hash’li fonksiyon hot-patch edildi.", hash);
}
}P2P Kayıt Sistemi: Biosphere ve Bellek Verimliliği
Bir diğer önemli yenilik ise Biosphere adlı P2P kayıt sistemidir. Bu sistem, içerik adresli bir modül havuzu olarak çalışıyor ve sistem bileşenlerinin güvenli bir şekilde paylaşılmasını sağlıyor. Örneğin, bir modül bağımlılığı tanımlarken sadece import "8f2ca9..." şeklinde bir hash kullanıyor. Eğer aynı bağımlılık başka bir yerde talep edilirse, sistem otomatik olarak bellek sayfasını yeniden kullanıyor. Bu sayede, aynı kodun farklı yerlerde tekrar yüklenmesi engelleniyor ve fiziksel RAM verimliliği maksimum düzeye çıkarılıyor.
LLM ve Sistem Performansı: SMP Core Pinning
Sistemdeki yerleşik LLM’in sürekli çalışması, diğer bileşenlerin performansını olumsuz etkileyebiliyordu. Bu sorunu çözmek için SMP Core Pinning adı verilen bir teknik uygulandı. Buna göre:
- LLM tahmin görevleri, CPU’nun 3 numaralı çekirdeğine sabitlendi.
- Düşük gecikmeli sistem işlemleri (örneğin grafik bileşenleri ve zamanlayıcı) ise 0, 1 ve 2 numaralı çekirdeklere tahsis edildi.
Ayrıca, öngörülü KV önbellek ön-işleme sistemi devreye alındı. Bu sistem, kullanıcının klavyeye basmasını beklemeden, gelecekteki olası token’ları tahmin ederek dikkat haritalarını önceden hesaplıyor. Böylece, kullanıcı herhangi bir tuşa bastığında tahminler anında ekrana yansıtılabiliyor.
UEFI’den Tamamen Bağımsızlığa: Boot-to-NDA Geçişi
Projenin son adımı, UEFI önyükleyicisinden tamamen bağımsız bir çalışma ortamına geçiş oldu. Bu geçiş, Boot-to-NDA adı verilen bir mekanizma ile gerçekleştirildi. İşleyiş şu şekilde:
- UEFI önyükleyici, kontrolü
BOOT_ND.BINadlı bir dosyaya devrediyor. - Çekirdek, tüm yerel Rust kayıtlarını ve yürütme ortamlarını bırakıyor.
- Sistem, artık saf bir cam (Pure-Glass) ortamında çalışmaya başlıyor; yani tüm donanımsal ve yazılımsal bağımlılıklar ortadan kalkıyor.
Bu aşama, sistemin en saf haliyle çalışmasını sağlıyor ve gelecekteki tüm iyileştirmelerin doğrudan donanım üzerinde uygulanmasına olanak tanıyor.
Geleceğe Bakış: Sürekli Evrim
V.E.L.O.C.I.T.Y.-OS’un 12 parçalık yolculuğu, sadece bir başlangıç. Sistem artık kendi kendini iyileştirebiliyor, performansını sürekli optimize edebiliyor ve hatta yerleşik LLM ile etkileşime geçerek gelecekteki kararlarını şekillendirebiliyor. Bu, sadece bir işletim sistemi değil; yapay zekanın donanımla bütünleştiği, sürekli öğrenen ve evrim geçiren bir platform.
Önümüzdeki adımlarda, sistemin daha da genişletilmesi ve gerçek donanım üzerinde test edilmesi planlanıyor. Bu proje, geleceğin işletim sistemlerinin nasıl olması gerektiğine dair önemli ipuçları sunuyor: otomatik, güvenli, verimli ve sürekli yenilikçi.
Yapay zeka özeti
Tamamen CPU’nun L3 önbelleğinde çalışan V.E.L.O.C.I.T.Y.-OS’un kendi kendini iyileştiren çekirdeği ve yerleşik LLM tümleştirmesi hakkında detaylı inceleme.