Yönetilen Kod Nedir?

"Yönetilen kod", Microsoft® Coproration tarafından oluşturulan bir terimdir. Bu terim, kullanılmak üzere Ortak Dil Çalışma Zamanı (CLR) sanal makinesinin kullanılmasını gerektiren program kodunu belirtir. "Yönetilmeyen kod" terimi, bu sanal makineyi gerektirmeyen program koduna atıfta bulunmak için kullanılır.

Ortak Dil Çalışma Zamanı, program kodlarında herhangi bir değişiklik yapmadan programların çeşitli bilgisayarlarda ve işletim sistemlerinde çalışmasına izin vermek amacıyla geliştirilmiştir. Bunu yapmak için bilgisayar program kodu sanal makine bayt koduna dönüştürülür. Bu bytecode daha sonra CLR sanal makinesi tarafından yorumlanır ve üzerinde çalıştığı bilgisayar için bytecode'a dönüştürülür.

Yönetilen bir kod, CLR sanal makinesiyle donatılmış herhangi bir bilgisayarda çalışabilir. Bu yüksek derecede taşınabilirlik, yönetilmeyen kodlara göre kesin bir avantaj sağlar. Yönetilmeyen kod, programcıların farklı makinelerde kullanım için program kodunu değiştirmelerini gerektirir. Bu işlem yalnızca yavaş değil, aynı zamanda birçok uygulama hatasına neden olabilir.

Yönetilen bir kodun sahip olduğu bir başka avantaj, gelişmiş güvenliğidir. Yönetilmeyen bir kodla yapılan bir programın güvenliği, programcıların yaptığı uygulamaya büyük ölçüde bağlıdır. CLR sanal makinesinin kullanımı, programcıların omuzlarındaki güvenlik sorunlarının büyük bir kısmını almaya yardımcı olur. Ortaya çıkabilecek güvenlik sorunlarının çoğu doğrudan sanal makinenin içindedir. Bu kendi başına sorunları merkezileştirmeye yardımcı olur ve güvenlik düzeltme eklerinin uygulanmasını çok daha hızlı hale getirir.

Belirli bir kod kümesinin yönetilen kod mu yoksa yönetilmeyen kod mu olduğu konusu bilgisayar programcıları için son derece önemlidir. Yönetilen kod daha yüksek derecede taşınabilirliğe sahiptir, ancak bu taşınabilirlik, Ortak Dil Çalışma Zamanı'nın hedef bilgisayara yüklenmesini gerektirir. Diğer taraftan, yönetilmeyen kod, CLR eklenmeden çalıştırılabilir.

Yönetilen kod kullanımının birçok avantajı vardır, ancak aynı zamanda birkaç dezavantajı vardır. Birincil dezavantaj, CLR sanal makinesinin kullanımının gerektirdiği ek yüktür. Yönetilen kodun çalıştığı hız ile yönetilmeyen kodun hızı arasındaki fark genellikle ihmal edilebilir, ancak bazı durumlarda uygulama yanıt süresinde çok belirgin bir fark yaratır. Sonuç olarak, yönetilmeyen kod, taşınabilirlik konusunda yüksek derecede hız gerektiren uygulamaların çoğunda önemli bir rol oynar.