En installasjon av DOS (f.eks. MS-DOS 5.0) vil vanligvis inneholde en uttalelse i CONFIG.SYS som DEVICE=C:\DOS\HIMEM.SYS.

Når du installerer Windows 3.1, er det konfigurasjonskommentarer (REM) som strekker seg ut, og legger til DEVICE=C:\WINDOWS\HIMEM.SYS i stedet.

Antagelig er det noen vesentlig forskjell mellom disse to filene for oppsettet for å gjøre denne modifiseringen. Hva gjør Windows-versjonen som DOS-en ikke gjør?

(Dette spørsmålet blir delvis spurt av en Aleph Ett utvidelseskort for Acorn Archimedes-maskiner, som legger til maskinvarestøtte for å kjøre PC-programvare under RISC-OS. Laster DOS-versjonen av HIMEM.SYS resulterer i et ustabilt system, men Windows-versjonen fungerer riktig, selv når du kjører DOS. En forumdiskusjon om disse symptomene kan du finne her .)

Svar

Ulike versjoner av MS-DOS og Windows leveres med forskjellige versjoner av :

  • 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 for arbeidsgrupper 3.11: HIMEM.SYS 3.10

(Se KB74977 og KB84388 for noen av disse.)

Den største forskjellen mellom MS-DOS 5.0s versjon av HIMEM.SYS og Windows 3.1 er i hovedversjonen: HIMEM.SYS 2. x implementerer versjon 2.0 av XMS , HIMEM.SYS 3. x implementerer versjon 3.0 .

Jeg har ikke detaljer utenfor alle endringene mellom disse versjonene, men KB8 4388 nevner at versjon 2.77 bare gir tilgang til 16MiB RAM (XMS 2.0 er begrenset til 64MiB), mens 3.07 kan oppdage opptil 4GiB og bruke opptil 1GiB (selv om Windows 3. x kan ikke bruke så mye). Denne begrensningen er egentlig en Windows 3.0-begrensning, arvet fra 286s 24-bit-deskriptorer – Windows 3.0 støtter bare 16 MB RAM og «stoler på XMS-driveren for å håndheve denne grensen.» Det er antagelig andre forskjeller, inkludert feilrettinger og muligens bedre støtte for visse systemer.

Eldre versjoner av HIMEM.SYS ble gjort tilgjengelig med kildekode , men jeg tror ikke det fortsatt var tilfelle med versjonene som ble levert i Windows 3.0 eller nyere. Det kan være en liste over endringer et sted på Internett, men det slipper meg akkurat nå. Noen endringer kan hentes fra Microsoft kunnskapsbase-artikler; for eksempel la versjon 2.77 en bryter for å reservere minne for avbrytingsgrensesnittet 0x15 .

Svar

Det er ingen forskjeller, bortsett fra versjonsnummeret.

Driverne er en forskjellige pakke distribuert med DOS, Windows og noen kompilatorverktøy. Det er mulig å bruke senere, og til og med tidligere.

Du kan se fra denne tabellen at versjonene generelt har blitt oppdatert gjennom tidene. Verdi i (parentes) rapporteres fra emuleringen, verdi i kvadratparenteser [] er OEM-versjoner fra perioden som leveres med cdrom osv.

====

Hovedversjonen (2, 3) er noen standard støttet. Flere funksjoner ble lagt til 3, og derfor oppdaterer EMSMAGIC NT-versjonen av himem.sys. De mindre funksjonene er feilrettinger. PC-DOS 5.0 og Windows 3.00 har versjon 2.77, men i oppdateringer til denne (og også i MS-DOS 5.00a) ble denne oppdatert til 2.78.

Versjonsnumrene er også ment for å se om programmet bør oppdatere versjonen din. Så hvis den gjorde jobben sin ordentlig, ville den ikke peke himmelinjen din til 2,77 hvis du allerede har 3,10.

Det er av denne grunn at Windows 9x har en undergravning på 0,95. Det er et høyere tall enn til og med 3.15 (PC-DOS 7-versjonen). Windows 9x emulerer mus 8.3, så du vil ikke installere 8.2, men kan installere 9.0.

Du finner andre versjoner av himem.sys etc i annen programvare, leverer programmeringsspråkene versjoner av 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 

Det er tre forskjellige versjoner av IBM mus 8.20, de resterende mouse.com er identiske med detaljhandelsversjonene.

Du kan bruke disse verktøyene med hvilken som helst versjon av DOS. For eksempel kjører Win98SE-versjonene som angitt under PC-DOS 5 eller MS-DOS 5. Kravet er 3.3 eller nyere.

Forskjellene ser ut til å være feilrettinger og optimalisering. Windows NT bruker for eksempel en emulert versjon av (8.00) her.

MSDRIVERS

