DOS genişletici - DOS extender
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
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
- ATT Graphics Software Labs 'RIO' -- Çözünürlükten Bağımsız Nesneler' grafik yazılımı.
- Adobe Acrobat Reader 1.0 (DOS/4GW profesyonelinin erken bir sürümünü kullanır)
- AutoCAD 11 (PharLap 386)
- Lotus 1-2-3 Sürüm 3 (Rational Systems DOS/16M)
- Oracle Profesyonel
- IBM Interleaf'i
- Major BBS , 1980'lerde Phar Lap DOS genişleticiyi kullanan bir BBS yazılım paketi .
- Quarterdeck DESQview ve DESQview/X çoklu görev yazılımı
- Watcom sitesindeki Cı , C ++ ve Fortran Derleyiciler için x 86
- 1990'ların başından ortalarına kadar, çoğunlukla DOS/4GW kullanan sayısız DOS oyunu:
- id Software 'in DOOM ve devamı, hem de Quake (ile inşa DJGPP )
- Cam Studios'un Looking ' System Shock
- Paralaks Yazılım 'ın İniş
- Crack dot com'un Kötüye Kullanımı
- Blizzard Entertainment 'ın Warcraft: Orklar ve İnsanlar ve Warcraft II: Tides of Darkness
- 3D Realms ' Duke Nukem 3D
- Midway bireyin Mortal Kombat
- Westwood Studios ' Command & Conquer ve Command & Conquer: Red Alert
- DMA Design (şimdi Rockstar North) Grand Theft Auto . Oyunun sonraki sürümleri, modern bilgisayarlarla daha uyumlu hale getirmek için Windows'a taşındı.
- Comanche: Maximum Overkill by NovaLogic , 80386 işlemcigerektirenve bellek yöneticileri ve sanal DOS kutuları ile uyumlu olmayan, CONFIG.SYS'de karmaşık bir DOS önyükleme menüsü yapılandırmasıgerektirenözel bir Unreal modu bellek yöneticisi kullandı. Daha sonraki revizyonlar, sorunu çözen bir DOS genişletici içeriyordu.
- Ultima VII ve Ultima VII İkinci Bölüm: Origin Systems tarafından Serpent Isle ayrıca , EMS bellek ve EMM386 gibi bellek yöneticileriyle uyumlu olmayan Voodoo Bellek Yöneticisi adlı özel bir Unreal modu bellek yöneticisi kullandı .
Referanslar
Dış bağlantılar
- "FreeDOS wiki'de DOS Genişletici" . 2 Mart 2009 tarihinde kaynağından arşivlendi . 12 Ağustos 2009'da alındı .CS1 bakımı: uygun olmayan URL ( bağlantı )
- HX-DOS
- Özgür Ülkenin DOS genişletici listesi