DOS genişletici - DOS extender

Tenberry Software'in DOS/4GW başlangıç ​​afişi

Bir DOS genişletici bir olan bilgisayar programı altında çalışan programı DOS bir çalıştırmak için yazılım sağlayan korumalı mod ana işletim sistemi faaliyet gösteren sadece yeteneğine sahip olsa da çevreye gerçek mod .

DOS genişleticiler ilk olarak 1980'lerde Intel 80286 işlemcinin piyasaya sürülmesinden sonra geliştirildi (ve daha sonra Intel 80386 ile genişletildi ), DOS'un bellek sınırlamalarıyla başa çıkmak için .

DOS genişletici işlemi

Bir DOS genişletici, korumalı modda çalışan programların temeldeki DOS API ile şeffaf bir şekilde arabirim oluşturabilmesi için DOS'u "genişleten" bir programdır . Bu gerekliydi, çünkü DOS tarafından sağlanan işlevlerin çoğu, ilk 640 kilobaytlık bellek içindeki bellek konumlarına işaret eden 16 bitlik segment ve ofset adresleri gerektiriyor . Ancak korumalı mod, segment kayıtlarının (artık seçiciler olarak adlandırılır) Global Tanımlayıcı Tablosunda segmentin özelliklerini tanımlayan bir girişi işaret etmek için kullanıldığı uyumsuz bir adresleme yöntemi kullanır . İki adresleme yöntemi birbirini dışlar ve işlemcinin korumalı olmayan mod isteklerine hizmet etmek için gerçek (veya V86 ) moda pahalı geçişler yapması gerekir .

DOS genişletici, ortamı ayarlamaya ve yürütülecek asıl programı yüklemeye ek olarak (diğer şeylerin yanı sıra) 1 MB gerçek mod bellek bariyerinin altına tahsis edilen arabellekleri koruyan bir çeviri katmanı da sağlar . Bu arabellekler, temel alınan gerçek mod işletim sistemi ile korumalı mod programı arasında veri aktarmak için kullanılır. Gerçek/V86 modu ile korumalı mod arasında geçiş yapmak nispeten zaman alıcı bir işlem olduğundan, genişletici, birçok gerçek mod işleminin işlevselliğini kendi korumalı mod ortamında çoğaltarak anahtar sayısını en aza indirmeye çalışır. DOS , işletim sistemi ve kullanıcı düzeyindeki yazılım arasındaki iletişim için yaygın olarak kesmeler kullandığından , DOS genişleticiler, ortak donanım (örneğin, gerçek zamanlı saat ve klavye denetleyicisi) ve yazılım (örneğin, DOS'un kendisi ve fare API'si) kesmelerinin çoğunu engeller . Bazı genişleticiler, video BIOS rutinleri gibi diğer genel kesme işlevlerini de işler.

Esasen, bir DOS genişletici, temeldeki işletim sisteminin işlevselliğinin çoğunu idare eden minyatür bir işletim sistemi gibidir.

Geliştirme geçmişi

Tenberry Software'in DOS/4G ürün logosu

DOS genişletici muhtemelen Phar Lap tarafından icat edildi , ancak korumalı mod DOS programlarını kitlesel bir pazara getiren Tenberry Software'in (eski adıyla Rational Systems) 386 genişletici DOS/4GW'siydi . İle Dahil Watcom '386 sınıf işlemciler için s C, C ++ ve Fortran derleyici, yakında gibi bilgisayar uygulamaları ve oyunların her yerde bulunan bir dayanak noktası oldu id Software nın başarılı' Doom .

DOS genişleticilerin gelişimini sağlayan şey, başlangıçta belleğe aç iş uygulamaları olsa da, onları gerçekten ön plana çıkaran PC oyunları olacaktı. DOS genişleticilerin geliştirilmesinin bir sonucu olarak, halihazırda var olan çeşitli bellek yönetimi yöntemlerinden doğabilecek birçok olası çakışmayla ilgilenmek ve istemci programları için tek tip bir arabirim sağlamak için iki yeni yazılım arabirimi oluşturuldu.

Bu arabirimlerden ilki Sanal Denetim Programı Arabirimi'ydi (VCPI), ancak bu, Windows 3.0 geliştirmesinden doğan DOS Korumalı Mod Arabirimi (DPMI) belirtimi tarafından hızla gölgelendi . Genişletilmiş bir programın gerçek mod yazılımıyla arabirim oluşturabileceği, bellek ayırabileceği ve kesme hizmetlerini yönetebileceği bir API sağladılar. Ayrıca, genişleticinin korumalı moda geçişi ayarlaması için kolay bir yöntem sağladılar ve birden fazla korumalı mod programının barış içinde bir arada var olmasına izin verdiler.

DOS genişleticiler

  • Tenberry Software, Inc. tarafından sağlanan DOS/4G ve DOS/4GW ve DOS/16M .
  • Phar Lap'tan 286|DOS Extender ve 386|DOS Extender . Daha sonra yerini TNT Dos Extender almıştır.
  • PROT by Al Williams, Dr. Dobb's Journal'da ve iki kitapta yayınlanan 32 bitlik bir DOS genişletici. Bu genişletici, gerçek moda geri dönmek yerine DOS ve BIOS çağrılarını öykünülmüş modda çalıştırma erdemine sahipti.
  • Thomas Pytel ve Charles Sheffold tarafından PMODE ve PMODE/W . İkincisi, DOS/4GW'ye alternatif olarak Watcom C içindi ve demoscene programcıları arasında oldukça popülerdi.
  • CauseWay, DOS4G ile rekabet eden eskiden tescilli bir genişleticiydi. 2000 yılı itibariyle açık kaynak olarak yayınlandı. DaggerFall gibi birkaç nadir oyun bunu kullanır.
  • DOS/ 4G'ye alternatif olarak DOS/32 , Narech K.
  • Ergo (eski Eclipse, eski AI Architects) OS/286 ve OS/386 genişleticiler ve DPM16 ve DPM32 sunucuları
  • 386Power 32-bit DOS Extender, 32-bit Assembly uygulamaları için bir genişleticidir . Kaynak kodunu içerir .
  • Tüm Microsoft Windows sürümleri 1990 yılından bu yana, NT şube haricinde dahil DPMI sunucu ve DOS extender hem.
  • HX DOS Extender, Windows konsolunun ve bazı Win32 GUI uygulamalarının DOS altında çalışmasına izin vermek için sınırlı Win32 desteği sağlar. Korumalı mod DOS programlarıyla kullanım için hem 16 bit hem de 32 bit DPMI sunucuları (HDPMI16/HDPMI32) içerir
  • DosWin32, sınırlı Win32 desteği sağlar
  • WDosX, TMT Pascal derleyicisi tarafından kullanılan sınırlı Win32 desteğinin erken bir uygulamasıydı.
  • Borland Power Pack , Win32 API'sinin sınırlı bir bölümüne erişebilen bazı geliştirme paketlerinde bulunan bir genişleticiydi.
  • Yine Borland'dan TASM , iki DPMI ana bilgisayarı olan DPMI32VM ile 32RTM ve DPMI16BI ile RTM içeriyordu.
  • CWSDPMI by Charles W. Sandmann, 32 bit korumalı mod DOS DJGPP programlarıyla kullanım için bir DPMI sunucusu .
  • Tarafından QDPMI Quarterdeck Office Systems , içerdiği DPMI ev sahibi oldu QEMM .
  • DJGPP'nin eski (v2 öncesi) sürümlerinde kullanılan GO32 ve Free Pascal
  • D3X, tamamen Assembly'de yazılmış bir DPMI sunucusudur . Hala alfa durumunda, ancak tamamlanmadan durduruldu.
  • DPMIONE, başka bir DPMI sunucusudur. Orijinal olarak Borland C++ ve Delphi tarafından üretilen 32 bit programlar için geliştirilmiştir.
  • Salford Software tarafından DBOS, öncelikle FTN77 Fortran Derleyicileri tarafından kullanılan 32 bit korumalı mod DOS genişletici
  • FlashTek tarafından X32 ve X32VM ve Digital Mars derleyicileri tarafından hedef olarak desteklenir
  • Blink Inc Sürüm 3 ve üzeri BLINKER, CA-Clipper, Microsoft C/C++, PASCAL, FORTRAN ve Borland C/C++ dahil olmak üzere çeşitli 16 bit DOS derleyicileri için 286 DOS Genişletici sağladı. Çalışma zamanı ortamına bağlı olarak gerçek veya korumalı modda çalışabilen, desteklenen benzersiz 'İkili Mod' yürütülebilir dosyaları.
  • EMX

Önemli DOS genişletilmiş uygulamalar

Referanslar

Dış bağlantılar