Fra et veldig tidlig stadium skjønte jeg at filene listen ovenfor var ikke «en del» av DOS eller Windows, men snarere forskjellige drivere distribuert med hva pakken skulle ut av døren.

I dagene av 286 ble HIMEM og EMM286 ofte distribuert med kortet. , og ofte spesifikk for den. På lignende måte fulgte MOUSE, MSCDEX, med disse enhetene. SMARTDRV og RAMDRIVE var flere programvaredrivere, men var dosuavhengige.

HIMEM støtter ganske mange maskiner, som det fremgår av hjelpen om emnet. Den har en DOS-side som støtter en voksende del av XMS 2, x og 3, x-grensesnitt, og en HW-side som støtter en rekke tidligere maskiner. Feil og implementeringer på begge sider kan gi en ny versjon, selv om de store versjonene støttet et mer omfattende grensesnitt.

EMM386 støtter et annet utvalg av avbrudd osv., Som Lotus, Intel og Microsoft ble enige om. I likhet med HIMEM er det programmer som støtter dette, og det innebærer litt å pikke rundt i RAM.

Windows bruker bare HIMEM.SYS 2.77 på DOS-siden, og VMM.vxd passer på minne på windows side. Windows griper faktisk hele DOS-minnet, og VMM er ansvarlig for å tildele XMS-biter til windows. Dette er samme versjonsnummer rapportert under Windows 9x, NT og OS / 2.

Når du leser dokumentasjonen om EMM-støtte gitt av slike som EMSMAGIC og VEMM.SYS, eksisterer disse programmene fordi EMM ikke ble gjennomført , men bevart for bakoverkompatibilitet. EMSMAGIC går til og med så langt som å utvide XMS-støtten i Windows forbi 2,77, for å tillate slike DOS-programmer som trenger den å kjøre.

TILLEGGSVERKTØY

Jeg er ikke så mye en programmerer, men en «power-user» og OS / collector. Som en del av moroa er det mulig å se at det er i detaljboksen, ikke bare DOS, men en rekke drivere og verktøy (lisensiert fra tredjeparter), som en pakke. Den samme detaljhandelsoppgraderingen DOS, for eksempel, er pakket som «DOS og tilleggsverktøy».

Prisen som betales per OEM-kopi avhenger av hvor mange «tilleggsverktøy» som er inkludert. IBM forhandlet avtale med en av sine OEM-er om å levere DOS uten QBASIC / EDIT til redusert pris. På samme grunnlag kjøpte ikke IBM Microsofts tilleggsverktøy.

Fordi driverne og tilleggsverktøyene fungerer som markørfiler, gir det litt innsikt i hva som er på distribusjonen. MSD 2.0x-filer ble utgitt da IBM hadde tilgang til koden. 2.00 er i Windows, 2.01 er i DOS 6, både MS-DOS og den eldste PC-DOS 6.00 beta. 2.1x dukket ikke opp før etter at IBM ikke hadde tilgang til den nye koden, dvs. D 6.22 og W 3.11. På samme måte ser vi at PC-DOS 6.30 fra 1993-12-31 har detaljhandelmusedriveren 9.01, men en OEM-versjon en måned senere går tilbake til IBMs 8.20-versjon.

Andre versjoner av disse driverne vises i forskjellige detaljpakker, sammen med maskinvare i eske. Mus 8.20 inneholder omtrent et dusin ekstra filer, inkludert paneler for å kontrollere mouse.ini under DOS og Windows 3.1. Disse er ikke i OS-versjonene.

Kommentarer

  • I den første setningen din sier du " der er ingen forskjeller ", men du starter det siste avsnittet med å si " Forskjellene ser ut til å være feilrettinger og optimalisering av ". Så er det noen forskjeller?
  • Hovedversjonen implementerer standarden, og de mindre er feilrettinger.
  • Jeg ' m fortsatt ikke klart hva ditt samlede svar er. Da HIMEM.SYS gikk fra versjon 2.78 til 3.07 med Windows 3.1, at ' d var en større versjonsendring. Kan du gi eksempler på hva som har endret seg med denne oppdateringen?
  • Det første sifferet representerer den støttede standarden. 3.xx støtter flere funksjoner enn 2.xx. EmsMagic oppdaterer nt vers í for å gi ekstra funksjonalitet. ?
  • De fleste versjoner av DOS og Windows kom med ' nyeste ' versjon, oppgradert på forskjellige måter. Windows 3.00 kom med 2,60, men dette er oppgradert til 2,77 i DOS og Windows 3.0. Dette er den høyeste verdien av xms som brukes i Windows-miljøet, selv om noen doseprogrammer bruker funksjoner som finnes i vers 3.xx. Noen versjoner lapper bare feil, eller støtter ny maskinvare, uten noen merkbar effekt. I den tiden disse ble utgitt, installerte vi bare det siste, så vi la ikke merke til '.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *