Come posso ottenere più memoria bassa con la seguente configurazione:


7
Modules using memory below 1 MB:

  Name           Total       =   Conventional   +   Upper Memory
  --------  ----------------   ----------------   ----------------
  MSDOS       14 317   (14K)     14 317   (14K)          0    (0K)
  HIMEM        1 120    (1K)      1 120    (1K)          0    (0K)
  EMM386       3 120    (3K)      3 120    (3K)          0    (0K)
  OAKCDROM    36 064   (35K)     36 064   (35K)          0    (0K)
  POWER           80    (0K)         80    (0K)          0    (0K)
  NLSFUNC      2 784    (3K)      2 784    (3K)          0    (0K)
  COMMAND      2 928    (3K)      2 928    (3K)          0    (0K)
  MSCDEX      15 712   (15K)     15 712   (15K)          0    (0K)
  SMARTDRV    30 384   (30K)     13 984   (14K)     16 400   (16K)
  KEYB         6 752    (7K)      6 752    (7K)          0    (0K)
  MOUSE       17 296   (17K)     17 296   (17K)          0    (0K)
  DISPLAY      8 336    (8K)          0    (0K)      8 336    (8K)
  SETVER         512    (1K)          0    (0K)        512    (1K)
  DOSKEY       4 144    (4K)          0    (0K)      4 144    (4K)
  POWER        4 672    (5K)          0    (0K)      4 672    (5K)
  Free       552 944  (540K)    539 088  (526K)     13 856   (14K)

