Bindirme (programlama) - Overlay (programming)

Genel bir hesaplama anlamında, bindirme , "bir program kodu bloğunu veya diğer verileri ana belleğe aktarma , önceden depolanmış olanı değiştirme işlemi" anlamına gelir . Bindirme, programların bilgisayarın ana belleğinden daha büyük olmasına izin veren bir programlama yöntemidir . Bir gömülü sistem normalde nedeniyle sınırlaması bindirmeleri kullanacağı fiziksel bellek olduğunu dahili bellek , bir için sisteme-on-chip ve eksikliği sanal bellek tesisleri.

kullanım

Bir bindirme programı oluşturmak, bir programı , bir ağaç yapısında düzenlenmiş bindirmeler adı verilen bağımsız nesne kodu bloklarına manuel olarak bölmeyi içerir . Aynı derinlik seviyesindeki kardeş segmentler, bindirme bölgesi veya hedef bölge olarak adlandırılan aynı belleği paylaşır . Bir kaplama yöneticisi, işletim sisteminin bir parçası veya kaplama programının bir parçası, gerekli kaplamayı gerektiğinde harici bellekten hedef bölgesine yükler . Bağlayıcılar genellikle bindirmeler için destek sağlar.

Örnek

Aşağıdaki örnek, OS/360 Bağlantı Düzenleyicisine yapıyı göstermek üzere girintili bir bindirme programını bağlama talimatı veren kontrol ifadelerini gösterir (segment adları isteğe bağlıdır):

 INCLUDE SYSLIB(MOD1)
 INCLUDE SYSLIB(MOD2)
 OVERLAY A
   INCLUDE SYSLIB(MOD3)
     OVERLAY AA
       INCLUDE SYSLIB(MOD4)
       INCLUDE SYSLIB(MOD5)
     OVERLAY AB
        INCLUDE SYSLIB(MOD6)
 OVERLAY B
    INCLUDE SYSLIB(MOD7)
                       +--------------+
                       | Root Segment |
                       | MOD1, MOD2   |
                       +--------------+
                               |
                    +----------+----------+
                    |                     |
             +-------------+       +-------------+
             |  Overlay A  |       |  Overlay B  |
             |  MOD3       |       |  MOD7       |
             +-------------+       +-------------+
                    |
           +--------+--------+
           |                 |
    +-------------+   +-------------+
    | Overlay AA  |   | Overlay AB  |
    | MOD4, MOD5  |   | MOD6        |
    +-------------+   +-------------+

Bu ifadeler, kök adı verilen kalıcı olarak yerleşik segmentten ve MOD2'nin sonunda yüklenecek olan iki A ve B bindirmesinden oluşan bir ağacı tanımlar . Bindirme A'nın kendisi, AA ve AB olmak üzere iki bindirme segmentinden oluşur. Yürütme zamanında A ve B bindirmeleri aynı bellek konumlarını kullanacaktır; AA ve AB, MOD3'ün bitiminden sonra aynı konumları kullanacaktır.

Kök ile belirli bir bindirme segmenti arasındaki tüm segmentlere yol denir .

Uygulamalar

2015 itibariyle, çoğu iş uygulamasının sanal belleğe sahip platformlarda çalışması amaçlanıyor . Böyle bir platformdaki bir geliştirici, programın çalışma kümesi kullanılabilir fiziksel belleği aşmadıkça, bellek kısıtlaması yokmuş gibi bir program tasarlayabilir . En önemlisi, mimar, işlemeyi kaplama boyutu tarafından sınırlandırılan adımlara zorlamanın ek tasarım zorluğu olmadan çözülmekte olan soruna odaklanabilir. Böylece tasarımcı, programcının boyut üzerinde fazla kontrolüne izin vermeyen daha yüksek seviyeli programlama dillerini kullanabilir (örn. Java , C++ , Smalltalk ).

Yine de, bindirmeler gömülü sistemlerde faydalı olmaya devam ediyor. Gömülü sistemlerde kullanılan bazı düşük maliyetli işlemciler , bir bellek yönetim birimi (MMU) sağlamaz . Ek olarak, birçok gömülü sistem gerçek zamanlı sistemlerdir ve bindirmeler, sayfalamaya göre daha kesin yanıt süresi sağlar . Örneğin, Uzay Mekiği Birincil Aviyonik Sistem Yazılımı (PASS) programlanmış bindirmeleri kullanır.

Hatta sanal bellek ile platformlarında, yazılım bileşenleri gibi codec edilebilir ayrılmış onlar edilebilir noktaya ve gerektiğinde dışarı yüklendi .

Tarihsel kullanım

Gelen ev bilgisayarı orijinal: işletim sistemi mevcut standartlara göre yoksun sanal bellek ve vardı çok az RAM koştu bilgisayar sistemlerinin birçok nedeniyle dönemin bindirmeleri popülerdi IBM PC yapılandırmasına bağlı olarak, 16 K ve 64K arasında vardı. Bindirmeler, Commodore BASIC'te grafik ekranlarını yüklemek için popüler bir teknikti . Bir bindirmenin ne zaman yüklendiğini tespit etmek için bir bayrak değişkeni kullanılabilir.

"1980'lerde birkaç DOS bağlayıcısı, 25 yıl önce ana bilgisayarlarda kullanılanla neredeyse aynı bir biçimde [bindirmeleri] destekledi." Bellek bindirmeleri içeren ikili dosyaların fiili bir standart uzantısı vardı, .OVL . Bu dosya türü, diğerleri arasında WordStar , dBase ve Enable Software, Inc.'den Enable DOS ofis otomasyon yazılım paketi tarafından kullanıldı . GFA BASIC derleyicisi .OVL dosyaları üretmek mümkün oldu.

Ayrıca bakınız

Referanslar

Dış bağlantılar