Aradil "Intermediate Language"(IL) ve JIT (Just in Time) PDF Yazdır e-Posta
Administrator tarafından yazıldı   
Pazar, 20 Eylül 2009 20:32

 Herhangi bir C++ veya Vbasic kodu direkt makine koduna çevrilirdi ve çalıştırılırdı. Makine diline çevrilen programlar, işlemciye ve işletim sistemine özel olarak derlenirdi.

 Örn: a ve b sayılarının toplamı için kullanılan bir C++ programı Intel işlemciler için farklı SunSparc işlemciler için farklı derlenirdi

 

 Fakat .NET ortamında kodumuzu derlediğimizde elde ettiğimiz IL (aradil) kodu işlemciye bağlı olmaz

 IL içerisinde, değişken tanımları, değişkenlerin nasıl saklanacağı, metotların nasıl çalıştırılacağı, aritmetik işlemler, mantıksal işlemler, bellek kullanımı ve hata yakalama ve yönetimi dahil birçok işin nasıl yapılacağı açıklanır

 Bütün bunların yanında IL’de Metadata olarak adlandırılan bir birim daha vardır. Metadata, programda kullanılan verilerin tiplerinin yanında oluşturulan sınıfların metotlarını ve bunların özelliklerini ve diğer bilgileri içerir.

 Artık IL ile oluşturduğumuz kodumuzun çalıştırılabilir bir program olması için derlememiz gerekiyor. Bunun için JIT (Just in Time) derleyici kullanılır.

 JIT Derleyicileri

Metadata’nın içeriği çalışma zamanında JIT derleyicileri tarafından kullanılır. IL ve Metadata’sı oluşturulan kod parçası, çalıştırılabilir bir yapıdadır.

 

 C# ile IL’ye derlediğimiz programı çalıştırırken JIT derleyicileri devreye girerler. Bu derleyiciler programın çalıştırıldığı sistemin ve işlemcinin anlayabileceği makine kodunu oluştururlar.

 JIT derleyicilerinin Windows ortamı için 3 farklı türü vardır. Bunlar:

 Normal JIT : IL kodu makine koduna çevrilirken default(varsayılan) olarak kullanılan derleyicidir. IL kodunu orijinal makine koduna çevirir ve önbellekte tutar. Örneğin ; program içindeki bir derlenmiş bir metot program akışı içinde tekrar çağrılırsa önbellekten çekilir.

 Pre-JIT: Tüm program kodunu makine koduna çevirip sonra çalıştıran JIT. Fazla hafıza gerektirir. Programın daha hızlı çalışmasını sağlar.

 Eco JIT :Derlenen ve çalıştırılan program parçaları normal JIT’de hemen hafızadan silinmiyordu. Fakat Eco‐JIT’de kullanılabilir hafıza belli bir oranın altına düştüğünde, daha önceden derlenmiş ve çalıştırılmış kısımlar hafızadan silinirler. Kısıtlı hafıza ve önbellekli sistemlerde .NET programlarının daha iyi çalışmalarını sağlamak için kullanılan derleyicidir.

 

 

 

Yorumlar (0)Add Comment

Yorum yaz
daha küçük | daha büyük

busy