En installation av DOS (t.ex. MS-DOS 5.0) innehåller vanligtvis ett uttalande i sitt CONFIG.SYS som DEVICE=C:\DOS\HIMEM.SYS.

När du installerar Windows 3.1 är det inställningskommentarer (REM) som raderas och lägger till DEVICE=C:\WINDOWS\HIMEM.SYS istället.

Förmodligen finns det någon materiell skillnad mellan dessa två filer för installationen för att göra den här modifieringen. Vad gör Windows-versionen som DOS-filen inte gör?

(Denna fråga ställs delvis av en Aleph Ett expansionskort för Acorn Archimedes-maskiner, som lägger till hårdvarustöd för att köra PC-programvara under RISC-OS. Att ladda DOS-versionen av HIMEM.SYS resulterar i ett instabilt system, men Windows-versionen fungerar korrekt, även när DOS körs. om dessa symtom finns här .)

Svar

Olika versioner av MS-DOS och Windows levereras med olika versioner av :

  • Windows / 286 2.10: HIMEM.SYS 1.1 (inte en XMS-drivrutin)
  • Windows / 386 2.10, Windows 2.11: HIMEM.SYS 2.04
  • Windows 3.0: HIMEM.SYS 2.60
  • MS-DOS 5.0: HIMEM.SYS 2.77
  • Windows 3.1: HIMEM.SYS 3.07
  • MS- DOS 6.2 och senare, Windows för arbetsgrupper 3.11: HIMEM.SYS 3.10

(Se KB74977 och KB84388 för några av dessa.)

Den största skillnaden mellan MS-DOS 5.0s version av HIMEM.SYS och Windows 3.1 är i huvudversionen: HIMEM.SYS 2. x implementerar version 2.0 av XMS , HIMEM.SYS 3. x implementerar version 3.0 .

Jag har inte detaljer om alla ändringar mellan dessa versioner utan KB8 4388 nämner att version 2.77 endast ger åtkomst till 16MiB RAM (XMS 2.0 är begränsat till 64MiB), medan 3.07 kan upptäcka upp till 4GiB och använda upp till 1GiB (även om Windows 3. x kan inte använda så mycket). Denna begränsning är faktiskt en Windows 3.0-begränsning, ärvd från 286: s 24-bitars deskriptorer – Windows 3.0 stöder bara 16MB RAM och ”förlitar sig på XMS-drivrutinen för att genomdriva denna gräns.” Det finns förmodligen andra skillnader, inklusive buggfixar och möjligen bättre stöd för vissa system.

Äldre versioner av HIMEM.SYS gjordes tillgängliga med källkod , men jag tror inte att det fortfarande var fallet med de versioner som levererades i Windows 3.0 eller senare. Det kan finnas en lista med ändringar någonstans på Internet men det flyr mig just nu. Vissa ändringar kan hämtas från Microsoft kunskapsbasartiklar; till exempel version 2.77 lade till en omkopplare för att reservera minne för interrupt 0x15-gränssnittet .

Svar

Det finns inga skillnader, förutom till versionsnumret.

Drivrutinerna är ett olika paket som distribueras med DOS, Windows och vissa kompilatorverktyg. Det är möjligt att använda senare och till och med tidigare.

Du kan se från denna tabell att versionerna i allmänhet har uppdaterats genom tiden. Värde inom (parenteser) rapporteras från emuleringen, värde i kvadratparentes [] är period-OEM-versioner som levereras med cdrom etc.

====

Huvudversionen (2, 3) stöds av vissa standarder. Fler funktioner lades till 3, varför EMSMAGIC lappar NT-versionen av himem.sys. De mindre funktionerna är buggfixar. PC-DOS 5.0 och Windows 3.00 har version 2.77, men i uppdateringar av detta (och även i MS-DOS 5.00a) uppdaterades detta till 2.78.

Versionsnumren är också avsedda att se om programmet bör uppdatera din version. Så om den gjorde sitt jobb ordentligt skulle det inte peka din himmlinje till 2,77 om du redan har 3,10.

Det är av den anledningen att Windows 9x har en nedbrytning på 0,95. Det är ett högre antal än till och med 3.15 (PC-DOS 7-versionen). Windows 9x emulerar mus 8.3, så du skulle inte installera 8.2 utan kan installera 9.0.

Du hittar andra versioner av himem.sys etc i annan programvara tillhandahåller programmeringsspråken versioner av dessa.

 HIMEM EMM386 RAMDRV SMARTDRV MOUSE MSCDEX WINNT (2.77) (8.00) (2.21) MS-DOS 5.00 2.78 4.33 3.06 3.13 8.20 [2.21] Windows 3.11 3.07 4.44 3.06 4.00 8.20 [2.21] MS-DOS 6.00 3.07 4.45 3.06 4.10 8.20 2.22 PC-DOS 6.10 3.09 4.45 3.06 4.10 8.20 PC-DOS 6.30 3.09 4.48 3.06 5.00 9.01 2.23 MS-DOS 6.20 3.10 4.48 3.07 5.00 8.20 2.23 Win/W 3.11 3.10 4.49 3.07 5.00 8.20 2.23 MS-DOS 6.22 3.10 4.49 3.07 5.01 8.20 2.23 PC-DOS 7.00 3.15 4.50 3.10 5.10 8.20 2.25 Windows 95 3.95 4.95 3.06 5.00 (8.30) 2.25 Windows 98 3.95 4.95 3.06 5.02 (8.30) 2.25 Windows ME (3.99) 4.95 3.06 5.02 (8.30) 2.25 PC-DOS 7.10 3.15 2.25 

