Vimos que o MS-DOS só reconhece 640 KB de memória, não importando o quanto de memória RAM você tenha em seu micro. Isto ocorre porque o MS-DOS trabalha em modo real, que transforma o seu micro em um XT. Para reconhecer mais memória e tornar o seu micro realmente "poderoso", deveremos trabalhar em modo protegido. Neste modo o processador acessa diretamente a até 4 GB de RAM e ganha recursos extras, tais como multitarefa e memória virtual. Todos os outros sistemas operacionais trabalham em modo protegido. Até o Windows 3.x trabalha em modo protegido. Joguinhos em sua maioria, porém, são escritos para o MS-DOS. Neste caso, o que deveremos fazer se o joguinho exigir mais do que 640 KB de RAM?
A primeira alternativa - e mais lógica, do ponto de vista técnico - seria fazer o programa trabalhar de alguma forma em modo protegido. Mas como, se o MS-DOS só trabalha em modo real? Através de um programa chaveador de modo protegido, como o DOS4GW. Diversos joguinhos - como o DOOM, Mortal Kombat e Simcity - trabalham em modo protegido, utilizando o DOS4GW. Quando você for jogar algum destes jogos, repare como aparece uma tela informando que o DOS4GW foi carregado. Aliás, este é o principal motivo de tanto sangue na série DOOM e Mortal Kombat: como estão operando em modo protegido, além de acessarem a até 4 GB de RAM, podem utilizar instruções mais poderosas que o processador possui. É por este motivo também que programas que utilizem o DOS4GW só podem ser "rodados" em 386 e superiores: o 8088 - processador do XT - não possuía modo protegido e o 286 possuía um "bug" que tornava o seu modo protegido inutilizável. Joguinhos que utilizem o DOS4GW no geral não são joguinhos complicados: operam no modo protegido e acessam diretamente toda a memória RAM instalada no micro, funcionando diretamente sem qualquer tipo de "configuração". Bem... na prática veremos que nem sempre é assim que ocorre... Programas de modo protegido para MS-DOS utilizam uma padronização chamada DPMI - Dos Protected Mode Interface. Graças à esta padronização é possível "rodar" um joguinho que utilize o DOS4GW no Windows 95 e no OS/2. Memória Expandida (EMS)
Antes de ser criada a padronização DPMI e antes de utilizarem o modo protegido a três por quatro, os fabricantes não tinham muita escolha: os joguinhos tinha que ser escritos para o modo real. Mas como um joguinho destes exigindo mais do que 640 KB de memória poderia ser executado no MS-DOS? Erro de falta de memória, na certa. De um acordo entre a Lotus, a Intel e a Microsoft, foi criada uma idéia chamada memória expandida ou EMS (Expanded Memory Specification). Através desta técnica, um programa chamado gerenciador de memória "tapeia" o sistema operacional, que passará a achar que o micro tem mais de 640 KB de memória, mesmo operando em modo real. Memória expandida é um termo terrível, pois não designa memória física instalada no micro. O seu micro, fisicamente falando, não possui "memória expandida instalada". Há algumas desvantagens em se usar esta técnica. A principal delas será o modo de operação do processador: modo real, que significa a utilização um conjunto de instruções tão poderoso quanto o de um XT. |