En installation af DOS (f.eks. MS-DOS 5.0) inkluderer typisk en erklæring i dens CONFIG.SYS såsom DEVICE=C:\DOS\HIMEM.SYS.

Når du installerer Windows 3.1, er det konfigurationskommentarer (REMer), der stikker ud, og tilføjer DEVICE=C:\WINDOWS\HIMEM.SYS i stedet.

Formodentlig er der en vis væsentlig forskel mellem disse to filer til opsætningen for at foretage denne ændring. Hvad gør Windows-versionen, at DOS-en ikke gør det?

(Dette spørgsmål stilles delvist af en Aleph Et udvidelseskort til Acorn Archimedes-maskiner, der tilføjer hardwaresupport til kørsel af pc-software under RISC-OS. Indlæsning af DOS-versionen af HIMEM.SYS resulterer i et ustabilt system, men Windows-versionen fungerer korrekt, selv når du kører DOS. om disse symptomer kan du finde her .)

Svar

Forskellige versioner af MS-DOS og Windows leveres med forskellige versioner af :

  • Windows / 286 2.10: HIMEM.SYS 1.1 (ikke en XMS-driver)
  • 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 og nyere, Windows til arbejdsgrupper 3.11: HIMEM.SYS 3.10

(Se KB74977 og KB84388 for nogle af disse.)

Den største forskel mellem MS-DOS 5.0s version af HIMEM.SYS og Windows 3.1 er i hovedversionen: HIMEM.SYS 2. x implementerer version 2.0 af XMS , HIMEM.SYS 3. x implementerer version 3.0 .

Jeg har ikke detaljerede oplysninger om alle ændringer mellem disse versioner, men KB8 4388 nævner, at version 2.77 kun giver adgang til 16MiB RAM (XMS 2.0 er begrænset til 64MiB), hvorimod 3.07 kan registrere op til 4GiB og gøre brug af op til 1GiB (selvom Windows 3. x kan ikke bruge så meget). Denne begrænsning er faktisk en Windows 3.0-begrænsning, nedarvet fra 286s 24-bit-deskriptorer – Windows 3.0 understøtter kun 16 MB RAM og “stoler på XMS-driveren for at håndhæve denne grænse.” Der er formodentlig andre forskelle, herunder fejlrettelser og muligvis bedre support til visse systemer.

Ældre versioner af HIMEM.SYS blev gjort tilgængelige med kildekode , men jeg tror ikke, det stadig var tilfældet med de versioner, der blev leveret i Windows 3.0 eller nyere. Der er muligvis en liste over ændringer et eller andet sted på Internettet, men det undgår mig lige nu. Nogle ændringer kan hentes fra Microsoft vidensbaseartikler; for eksempel tilføjede version 2.77 en switch for at reservere hukommelse til interrupt 0x15 interface .

Svar

Der er ingen forskelle, bortset fra versionsnummeret.

Driverne er forskellige pakker distribueret med DOS, Windows og nogle kompilatorværktøjer. Det er muligt at bruge senere og endda tidligere.

Du kan se fra denne tabel, at versionerne generelt er opdateret gennem tid. Værdi i (parenteser) rapporteres fra emuleringen, værdi i kvadratparamenter [] er periode-OEM-versioner leveret med cdrom osv.

====

Den største version (2, 3) er nogle standardunderstøttede. Flere funktioner blev føjet til 3, hvorfor EMSMAGIC lapper NT-versionen af himem.sys. De mindre funktioner er fejlrettelser. PC-DOS 5.0 og Windows 3.00 har version 2.77, men i opdateringer til dette (og også i MS-DOS 5.00a) blev dette opdateret til 2.78.

Versionsnumrene er også beregnet til at se om programmet skal opdatere din version. Så hvis det udførte sit arbejde ordentligt, ville det ikke pege din himem-linje til 2.77, hvis du allerede har 3.10.

Det er af denne grund, at Windows 9x har en undergravning på .95. Det er et højere tal end endda 3,15 (PC-DOS 7-versionen). Windows 9x emulerer mus 8.3, så du ville ikke installere 8.2, men kan installere 9.0.

Du finder andre versioner af himem.sys osv. i anden software leverer programmeringssprogene versioner af disse.

 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 

Der er tre forskellige versioner af IBM mus 8.20, den resterende mouse.com er identisk med detailversionerne.

Du kan bruge disse hjælpeprogrammer med enhver version af DOS. F.eks. kører Win98SE-versionerne som angivet under PC-DOS 5 eller MS-DOS 5. Kravet er 3.3 eller nyere.

Forskellene ser ud til at være fejlrettelser og optimering. Windows NT bruger for eksempel en emuleret version af (8.00) her.

MSDRIVERS

Fra et meget tidligt tidspunkt regnede jeg med, at filerne listen ovenfor var ikke “en del” af DOS eller Windows, men snarere forskellige drivere distribueret med uanset hvilken pakke der skulle ud af døren.

I dagene af 286 blev HIMEM og EMM286 ofte distribueret med kortet og ofte specifikt for det. På samme måde fulgte MOUSE, MSCDEX, med disse enheder. SMARTDRV og RAMDRIVE var flere softwaredrivere, men var dosuafhængige.

HIMEM understøtter et stort antal maskiner, som det kan ses i hjælpen om emnet. Den har en DOS-side, der understøtter en voksende del af XMS 2, x og 3, x-grænseflader og en HW-side, der understøtter en række tidligere maskiner. Fejl og implementeringer på begge sider kunne give anledning til en ny version, skønt de store versioner understøttede en mere omfattende grænseflade.

EMM386 understøtter en anden række afbrydelser osv., Som Lotus, Intel og Microsoft var enige om. Ligesom HIMEM er der programmer, der understøtter dette, og det indebærer en smule at stikke rundt i RAM.

Windows bruger kun HIMEM.SYS 2.77 på DOS-siden, og VMM.vxd passer på hukommelse på windows side. I virkeligheden griber Windows hele DOS-hukommelsen, og VMM er ansvarlig for at tildele XMS-bits til windows. Dette er det samme versionsnummer rapporteret under Windows 9x, NT og OS / 2.

Når man læser dokumentationen om EMM-understøttelse fra f.eks. EMSMAGIC og VEMM.SYS, findes disse programmer, fordi EMM ikke blev gennemført , men bevaret for bagudkompatibilitet. EMSMAGIC går endda så langt som at udvide XMS-understøttelsen i Windows efter 2,77 for at tillade sådanne DOS-programmer, der har brug for det, at køre.

YDERLIGERE VÆRKTØJ

Jeg er ikke så meget en programmør, men en “power-user” og OS / collector. Som en del af det sjove er det muligt at se, at der er i detailboksen, ikke kun DOS, men en række drivere og hjælpeprogrammer (licenseret fra tredjeparter), som en pakke. Den samme detailopgraderings-DOS er f.eks. Pakket som “DOS og yderligere værktøjer”.

Den pris, der betales pr. OEM-kopi, afhænger af, hvor mange “yderligere værktøjer” der er inkluderet. IBM forhandlede en aftale med en af deres OEMer om at levere DOS uden QBASIC / EDIT til en reduceret sats. På samme basis købte IBM ikke Microsofts ekstra værktøjer.

Da driverne og de ekstra værktøjer fungerer som markørfiler, giver det lidt indsigt i, hvad der er på distributionen. For eksempel MSD 2.0x-filer blev frigivet, da IBM havde adgang til koden. 2.00 er i Windows, 2.01 er i DOS 6, både MS-DOS og den ældste PC-DOS 6.00 beta. 2.1x dukkede først op, efter at IBM ikke havde adgang til den nye kode, dvs. D 6.22 og W 3.11. Ligeledes ser vi, at PC-DOS 6.30 fra 1993-12-31 har retail 9.01-musedriveren, men en OEM-version en måned senere vender tilbage til IBMs 8.20-version.

Andre versioner af disse drivere vises i forskellige detailpakker sammen med hardware i kasse. Mus 8.20 indeholder noget som et dusin ekstra filer, herunder paneler til styring af mouse.ini under DOS og Windows 3.1. Disse findes ikke i OS-versionerne.

Kommentarer

  • I din første sætning siger du " der er ingen forskelle ", alligevel starter du dit sidste afsnit med at sige " Forskellene ser ud til at være fejlrettelser og optimering af ". Så er der nogen forskelle?
  • Den største version implementerer standarden, og de mindre er fejlrettelser.
  • I ' m stadig ikke klart, hvad dit samlede svar er. Da HIMEM.SYS gik fra version 2.78 til 3.07 med Windows 3.1, var ' d en større versionændring. Kan du give eksempler på, hvad der er ændret med denne opdatering?
  • Det første ciffer repræsenterer den understøttede standard. 3.xx understøtter flere funktioner end 2.xx. EmsMagic lapper nt vers í på for at give ekstra funktionalitet. ?
  • De fleste versioner af DOS og Windows kom med ' seneste ' version, forskelligt opgraderet. Windows 3.00 kom med 2.60, men dette er opgraderet til 2.77 i DOS og Windows 3.0. Dette er den højeste værdi af xms, der bruges i Windows-miljøet, selvom nogle dos-programmer bruger funktioner, der findes i vers 3.xx. Nogle versioner laver simpelthen bugs eller understøtter ny hardware uden nogen mærkbar effekt. På det tidspunkt, hvor disse blev frigivet, installerede vi lige det, der var senest, så vi lagde ikke ' det virkelig mærke.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *