Yürütme (bilgi işlem) - Execution (computing)

Bilgisayar ve yazılım mühendisliğinde yürütme , bir bilgisayarın veya sanal makinenin bir bilgisayar programının talimatlarını okuyup bu komutlara göre hareket ettiği süreçtir . Bir programın her talimatı, belirli bir sorunun çözülmesi için gerçekleştirilmesi gereken belirli bir eylemin açıklamasıdır. Yürütme, her talimat için bir 'getir-kodunu çöz-yürüt' döngüsünü tekrar tekrar izlemeyi içerir. Yürütme makinesi talimatları takip ettiğinden , bu talimatların semantiğine göre belirli efektler üretilir .

Bir bilgisayar için programlar bir infaz edilebilir toplu işlem insan etkileşimi olmadan veya kullanıcı yazabilirsiniz komutları bir in interaktif oturumda bir bir tercüman . Bu durumda, "komutlar", yürütülmesi birlikte zincirlenmiş program talimatlarıdır.

Çalıştırma terimi neredeyse eşanlamlı olarak kullanılır. Hem "çalıştırmak" hem de "yürütmek" ile ilgili bir anlam, "Lütfen uygulamayı çalıştırın" bölümünde olduğu gibi , bir kullanıcının bir programı başlatmasına (veya başlatmasına veya çağırmasına ) ilişkin belirli eylemi ifade eder .

İşlem

Çalıştırılmadan önce bir program yazılmalıdır. Bu genellikle kaynak kodunda yapılır ve daha sonra bir yürütülebilir dosya üretmek için derleme zamanında derlenir (ve bağlantı zamanında statik olarak bağlanır ). Bu yürütülebilir dosya daha sonra, çoğunlukla programı belleğe yükleyen ( yükleme süresi ), muhtemelen dinamik bağlantı gerçekleştiren ve ardından kontrolü programın giriş noktasına taşıyarak yürütmeye başlayan bir işletim sistemi tarafından çağrılır ; tüm bu adımlar , işletim sisteminin Uygulama İkili Arayüzüne bağlıdır . Bu noktada yürütme başlar ve program çalışma zamanına girer . Program daha sonra normal bir sonlandırma veya bir çökme olmak üzere bitene kadar çalışır .

yürütülebilir

Yürütülebilir kod , yürütülebilir bir dosya veya yürütülebilir bir program , bazen yalnızca yürütülebilir veya ikili olarak adlandırılır , bir bilgisayarın bir veri dosyasının aksine " belirtilen görevleri kodlanmış talimatlara göre gerçekleştirmesine" neden olan bir talimat ve veri listesidir. anlamlı olması için bir program tarafından yorumlanması ( çözümlenmesi ) gerekir .

Kesin yorum kullanıma bağlıdır. "Talimatlar" geleneksel olarak fiziksel bir CPU için makine kodu talimatları anlamına gelir . Bazı bağlamlarda, komut dosyası oluşturma talimatlarını ( bytecode gibi ) içeren bir dosya da yürütülebilir olarak kabul edilebilir.

Yürütme bağlamı

Yürütmenin gerçekleştiği bağlam çok önemlidir. Çıplak bir makinede çok az program yürütülür . Programlar genellikle yürütme sırasında mevcut kaynaklar hakkında örtük ve açık varsayımlar içerir. Çoğu program, bir işletim sistemi ve doğrudan bilgisayarın kendisi tarafından sağlanmayan önemli hizmetleri sağlayan kaynak dile özgü çalışma zamanı kitaplıklarının desteğiyle yürütülür . Bu destekleyici ortam, örneğin, genellikle bir programı bilgisayar çevre birimlerinin doğrudan manipülasyonundan ayırır ve bunun yerine daha genel, soyut hizmetler sağlar.

çalışma zamanı sistemi

Çalışma zamanı ortamı olarak da adlandırılan bir çalışma zamanı sistemi , öncelikle bir yürütme modelinin bölümlerini uygular . Bu, bir programın çalışma zamanı sisteminin çalıştığı çalışma zamanı yaşam döngüsü aşamasıyla karıştırılmamalıdır . Çalışma zamanı sistemini çalışma zamanı ortamından (RTE) farklı olarak ele alırken, ilki, programlama için kullanılan uygulama yazılımının (IDE) belirli bir parçası, programcıya programları çalıştırmak için daha uygun bir ortam sağlayan bir yazılım parçası olarak tanımlanabilir. üretimleri sırasında ( test ve benzeri), ikincisi (RTE) , geliştirilmiş programa uygulanan ve daha sonra yukarıda belirtilen çalışma zamanı sisteminde çalıştırılan bir yürütme modelinin tam örneği olacaktır .

Çoğu programlama dilinde , programların çalıştığı bir ortam sağlayan bir tür çalışma zamanı sistemi vardır. Bu ortam , uygulama belleğinin yönetimi , programın değişkenlere nasıl eriştiği , yordamlar arasında parametre geçişi için mekanizmalar , işletim sistemiyle arabirim oluşturma vb. dahil olmak üzere bir dizi sorunu ele alabilir . Derleyici belirli çalışma zamanı sistemine bağlı olarak yapar varsayımlar doğru kodu üretmek için. Tipik olarak, çalışma zamanı sistemi, yığın ve öbek kurmak ve yönetmek için bir miktar sorumluluğa sahip olacaktır ve çöp toplama , iş parçacıkları veya dilde yerleşik diğer dinamik özellikler gibi özellikleri içerebilir .

talimat döngüsü

Komut döngüsü (aynı zamanda getirme çözme yürütmek döngüsü basit ya da almak yürütmek döngü ) olup döngüdür merkezi işlem birimi (CPU) izler boot-up bilgisayar işlem talimatları için kapanana kadar . Üç ana aşamadan oluşur: getirme aşaması, kod çözme aşaması ve yürütme aşaması.

Bu, getirme-çözme-yürütme döngüsünün bireysel aşamalarını gösteren basit bir diyagramdır.

Daha basit CPU'larda, talimat döngüsü sırayla yürütülür, her talimat bir sonraki başlatılmadan önce işlenir. Çoğu modern CPU'da, talimat döngüleri bunun yerine eşzamanlı olarak ve genellikle paralel olarak bir talimat boru hattı aracılığıyla yürütülür : sonraki talimat önceki talimat bitmeden işlenmeye başlar, bu da döngü ayrı adımlara bölündüğü için mümkündür.

Tercüman

Bir programı yürüten sisteme programın yorumlayıcısı denir . Basitçe söylemek gerekirse, bir tercüman doğrudan bir programı yürütür. Bu , bir programı yürütülmeden önce bir dilden diğerine dönüştüren bir dil çevirmeni ile çelişir .

Sanal makine

Bir sanal makine ( VM ), bir bilgisayar sisteminin sanallaştırılması / öykünmesidir . Sanal makineler, bilgisayar mimarilerine dayanır ve fiziksel bir bilgisayarın işlevselliğini sağlar. Uygulamaları özel donanım, yazılım veya bunların bir kombinasyonunu içerebilir.

Sanal makineler farklıdır ve burada gösterilen işlevlerine göre düzenlenir:

  • Sistem sanal makineleri ( tam sanallaştırma VM'leriolarak da adlandırılır), gerçek bir makinenin yerini alır. Tüm işletim sistemlerini yürütmek için gereken işlevselliği sağlarlar. Bir hiper yönetici, donanımı paylaşmak ve yönetmekiçin yerel yürütmeyi kullanırve birbirinden izole edilmiş ancak aynı fiziksel makinede bulunan birden çok ortama izin verir. Modern hipervizörler, öncelikle ana bilgisayar CPU'larından gelen donanım destekli sanallaştırma , sanallaştırmaya özel donanım kullanır.
  • İşlem sanal makineleri , bilgisayar programlarını platformdan bağımsız bir ortamda yürütmek için tasarlanmıştır.

QEMU ve video oyun konsolu öykünücüleri gibi bazı sanal makine öykünücüleri, farklı sistem mimarilerini de öykünmek (veya "neredeyse "taklit etmek") için tasarlanmıştır, böylece başka bir CPU veya mimari için yazılmış yazılım uygulamalarının ve işletim sistemlerinin yürütülmesine olanak tanır . İşletim sistemi düzeyinde sanallaştırma , bir bilgisayarın kaynaklarının çekirdek aracılığıyla bölümlenmesine olanak tanır . Terimler evrensel olarak değiştirilemez.

Referanslar

Ayrıca bakınız