1. Ana Sayfa
  2. Server 2012
  3. Managed Code ve Unmanaged Code Nedir? – Yönetilen ve Yönetilemeyen Yazılım Dilleri

Managed Code ve Unmanaged Code Nedir? – Yönetilen ve Yönetilemeyen Yazılım Dilleri

Yazılım dillerini ve geçmişten günümüze geliştirilme süreçlerini incelediğinizde iki farklı terim karşınıza çıkabilir. Managed vs Unmanaged Language. Yani yönetilen ve yönetilemeyen yazılım dilleri.

Aslında Microsoft tarafından kazandırılan terimi sebebi ile /Language terimi de kullanılır oldu.

Bilindiği gibi yazılım dilleri sayesinde makine kodlarına ulaşılabilir, istenilen aksiyonlar gerçekleştirilebilir. Örneğin hafızadaki verilere ulaşıp bunlar bir işlemler zincirinden geçirebilirsiniz.

İşte bu noktada hazırlanan kod parçacıklarının sisteme ne kadar yalın ulaşabildiği ve ulaşamadığı önem kazanıyor.

Microsoft .NET Framework ile birlikte aynı zamanda Common Language Runtime ismi verilen bir sanal makine bileşeni de duyurdu.

Bu bileşenin temel görevi .NET programlarının çalıştırılmasından sorumlu olmak böylece compile edilen kodun makine diline çevrilmesini sağlamaktı. Çünkü yüksek runtime performansının sağlanabilmesi için ilgili programın çalıştırılmadan önce makine koduna çevrilmesi gerekmektedir. Bu metota aynı zamanda Dynamic Translation ya da Just-In-Time Compilation da denmektedir.

Yukarıdaki Comman Lnaguage Runtime (CLR) bileşen diyagramında görüldüğü gibi hazırlanan Source Code öncelikle ByteCode çevrilmelidir. ByteCode bilgisayar tarafından kullanılan bir makine kodu olmadığından bir sonraki adımda sanal makine içerisinde bu kod makine koduna çevrilir. Bu da ilgili programın çok daha performanslı çalışmasını sağlar.

.NET Framework için yazılmış tüm programlar yazılım dilinden bağımsız olarak CLR tarafından çalıştırılır. Bu da aslında ilgili yazılım diline otomatik Memory Management, Exception Handling, Standard Types, ek güvenlik gibi ekstralar sağlar.

Asıl konumuza dönecek olursak Microsoft tarafından ortaya çıkarılan Managed Code ilgili programın yalnızca Common Language Runtime sanal makinesi üzerinde çalıştırılması sayesinde elde edilebilir. Bu da aslında hazırlanan uygulamanın compile edilmesi ile .exe dönüştürülmesi işleminin CIL üzerinde yapılmasıdır. Bu da makine üzerindeki erişimlerin arasında artık ek bir sanal makine katmanı olması anlamına geliyor. Unmanaged code ile makine diline direk erişim sağlanabilmesi mümkün iken Managed Code ile bu erişim aradaki katmanın size sağladığı sınırlar dahilinde gerçekleşebiliyor.

Evet sınırlarımız biraz daralmış olabilir ancak Managed Code kullanımı ile birlikte bu katman kodun gerçekten ne yapacağını garantiye alır ve gerekli güvenlik önemlerini kod çalıştırılmadan önce sunar.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

Yorum Yap

Yazar Hakkında

Anıl ERDURAN, Istanbul'da dogdu. Profesyonel olarak 6 senedir, toplamda 8 senedir bilişim sektöründe çalısmaktadır. Üniversite egitimiyle birlikte sektörde çesitli kurumlarda sistem uzmanı pozisyonlarında görev yaptı. Halen Bilge Adam Bilgi Teknolojileri Akademisi'nde Sistem/Network eğitmeni olarak çalışmaktadır. Microsoft ürün ailesi ve network altyapıları ile ilgili çeşitli community ve basılı yayında how-to belgeleri hazırlamaktadır. Sahip olduğu sertifikalar MCSE+S+M 2003 CISCO CCNA JUNIPER JNCIA-ER MCITP MCT

Yorum Yap