Det finns tre olika versioner av IBM-mus 8.20, resterande mouse.com är identiska med detaljhandelsversionerna.

Du kan använda dessa verktyg med valfri version av DOS. Till exempel körs Win98SE-versionerna enligt PC-DOS 5 eller MS-DOS 5. Kravet är 3.3 eller senare.

Skillnaderna verkar vara felkorrigeringar och optimering. Windows NT använder till exempel en emulerad version av (8.00) här.

MSDRIVERS

Från ett mycket tidigt skede tänkte jag att filerna listan ovan var inte ”en del” av DOS eller Windows, utan snarare olika drivrutiner som distribuerades med vad paketet som gick ut genom dörren. , och ofta specifika för det. På liknande sätt kom MOUSE, MSCDEX, med dessa enheter. SMARTDRV och RAMDRIVE var fler mjukvarudrivrutiner, men var dosoberoende.

HIMEM stöder ett stort antal maskiner, vilket framgår av hjälpen om ämnet. Den har en DOS-sida som stöder en växande del av XMS 2, x och 3, x-gränssnitt och en HW-sida som stöder en rad tidigare maskiner. Fel och implementeringar på vardera sidan kan ge upphov till en ny version, även om de större versionerna stödde ett mer omfattande gränssnitt.

EMM386 stöder ett annat intervall av avbrott etc som Lotus, Intel och Microsoft enades om. Precis som HIMEM finns det program som stöder detta, och det innebär lite pussning i RAM.

Windows använder bara HIMEM.SYS 2.77 på DOS-sidan, och VMM.vxd ser efter minnet i windows sida. I själva verket hämtar Windows hela DOS-minnet, och VMM ansvarar för att allokera XMS-bitar till windows. Detta är samma versionsnummer som rapporterats under Windows 9x, NT och OS / 2.

Läsning av dokumentationen om EMM-stöd från sådana som EMSMAGIC och VEMM.SYS, dessa program finns eftersom EMM inte genomfördes , men bevaras för bakåtkompatibilitet. EMSMAGIC går till och med så långt som att utvidga XMS-stödet i Windows efter 2,77, för att tillåta sådana DOS-program som behöver det.

ÖVRIGA VERKTYG

Jag är inte så mycket programmerare, utan en ”power-user” och OS / collector. Som en del av det roliga är det möjligt att se att det finns i detaljhandelsboxen, inte bara DOS, utan en rad drivrutiner och verktyg (licensierad från tredje part), som ett paket. Samma detaljhandelsuppgradering DOS, till exempel, är förpackad som ”DOS och ytterligare verktyg”.

Priset som betalas per OEM-kopia beror på hur många ”ytterligare verktyg” som ingår. IBM förhandlade fram en överenskommelse med en av sina OEM-tillverkare om att leverera DOS utan QBASIC / EDIT till reducerad pris. På samma grund köpte inte IBM Microsofts ytterligare verktyg.

Eftersom drivrutinerna och tilläggsverktygen fungerar som markörfiler ger det lite inblick i vad som finns på distributionen. MSD 2.0x-filer släpptes när IBM hade tillgång till koden. 2.00 är i Windows, 2.01 finns i DOS 6, både MS-DOS och den äldsta PC-DOS 6.00 beta. 2.1x visades inte förrän efter att IBM inte hade tillgång till den nya koden, dvs. D 6.22 och W 3.11. På samma sätt ser vi att PC-DOS 6.30 från 1993-12-31 har detaljhandelsdrivrutinen 9.01, men en OEM-version en månad senare återgår till IBMs 8.20-version.

Andra versioner av dessa drivrutiner visas i olika detaljhandelspaket, tillsammans med hårdvara i box. Mus 8.20 innehåller ungefär ett dussin extra filer, inklusive paneler för kontroll av mouse.ini under DOS och Windows 3.1. Dessa finns inte i OS-versionerna.

Kommentarer

  • I din första mening säger du " där är inga skillnader ", ändå börjar du ditt sista stycke med att säga " Skillnaderna verkar vara felkorrigeringar och optimera ". Så finns det några skillnader?
  • Huvudversionen implementerar standarden och de mindre är buggfixar.
  • Jag ' m fortfarande inte klart vad ditt övergripande svar är. Eftersom HIMEM.SYS gick från version 2.78 till 3.07 med Windows 3.1, var ' en större versionändring. Kan du ge exempel på vad som har förändrats med den här uppdateringen?
  • Den första siffran representerar den standard som stöds. 3.xx stöder fler funktioner än 2.xx. EmsMagic korrigerar nt vers í för att möjliggöra extra funktionalitet. ?
  • De flesta versioner av DOS och Windows levererades med ' senaste ' version, olika uppgraderade. Windows 3.00 kom med 2,60, men detta uppgraderas till 2,77 i DOS och Windows 3.0. Detta är det högsta värdet av xms som används i Windows-miljön, även om vissa dosprogram använder funktioner som finns i vers 3.xx. Vissa versioner korrigerar helt enkelt buggar eller stöder ny hårdvara utan någon märkbar effekt. När de släpptes installerade vi bara det senaste, så vi märkte inte '.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *