Como posso obter mais memória insuficiente com a seguinte configuração:

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.

Estou executando o MS-DOS 6.22 no hardware virtual VMWare. Este é o estado da memória após MEMMAKER passar, por isso estou procurando otimização além de MEMMAKER .

Observação: os drivers do NLS ( DISPLAY , KEYB , NSLFUNC ) são essenciais para mim.

Obrigado a @mtone por um lembrete valioso sobre MSCDEX /E que me deu 16 KiB de pouca memória (veja o diff )!

    
por user539484 10.06.2012 / 05:05

3 respostas

8

Tente substituir as linhas DEVICE= no seu CONFIG.SYS por DEVICEHIGH= .

Eu acho que o DOS=HIGH,UMB ajuda de alguma forma, mas eu esqueci o que ele faz exatamente. Eu acho que ele move o próprio DOS para a área superior, se possível.

Há também o comando LOADHIGH que você pode usar para MSCDEX e outros IIRC da TSR.

O acima pode estar errado. Já faz pelo menos 10 anos desde que eu mexi no DOS, mas espero que ajude.

Além disso, se você não tiver um programa que precise de SETVER , você poderá se livrar dele. Considere também se livrar de DOSKEY se você não precisar de seus aprimoramentos de linha de comando.

Por fim, se você liberar muita memória convencional e receber algum tipo de mensagem de erro de corrupção nos programas de inicialização, use LOADFIX .

    
por 10.06.2012 / 05:51
2

A menos que você precise ficar com os drivers da Microsoft, sugiro substituí-los por alternativas do FreeDOS que sejam mais flexíveis e tenham uma pegada de memória menor.

  • o ctmouse substitui o mouse
  • o uide substitui o oakcdrom e o smartdrv
  • o shsucdx substitui o mscdex

Se não houver um requisito específico para o MS DOS, simplesmente usar o FreeDOS como já sugerido por Ignacio Vazquez-Abrams seria a solução mais fácil.

    
por 10.06.2012 / 23:40
0

Concordou com o uso de drivers melhores. Eu vi OAKCDROM.SYS e instantaneamente pensei em alternativas. Eu não sabia sobre o UIDE quando pesquisei isso há muitos anos. Mas eu ainda encontrei alternativas melhores do que OAKCDROM.SYS: Veja Arquivo de Software do TOOGAM: Drivers de CD-ROM . CuteMouse também é uma ótima recomendação. Estes podem fornecer mais memória livre e realmente sem desvantagens. É apenas um código mais novo e melhor.

O SHSUCDX pode economizar memória, embora possa ter alguns problemas com o CD Audio (pelo menos com a versão 2.20b, se bem me lembro). Se o áudio do CD funcionar bem ou se não for um problema, use-o.

Eu também concordo com o uso de DOS = HIGH, UMB e tentando usar DEVICEHIGH. Mas o uso de DEVICEHIGH pode consumir um pouquinho de memória superior, e então você pode simplesmente não ter memória suficiente para algo maior. Então, observar as coisas com cuidado pode ser necessário para obter a configuração ideal. Não se preocupe com isso até saber quais drivers você quer.

Então, o LH pode ser usado para qualquer coisa da linha de comando, incluindo qualquer coisa carregada do AUTOEXEC.BAT.

Livre-se do DOSKey: Em vez disso, use 4DOS para substituir o Command.Com. O 4DOS costumava ser um shareware, mas agora existe uma versão do Freeware e, posteriormente, o código-fonte tornou-se disponível. Eu acredito que o 4DOS tende a usar menos memória convencional, ou pelo menos pode ser configurado para isso. Para usar 4DOS, obtenha o software e depois o CONFIG.SYS se refira a ele via SHELL, por exemplo:

SHELL=C:DOSDOS.Com

Também defina o COMSPEC:

SET COMSPEC=C:DOSDOS.Com

Comspec pode ser CONFIG.SYS ou AutoExec.bat

Provavelmente, livre-se do SETVER: geralmente é completamente desnecessário. Simplesmente faz com que algum software funcione, em vez de o software reclamar inutilmente sobre as versões do software. Mas o software normalmente não faz isso a menos que seja empacotado com outra versão DOS (comercial?).

] [CyberPillar] [: Memória do DOS algumas outras opções, como substituir os gerenciadores de memória. Por exemplo: se você tiver tempo para realmente brincar com essas coisas, veja se o UMBPCI funciona no seu sistema. Se assim for, aproveite o uso em vez de EMM386.

Caso contrário, EMM386 (eu acho, talvez HIMEM, mas eu acho EMM) tem algum parâmetro (HIGHSCAN se bem me lembro) que pode gerar mais memória, mas congela uma pequena porcentagem de sistemas. Verifique a ajuda online para tal parâmetro; isso pode causar mais memória a ser encontrada e usada.

Bem, seguir todas essas dicas será um bom começo de qualquer maneira.

Sei que você abordou isso na sua pergunta, mas como essa linha pode ser fácil de ser esquecida, rapidamente mostrarei que NLSFunc (National Keyboard Language Funcional) e DISPLAY.SYS (carregados no CONFIG.SYS) podem ser desnecessários a menos que você esteja tentando dar suporte a páginas de código não americanas. Semelhante para KEYB. Eu não sei quão bem o poder é.

Não tenha muita fé no MemMaker. Isso pode ajudar. Isso pode piorar as coisas. Geralmente ajuda, um pouco, se estiver usando um sistema não otimizado. Talvez tente novamente depois de fazer todas as outras alterações recomendadas, incluindo fazer o backup dos arquivos CONFIG.SYS e AUTOEXEC.BAT antes de permitir que o MemMaker examine o sistema.

Se você precisar de memória para um aplicativo específico, poderá criar um menu de inicialização que permita escolher quais drivers carregar. O MS-DOS 6.x suportava isso usando comandos em um CONFIG.SYS. (Veja AJUDA para os comandos "menu").

    
por 06.01.2015 / 12:13