Home » Artigos arquivados » 1999 – O problema da memória convencional no Windows 98

1999 – O problema da memória convencional no Windows 98

Autor: Laércio Vasconcelos
Dezembro/1999

As informações desse artigo são úteis para quem precisa rodar aplicações “DOS” sob o Windows 98, como por exemplo, programas administrativos e comerciais feitos na linguagem CLIPPER.

Corrigindo o bug do IO.SYS no Windows 98

No Windows 95 OSR2 e no Windows 98 existe um sério problema para quem precisa utilizar programas em modo MS-DOS que exigem muita memória convencional. Até então, utilizando comandos de gerenciamento de memória apropriados no CONFIG.SYS era possível obter até cerca de 610 kB livres na memória convencional. Surgiu então um problema que passou a incomodar bastante os usuários de jogos para o modo MS-DOS e de programas aplicativos para o MS-DOS, tipicamente escritos em linguagem Clipper. Ao invés dos mais de 600 kB de memória convencional livre, o Windows 95 OSR2 e o Windows 98 disponibilizam apenas cerca de 570 kB. Desta forma muitos programas não podiam ser utilizados.

O problema é caracterizado pelo fato do arquivo HIMEM.SYS ocupar muito espaço na memória convencional. Veja por exemplo o relatório obtido pelo comando MEM/C no Windows 98. O HIMEM.SYS está ocupando 44 kB. No Windows 95 original, o HIMEM.SYS ocupava apenas 1 kB.

ART53-01

As versões em inglês do Windows 95 OSR2 e do Windows 98, bem como as versões para a maioria desses países, não apresentam este problema. Nessas versões, o HIMEM.SYS realmente ocupa apenas 1 kB de memória convencional, sendo possível liberar mais de 600 kB de memória convencional para os programas do MS-DOS. O problema existe apenas em versões destinadas a certos países. O problema é na verdade causado pelo arquivo IO.SYS. Este arquivo ocupa muito espaço na HMA (High Memory Area, a região localizada entre os endereços 1024k e 1088k), impedindo que o HIMEM.SYS ocupe esta região e obrigando-o a ficar na memória convencional. A solução do problema consiste em obter uma nova versão do IO.SYS, já com o conserto realizado.

O problema ocorre nas versões para para o Brasil, Holanda, Dinamarca, Alemanha, Finlândia, França, Itália, Noruega, Portugal e Espanha do Windows 95 OSR2 e nas versões para o Brasil, Portugal, Polônia e Finlândia do Windows 98.

Assim como no caso do Windows 95, para o qual a Microsoft liberou o Service Pack 1 e o Service Pack 2, também no caso do Windows 98 serão liberados Service Packs com a correção de vários problemas (apesar do problema da falta de memória convencional ter na verdade sido criado no Service Pack 2 do Windows 95). Se você adquirir dentro de algum tempo, um “Windows 98 OSR1”, provavelmente o problema estará resolvido. Se você utiliza o Windows 98 ou o Windows 95 OSR2 e está enfrentando problemas de memória convencional em quantidade reduzida (basta checar o espaço ocupado pelo HIMEM.SYS), pode fazer o download da versão corrigida do arquivo IO.SYS. Vejamos então como corrigir o problema:

a) No Windows 95 OSR2

A Microsoft apresenta uma descrição do problema, análoga à que fizemos aqui, em:

http://support.microsoft.com/support/kb/articles/q170/4/56.asp

Para corrigir o problema você deve fazer o download do arquivo IOSYSBRZ.EXE, encontrado no site FTP da Microsoft:

ftp://ftp.microsoft.com/Softlib/mslfiles/iosysbrz.exe

Note que apesar de não ser muito divulgada, esta é uma atualização perfeitamente segura, feita pela própria Microsoft.

b) No Windows 98

A Microsoft apresenta uma descrição do problema, análoga à que fizemos aqui, em:

http://support.microsoft.com/support/kb/articles/a197/0/30.asp

A atualização que corrige este problema é o Service Pack 1 para Windows 98. Este pacote foi lançado juntamente com o Windows 98 segunda edição, em julho/99. Para fazer download desta atualização, acesse a página www.microsoft.com.br.

OBS Atualizada (julho/2006):
O Windows 98 SE e o Windows ME não têm esse problema. Se você ainda usa o Windows 98 antigo, a solução mais simples é instalar “por cima”, o Windows 98 SE.