Memory Summary:

  Type of Memory       Total   =    Used    +    Free
  ----------------  ----------   ----------   ----------
  Conventional         653 312      114 224      539 088
  Upper                 47 920       34 064       13 856
  Reserved                   0            0            0
  Extended (XMS)*   64 898 256    2 671 824   62 226 432
  ----------------  ----------   ----------   ----------
  Total memory      65 599 488    2 820 112   62 779 376

  Total under 1 MB     701 232      148 288      552 944

  Total Expanded (EMS)                33 947 648 (33 152K
  Free Expanded (EMS)*                33 538 048 (32 752K

  * EMM386 is using XMS memory to simulate EMS memory as needed.
    Free EMS memory may change as free XMS memory changes.

  Largest executable program size        538 976   (526K)
  Largest free upper memory block          7 488     (7K)
  MS-DOS is resident in the high memory area.

Sto eseguendo MS-DOS 6.22 su hardware virtuale VMWare. Questo è lo stato della memoria dopo MEMMAKER passare, quindi sto cercando l'ottimizzazione oltre MEMMAKER.

Nota: driver NLS ( DISPLAY, KEYB, NSLFUNC ) sono essenziali per me.


Grazie a @mtone per un prezioso promemoria MSCDEX /E che mi ha dato 16 KiB di memoria bassa (vedi il diff )!


9
Cos'è questo, 1994? Hai bisogno del lettore cd - se non disabiliti oakcdrom & amp; mscdex sarebbe d'aiuto, altrimenti se ricordo correttamente mscdex può essere spostato nel mem superiore con un interruttore a linea di comando.
mtone

1
Avete considerato FreeDOS, che generalmente fa un lavoro migliore di spingere la roba nella memoria superiore?
Ignacio Vazquez-Abrams

3
@mtone, beh, sì e no, non riesco ad accedere al CD-ROM virtuale senza set di driver. Ma ovviamente posso usare la funzionalità del menu di avvio di MS-DOS per creare la configurazione "NOCD". MSCDEX si rifiuta di spostarsi nella memoria superiore, ma l'opzione / E consente di utilizzare EMS per il buffering. Grazie!
user539484

Solo curioso, cosa stai facendo esattamente con dos in un ambiente povero di memoria?
Journeyman Geek

2
@Journeyman Geek, povero? 64 MB di RAM per la macchina DOS media è più probabile un sacco helluva :-) Ma qui infame "640KiB è abbastanza per tutti". In pratica, i programmi DOS regolari richiedono poca memoria, quindi questo problema è comune a tutte le installazioni DOS. BTW, per favore non rimuovere [dos] almeno fino a quando l'unica iniziativa di Dennis contro questo tag porterà un notevole miglioramento.
user539484

Risposte:


8

Prova a sostituire qualsiasi DEVICE= linee nel tuo CONFIG.SYS con DEVICEHIGH=.

Penso che la DOS=HIGH,UMB aiuta in qualche modo, ma ho dimenticato cosa fa esattamente. Penso che trasferisca il DOS stesso nella zona superiore, se possibile.

C'è anche il LOADHIGH comando che puoi usare per MSCDEX e altri IIRC del TSR.

Quanto sopra potrebbe essere sbagliato. Sono passati almeno 10 anni da quando ho seriamente incasinato il DOS, ma spero che aiuti.

Inoltre, se non si dispone di un programma che ha bisogno SETVER puoi sbarazzartene. Considera anche di liberarti di DOSKEY se non hai bisogno dei suoi miglioramenti della riga di comando.

Infine, se si libera troppa memoria convenzionale e si ottiene un tipo di messaggio di errore di corruzione all'avvio di programmi, utilizzare LOADFIX.


Poiché eseguivo già l'ottimizzazione automatica, DOS è già stato caricato in alto (ultima uscita MEM della riga). Ma sembra che non ci sia UMB disponibile abbastanza grande da ospitare uno dei grandi driver, come suggerito DEVICEHIGH / LOADHIGH non ha avuto alcun effetto.
user539484

Hai bisogno di SMARTDRV (non è un disco RAM)
Mark

@ Mark, no, è VMWare.
user539484


@ Mark, sì, lo so. Ancora nessuna idea di come si riferisce alla tua osservazione di unità RAM.
user539484

2

A meno che non sia necessario stare con i driver di Microsoft, suggerisco di sostituirli con le alternative FreeDOS che sono più flessibili e hanno un minore ingombro di memoria.

  • ctmouse sostituisce il mouse
  • uide sostituisce oakcdrom e smartdrv
  • shsucdx sostituisce mscdex

Se non c'è un requisito specifico per MS DOS, semplicemente usare FreeDOS come già suggerito da Ignacio Vazquez-Abrams sarebbe la soluzione più semplice.


Sì, ho scelto OAKCDROM dopo Microsoft, è noto per la grande compatibilità con numerosi driver e buona stabilità, ma l'ingombro di memoria apparentemente grande. Dal momento che in VMWare non ho bisogno di compatibilità, ho dato una prova a Benq driver (VIDE-CDD). Questo messaggio mi ha spaventato dall'usare il software Jack Ellis. Attualmente, sto provando anche a CuteMouse, grazie.
user539484

numerosi driver = numerose unità, mi dispiace.
user539484

Nel frattempo, CuteMouse mostrava comportamenti errati in modalità grafica (una sorta di jitter di accelerazione)
user539484

0

D'accordo con l'utilizzo di driver migliori. Ho visto OAKCDROM.SYS e ho immediatamente pensato alle alternative. Non conoscevo UIDE quando ho fatto ricerche su questo molti anni fa. Ma ho ancora trovato alternative migliori di OAKCDROM.SYS: Vedi Archivio software TOOGAM: driver per CD-ROM . CuteMouse è anche un'ottima raccomandazione. Questi possono fornirti più memoria libera e davvero nessun aspetto negativo. È solo un codice nuovo e migliore.

SHSUCDX può risparmiare memoria, sebbene possa avere qualche problema con CD Audio (almeno con la versione 2.20b, come ricordo). Se l'audio del CD funziona bene con esso, o se questo è un non-problema, quindi usarlo.

Sono d'accordo anche con l'uso di DOS = HIGH, UMB e cercando di usare DEVICEHIGH. Tuttavia, l'uso di DEVICEHIGH potrebbe richiedere un po 'di memoria superiore e quindi potresti avere a malapena memoria insufficiente per qualcosa di più grande. Quindi, potrebbe essere necessario osservare attentamente le cose per ottenere la configurazione ideale. Non preoccuparti nemmeno di questo fino a quando non sai quali sono i driver che desideri.

Quindi, LH può essere utilizzato per qualsiasi cosa dalla riga di comando, incluso qualsiasi elemento caricato da AUTOEXEC.BAT.

Sbarazzarsi di DOSKey: invece, usa 4DOS per sostituire Command.Com. 4DOS era shareware ma ora esiste una versione freeware, e successivamente il codice sorgente è diventato disponibile. Credo che il 4DOS tenda ad usare meno memoria convenzionale, o almeno possa essere configurato per farlo. Per utilizzare 4DOS, ottenere il software e fare in modo che CONFIG.SYS faccia riferimento a esso tramite SHELL, ad esempio:

SHELL = C: \ 4DOS \ 4DOS.Com

Imposta anche il COMSPEC:

SET COMSPEC = C: \ 4DOS \ 4DOS.Com

Comspec può essere CONFIG.SYS o AutoExec.bat

Probabilmente sbarazzarsi di SETVER: di solito è completamente inutile. Semplicemente fa funzionare un po 'di software, invece del software che si lamenta inutilmente delle versioni del software. Ma il software in genere non lo fa a meno che non sia associato a un'altra versione DOS (commerciale?).

] [CyberPillar] [: memoria DOS elenca alcune altre opzioni, come la sostituzione dei gestori di memoria. ad esempio: se hai il tempo di giocare davvero con roba, vedi se UMBPCI funziona sul tuo sistema. Se è così, divertiti a usare quello invece di EMM386.

In caso contrario, EMM386 (penso, forse HIMEM, ma penso EMM) ha qualche parametro (HIGHSCAN se ricordo bene) che può generare più memoria, ma congela una piccola percentuale di sistemi. Controllare la guida in linea per tale parametro; potrebbe causare più memoria da trovare e da utilizzare.

Bene, seguire tutti questi suggerimenti sarà comunque un buon inizio.

So che l'hai affrontato nella tua domanda, ma dal momento che è facile perdere questa linea, ti farò notare rapidamente che NLSFunc (Funzionalità della lingua della tastiera nazionale) e DISPLAY.SYS (caricati in CONFIG.SYS) potrebbero non essere necessari a meno che tu non sia cercando di supportare le code page non americane. Simile per KEYB. Non so quanto bene sia POWER.

Non avere molta fiducia in MemMaker. Può aiutare. Può peggiorare le cose. Di solito aiuta, un po ', se si utilizza un sistema non ottimizzato. Forse riprovare dopo aver apportato tutte le altre modifiche consigliate, incluso il backup di CONFIG.SYS e AUTOEXEC.BAT prima di consentire a MemMaker di esaminare il sistema.

Se hai bisogno di memoria per un'applicazione specifica, potresti essere in grado di creare un menu di avvio che ti permetta di scegliere quali driver caricare. MS-DOS 6.x supportato questo utilizzando i comandi in un CONFIG.SYS. (Vedi HELP per i comandi "menu".)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.