DOS védett mód interfész - DOS Protected Mode Interface
| Állapot | Közzétett |
|---|---|
| Elkezdődött az év | 1989 |
| Szervezet | DPMI bizottság |
| Tartomány | Alkalmazás programozási felületek |
| Rövidítés | DPMI |
A számítástechnikai , a DOS Védett mód Interface ( DPMI ) egy leírás 1989-ben bevezetett, amely lehetővé teszi a DOS program fut védett módban , amely hozzáférést biztosít számos jellemzője az új processzort az idő nem áll rendelkezésre valós módban . Eredetileg a Microsoft fejlesztette ki a Windows 3.0 számára , bár a Microsoft később átadta a specifikáció ellenőrzését egy nyílt tagságú ipari bizottságnak. Szinte minden modern DOS -bővítő DPMI -n alapul, és lehetővé teszi a DOS -programok számára, hogy a PC -ben rendelkezésre álló összes memóriát kezeljék, és védett módban működjenek (többnyire a 3. gyűrűben , a legkevésbé jogosult).
Áttekintés
A DPMI lehetővé teszi, hogy egy program védett módban fusson a 80286 sorozatú és újabb processzorokon, és visszahívásokat kezdeményezzen a valós módban futó operációs rendszerre. Például egy DOS program "bekapcsolhatja" a védett módot, de mégis visszahívhatja a DOS -t a szervizeléshez (mondjuk az INT 21h szabványos DOS -szolgáltatás megszakításán keresztül). Ennek legfontosabb oka, hogy lehetővé teszi a védett módú programok működését DOS alatt, amelynek kernelje 16 bites valós módot használt kereskedelmi életében. Mivel az MS-DOS-t (önálló operációs rendszerként) soha nem frissítették 32 bitre, és nem engedélyezték a 24 vagy 32 bites címzést sem, a DPMI "javításként" szolgált, hogy lehetővé tegye a fejlett védett módú programok futtatását a stabil MS-DOS platformon . A DPMI-t úgy lehet elképzelni, mint egy "fordítót", amely (például) védett módú DOS hívásokat fogad, és a regisztereket valós és védett módba fordítja, beleértve a 16 bites szegmentált címeket, és lefordítja azokat egy megfelelő védett mód formátumba.
A DPMI lehetővé teszi egy ideig a 32 bites programok futtatását is Windows 3.x alatt , mivel maga a Windows 16 bites volt. Ez a képesség ma is megmarad a 32 bites Windows „DOS dobozban” egészen a Windows 10 operációs rendszerig (csak 32 bites kiadások) visszafelé kompatibilitási okokból (bár nem hivatalosan elavult).
A DPMI az egyetlen hivatalosan támogatott módszer a védett módú DOS programok futtatására a legtöbb DOS-kompatibilis multitasking operációs rendszerben. Míg a Windows már régóta támogatja a 32 bites programokat, a még mindig létező sok DOS-kompatibilis rendszernek általában DPMI-t kell használnia a védett módú szolgáltatások nyújtásához, vagy fennáll annak a kockázata, hogy nem kompatibilisek. Az olyan rendszereknek, mint a FreeDOS, még mindig van helyük a beágyazott rendszerek programozásában, ahol egyszerűségük, valamint az API -dokumentáció és a fordítóeszközök bősége miatt alacsony végrehajtási és erőforrás -költségeik fontosak.
A DPMI szolgáltatás lehet 16 bites, 32 bites vagy „univerzális”, és DPMI kernelnek , DPMI gazdagépnek vagy DPMI szervernek nevezik . Ezt vagy a gazda operációs rendszer ( virtuális DPMI gazdagép ), vagy egy DOS bővítő ( valódi DPMI gazdagép ) biztosítja. A DPMI kernel része lehet egy DOS bővítőnek , például DOS/4GW vagy DOS/32A , vagy különálló, például CWSDPMI vagy HDPMI .
Történelem
Az első DPMI specifikációs tervezeteket 1989 -ben tette közzé a Microsoft Ralph Lipe . Noha a DPMI for Windows 3.0 prototípusos verziója 386 továbbfejlesztett módban készült, ennek a megvalósításnak számos jellemzőjét eltávolították a hivatalos specifikációból, beleértve az MS-DOS Extensions nevű szolgáltatást vagy a DOS API fordítást , amelyet Ralph Lipe javasolt az eredeti verzióban dámajáték. Ennek nagy része DOS és BIOS interfészeket valósított meg (a történelem miatt néhány INT 21h API -t, például a 4Ch -t minden DPMI implementációnak végre kell hajtania). A DPMI 0.9 verzióját 1990 -ben tette közzé az újonnan alakult DPMI Bizottság . A kapott specifikáció 0.9-es verziószámát úgy választottuk, hogy tükrözze a szabvány lecsupaszított jellegét és hiányos állapotát, amelyekkel a DPMI bizottság tagjai egyetérthetnek. Míg a Windows a DPMI 0.9 verzióját jelenti a kompatibilitásról, valójában megvalósítja a többi alkatrészt is, mivel ezek a rendszer létfontosságú részét képezik. A DPMI dokumentálatlan teljes jellege az iparágban " igazi DPMI " néven vált ismertté . Nem a DPMI szabvány volt az egyetlen erőfeszítés a VCPI specifikáció hiányosságainak kiküszöbölésére. Ezzel egy időben, amikor a Microsoft kifejlesztette a DPMI -t a Windows 3.0 rendszerhez, egy másik iparági szövetség, beleértve az Intel Software Focus Group -ot , a Lotus -t , a Digital Research -t , az Interactive Systems -t és másokat, kifejlesztett egy Extended VCPI ( XVCPI ) elnevezésű specifikációt , hogy a 386 memóriakezelési és multitasking képességeit javítsa . elérhető a kiterjesztett DOS alkalmazásokhoz. Amikor kiderült, hogy a Microsoft DPMI javaslata számos hasonló problémával foglalkozott, és a Windows is támogatta, ezek az erőfeszítések ahhoz vezettek, hogy 1990 februárjában létrehozták a DPMI bizottságot, az Intel Santa Clara -i találkozóján.
1991 -ben a DPMI Bizottság számos pontosítást és kiterjesztést tartalmazva átdolgozta a DPMI -t az 1.0 -s verzióra, de még mindig nem tartalmazta a Windows rendszerben megvalósított hiányzó "valódi DPMI" biteket. Valójában az "igazi DPMI" soha nem vált a hivatalos DPMI specifikáció részévé, és a Windows sem hozta létre a DPMI 1.0 kiterjesztéseket (és nem sok DPMI -gazdagép tette ezt).
Míg a DPMI -t úgy tervezték, hogy kiterjesztett DOS alkalmazási szoftvert futtasson védett módban és bővített memóriában, nem különösen alkalmas rezidens rendszerbővítményekhez. Tovább leírás elemzi DPMS által kifejlesztett Digital Research / Novell 1992 körül, kifejezetten címek követelmények könnyedén költözése módosított DOS meghajtó szoftvert kiterjesztett memóriát futtatni őket védett módban, és ezáltal csökkenti a hagyományos memóriát a kicsi csonkokat . Ezt a Helix Cloaking is támogatja .
A DPMI "módszer" a DOS -ra és az IBM PC -re jellemző. Más típusú számítógépeket 16 bitesről 32 bitesre frissítettek, és a fejlett programtámogatást az operációs rendszer új 32 bites API - val és új memóriakezelési/címzési képességekkel történő frissítése biztosította. Például az OS/2 központi rendszer támogatja a 32 bites programokat, és GUI nélkül is futtatható. Úgy tűnik, hogy a DPMI-megoldás főként a harmadik felek azon igényeinek kielégítésére van szükség, hogy a DOS védett módú programokat stabilan futtassák a Windows 3.x rendszeren, mielőtt a meghatározó operációs rendszer-gyártó, a Microsoft foglalkozhatna vagy foglalkozna a 32 bites Windows jövőjével. Ezenkívül a Microsoft nem a 32 bites átmenetre adott választ 32 bites DOS-nak, hanem inkább egy 32 bites Windowsnak, teljesen más (és nem kompatibilis) API-val.
Kompatibilitás
Míg a Windows 3.0 az "igazi DPMI -t" valósítja meg, és a DPMI 0.9 támogatásáról számol be, a DPMI 1.0 -s verzióját soha nem implementálták a Microsoft Windows rendszerben , ezért a legtöbb programot és DOS -bővítőt többnyire csak a 0.9 -es verzióra írták. Néhány bővítő azonban megvalósítja az "igazi DPMI -t".
A Qualitas 386MAX béta verziói megvalósították az „igazi DPMI -t”, és futtathatták a Windows KRNL386.EXE parancssorát, de azt állították, hogy egy belső e -mailben le van tiltva a kiadott termékben. A DPMIONE (Bob Smith, a 386MAX kód alapján) azonban képes rá. Jelenleg a DPMIONE és a 386 MAX az egyetlen olyan DPMI -gazdagép, amely teljes mértékben támogatja a DPMI 1.0 -t (pl. Nem lekötött memória), és ők a DPMI 1.0 fő támogatói.
A DR DOS "Panther" és a "StarTrek" 1991 óta fejlesztés alatt álló KRNL386.SYS (más néven "MultiMAX") , valamint a Novell DOS 7 , Caldera OpenDOS és DR-DOS 7.02 és újabb EMM386.EXE memóriakezelők beépített DPMI-támogatással rendelkezik, ha az opcióval meg van töltve . A KRNL386.SYS -nek még parancssori lehetősége is volt a DPMI 1.0 vagy 0.9 támogatására. A DOS API fordítását "védett módból 21 megszakításnak nevezték". A többfelhasználós DOS , a Rendszerkezelő és a REAL/32 támogatja a DPMI -t is.
/DPMI[=ON]/VER=0.9|1.0
A leghíresebb külön DPMI kernel valószínűleg a CWSDPMI ; támogatja a DPMI 0.9 -et, de nincs dokumentálatlan "DOS API fordítás". Egy másik változat, a "TRAN", azaz Thomas Pytel PMODE nevű változata volt népszerű a 32 bites programozók körében a kilencvenes évek demo jelenetében . Sok játék a DOS/4GW -t használta, amelyet a Rational Systems fejlesztett ki a DOS/4G részhalmazaként, és a Watcom C fordítójával együtt terjesztették .
A HDPMI (a HX DOS Extender része ) "DOS API fordítást" és szinte teljes DPMI 1.0 implementációt biztosít.
DPMI bizottság
A DPMI 1.0 bizottság 1990 és 1991 között ülésezett, és 12 csoportból állt:
- Borland International ( Borland C, Turbo Pascal )
- IBM Corporation ( PC DOS , OS/2 )
- AI Architects / Ergo Computer Solutions / Eclipse Computer Solutions / Ergo Computing ( OS / 286 , OS / 386 DOS bővítők)
- Intelligent Graphics Corporation ( VM/386 többfelhasználós DOS)
- Intel Corporation ( 286 , 386 , 486 mikroprocesszor)
- Locus Computing Corporation ( egyesítés )
- Lotus Development Corporation ( Lotus 1-2-3 )
- Microsoft Corporation ( MS-DOS , Microsoft Windows )
- Phar Lap szoftver ( DOS | 286 , DOS | 386 , TNT )
- Phoenix Technologies ( Phoenix BIOS , PMate , PForCe , Plink-86 )
- Quarterdeck Office Systems ( QEMM , DESQview , DESQview / X )
- Racionális rendszerek / Tenberry szoftver ( DOS/16M , DOS/4G , DOS/4GW DOS bővítők )
Lásd még
- Virtuális vezérlőprogram interfész (VCPI)
- DOS védett módú szolgáltatások (DPMS)
- Helix Cloaking
- NetWare I/O alrendszer (NIOS)
- Többfelhasználós DOS Szövetség
Megjegyzések
Hivatkozások
További irodalom
- Bevezetés a DOS védett mód interfészbe - Fehér könyv . Intel . 1993. Intel rendelési kód 240787-003. (22 oldal)
- DOS védett módú interfész (DPMI) specifikáció - Védett módú API DOS kiterjesztett alkalmazásokhoz - 0.9 verzió . Intel . 1990-07-26. Archiválva az eredetiből 2012-04-25. (112 oldal)
- A DPMI Bizottság (1991-03-12). DOS Protected Mode Interface (DPMI) specifikáció - 1.0 verzió - Application Program Interface (API) a védett módú DOS alkalmazásokhoz (PDF) . Intel . Intel rendelési kód: 240977-001. Archiválva az eredetiből (PDF) , 2013-05-31 . Letöltve: 2013-05-31 . (160 oldal)
- Sokolov, Michael (1998-04-26). "Némi történelem a DPMI -n" . Archiválva az eredetiből 2016-05-22. [3] [4]
- Chui, Paul (1992-02-01). "Dokumentálatlan DOS a védett módú Windows 3-ból" . Dr. Dobb folyóirata . Archiválva az eredetiből 2018-09-20 . Letöltve: 2018-09-20 .
- "MS-DOS 5.0 DPMI" (angolul és japánul). 2016-07-24 [2016-06-22]. Archiválva az eredetiből 2018-09-17 . Letöltve 2018-09-17 .(MSDPMI japán MS-DOS 5.00A a PC-98 platformon.)
Külső linkek
- "DOS védett módú interfész (DPMI) specifikáció - Védett módú API DOS kiterjesztett alkalmazásokhoz - 0.9 verzió" (HTML konvertálva). Tenberry Software, Inc. 1998 [1990-07-26]. Archiválva az eredetiből 2016-05-21 . Letöltve: 2006-12-19 .
- "DPMI 1.0 Programming API Specification" (HTML konvertált szerk.). DJ Delorie . 1996. április [1991]. Archiválva az eredetiből 2016-05-21 . Letöltve: 2019-07-28 .
- Sandmann, Charles W. "CWSDPMI" . Archiválva az eredetiből 2015-11-16.
- Japheth. "HX DOS bővítő" . Archiválva az eredetiből 2014-10-13.
- Smith, Bob. "DPMIONE dokumentációs fájl verziója 0.91" . Archiválva az eredetiből 2016-05-21 . Letöltve: 2019-07-28 .