Microsoft, Windows Subsystem for Linux (WSL) altyapısında önemli mimari değişikliğe giderek sistem kararlılığını artırmayı hedefliyor. Kabul edilen yeni güncelleme, Linux sanal ortamının bellek işlemci kullanımını sınırlandırarak yoğun iş yükleri sırasında tüm WSL altyapısının kilitlenmesini önleyecek. Değişiklik sayesinde tüketen işlemler başarısız olsa bile Windows üzerindeki WSL hizmeti çalışmaya devam edecek.
Yeni Yönetimi WSL’nin Tamamen Kilitlenmesini Önlemeyi AmaçlıyorMicrosoft’un geliştirdiği yeni mimari, kullanıcıların çalıştırdığı Linux ortamlarını ayrı havuzu içinde sınırlandırıyor. Daha önce büyük yazılım projelerinin derlenmesi gibi yüksek bellek tüketen işlemler sırasında sanal Linux ortamı Out-of-Memory (OOM) hataları oluşturabiliyor, ardından WSL’nin temel süreçleri yeterli kaynağa ulaşamadığı için tüm sistem yanıt vermemeye başlayabiliyordu.
Yeni yapı, kullanıcı tarafından başlatılan işlemleri “wsl-user” adlı özel kontrol grubuna taşıyor. Böylece Linux tarafındaki uygulamalar tüm sistem kaynaklarını tüketemiyor. sınırına ulaşıldığında yalnızca ilgili işlem sonlanıyor, WSL’nin arka planda çalışan temel servisleri ise çalışmayı sürdürüyor. Microsoft, değişiklikle özellikle yazılım geliştiricilerin karşılaştığı beklenmeyen sistem kilitlenmelerini azaltmayı hedefliyor.
sınırları belirli güvenlik payıyla oluşturuluyor. Linux ortamı, ana sistem belleğinin 32 MiB altında sınırlandırılırken işlemci kullanımında toplam kapasitenin çok küçük bölümü WSL’nin kendi servisleri için ayrılıyor. Böylece Windows Linux arasındaki iletişimi sağlayan kritik süreçler her zaman çalışabilecek yeterli kaynağı koruyor.
Güncellemenin önemli değişikliklerinden biri Linux cgroup v2 mimarisine tam geçiş yapılması. Modern Linux dağıtımlarında yaygın olarak kullanılan yapı daha gelişmiş yönetimi sağlasa eski cgroup v1 altyapısına bağımlı bazı uygulamalar için uyumluluk sorunları oluşturabiliyor.
Microsoft, eski çalışma düzenine ihtiyaç duyan kullanıcılar için geçiş seçeneği sunuyor. Kullanıcılar, wslconfig dosyasına IsolateDistroCgroup = false ayarını ekleyerek yeni izolasyon mekanizmasını devre dışı bırakabiliyor. Böylece eski iş yükleri çalışmaya devam edebiliyor ancak yeni koruma özellikleri kullanılmamış oluyor.
Yeni mimari yalnızca yönetimini iyileştirmiyor. Aynı bilgisayarda birden fazla Linux dağıtımı kullanan geliştiriciler artık başlatma sırasında yaşanan bekleme sorunlarıyla daha az karşılaşacak. Her dağıtımın systemd süreci kendi kontrol grubunda bağımsız çalıştığı için dağıtımlar birbirinden etkilenmeden açılabilecek. değişiklik özellikle Docker, Kubernetes, Podman benzeri geliştirme araçlarını aynı anda kullanan yazılım geliştiricileri için daha istikrarlı çalışma ortamı sunmayı hedefliyor.