Optimizar a utilização de blocos de memória superior

Traduções de Artigos Traduções de Artigos
Artigo: 77083 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Configurou o computador para carregar programas ou controladores de dispositivo em blocos de memória superior (UMBs). Agora para se certificar de que está a efectuar utilização ideal dos UMBs para que possa executar quantos programas na área de memória superior possível.

Este artigo fornece técnicas para efectuar a melhor utilização da área de memória superior do computador. Para utilizar estas técnicas, deverá estar familiarizado com as informações nas páginas 313 330 do Microsoft MS-DOS "Do utilizador do Guia e referência" para a versão 5.0, que explica como carregar programas para UMBs. Em particular, páginas 327 e 329 fornecem algumas informações básicas sobre como optimizar a utilização do UMBs.

Este artigo explica as seguintes técnicas de optimização:

  • Iniciar o EMM386 com o parâmetro NOEMS em vez do parâmetro RAM
  • Localizar a melhor ordem para carregar controladores e programas para UMBs
  • Ajustar o EMM386 para fornecer mais UMBs

COMEÇANDO EMM386 NOEMS PARÂMETRO EM VEZ DO PARÂMETRO DE RAM

Se não utilizar programas que requerem memória expandida (EMS), inicia o EMM386 com o parâmetro NOEMS. Se o fizer, pode lhe um 64 K adicionais de UMBs, porque o parâmetro NOEMS indica o EMM386 para não criar uma moldura de páginas de EMS na área de memória superior. Se iniciar o EMM386 com o parâmetro NOEMS, programas não poderá utilizar memória expandida, mesmo quando estão a ser executados com o Windows.

Para iniciar o EMM386 com o parâmetro NOEMS:

  1. Edite o ficheiro Config.sys. Para editar o ficheiro utilizando o Editor do MS-DOS, escreva o seguinte na linha de comandos do MS-DOS:
    Editar c:\config.sys
  2. Encontrar o comando DEVICE que inicia o EMM386. Se o comando DEVICE contém o parâmetro RAM, alterá-la para que contém o parâmetro NOEMS em vez disso. O comando DEVICE para EMM386 deve agora o seguinte aspecto:
    device=c:\dos\emm386.exe noems
  3. Guardar as alterações (se existir) o ficheiro Config.sys e saia do editor de texto. Se estiver a utilizar o Editor do MS-DOS, escolher ' Sair ' o ficheiro de menu. Quando o Editor do MS-DOS apresenta uma caixa de diálogo pedindo que guarde o ficheiro, escolha ' Sim ' ou prima ENTER.
  4. Reinicie o sistema premindo CTRL + ALT + DEL.
Depois de concluir este procedimento, alguns programas podem apresentar mensagens de falta de memória ou não conseguir executar. Estes programas podem necessitar memória expandida. Se for este o caso, substitua o parâmetro NOEMS o parâmetro RAM para disponibilizar memória expandida novamente.

LOCALIZAR A MELHOR ORDEM PARA CARREGAR CONTROLADORES E PROGRAMAS PARA UMBS

Quando inicia um programa utilizando o comando DEVICEHIGH ou LOADHIGH, MS-DOS carrega esse programa no maior UMB restante, mesmo que seria ajusta um UMB mais pequeno. Deste modo, a ordem na qual carregar programas para UMBs é importante quando tentar optimizar a utilização da área de memória superior. É necessário efectuar experiências para localizar a melhor ordem para o sistema.

Criar uma disquete de arranque

Antes de começar a optimizar, criar uma disquete de arranque que contém uma cópia de segurança cópia dos ficheiros Config.sys e Autoexec.bat. Para o fazer, introduza uma disquete formatada na unidade A e escreva os seguintes comandos:
sys c: a:
cópia c:\config.sys a:\
cópia c:\autoexec.bat a:\
Com esta disquete de arranque permite-lhe experimentar mais livremente; se alterar o ficheiro Config.sys ou Autoexec.bat e o computador bloqueia quando reiniciá-lo, apenas insere o disco de cópia de segurança na unidade A e prima CTRL + ALT + DEL.

Localizar a melhor ordem de carga

Quando carregar programas alto, MS-DOS carrega cada programa para o maior UMB restante, mesmo que seria ajusta um UMB mais pequeno. Por este motivo, a ordem na qual carregar programas para UMBs é importante. Em geral, quando carregar programas na área de memória superior, carregar programas maiores antes de pequenas. No entanto, este método carga-a-maiores-primeira simples poderá nem sempre estar mais eficaz. Por vezes, poderá ter de juggle a ordem de carregamento para tirar o máximo da área de memória superior.

Por exemplo, suponha que pretende carregar os seguintes três programas para UMBs:
   PROGRAM1.EXE   2K
   PROGRAM2.EXE   2K
   PROGRAM3.EXE   3K
				
suponha que tem dois UMBs disponíveis; um 4 K de tamanho; o outro é 3 K de tamanho. (Pode descobrir os tamanhos dos UMBs individuais emitindo o comando MEM /P. Para mais informações, consulte a página 519 do "utilizador guia e referência.")

Como pode ver, PROGRAM3.EXE é o maior, em 3 K. Se carregar PROGRAM3 pela primeira vez, o MS-DOS coloca-o para o maior UMB (4 K). Uma vez que PROGRAM3 não utilizam toda 4 K de espaço que umb, Upper Memory Block, um adicionais kilobytes de memória é deixado não utilizados. O programa seguinte, PROGRAM1 (2 K), se adequa a K 3 UMB, deixando novamente um kilobytes de memória não utilizados. No entanto, PROGRAM2 também necessita de 2 K de espaço contíguo e não cabem dos UMBs 1 K que permanecem. Isto é um exemplo de quando não é eficaz como para carregar o maior pela primeira vez.

Um método mais eficiente será a carregar PROGRAM1 (2 K), em seguida, PROGRAM3 (3 K) e, em seguida, PROGRAM2 (2 K). Em seguida, todos os três programas caberiam para UMBs. MS-DOS irá carregar PROGRAM1 para 4 K UMB, deixando 2 K de espaço. PROGRAM3 caberiam, em seguida, para o próximo UMB maior (3 K) e PROGRAM2 seria se ajusta a 2 K restante.

Identificar sem requisitos de memória de um programa

Requisitos de memória de um programa determinam que tamanho umb, Upper Memory Block que necessita. Infelizmente, pode, por vezes, ser difícil perceber que tamanho umb, Upper Memory Block necessita de um determinado programa, uma vez que este depende como e quando o programa atribui memória. Em geral, programas enquadram dos dois grupos:

  • A maior parte dos programas necessitam de um UMB que seja, pelo menos, tão grande como o tamanho do programa enquanto está em execução.

    Para obter este tamanho, emita o comando MEM /C enquanto o programa está em execução. Na maioria dos casos, se existir um UMB desse tamanho disponível, o programa deve caberão que umb, Upper Memory Block.
  • Alguns programas precisam de um UMB seja, pelo menos, tão grande como tamanho do ficheiro do programa.

    Estes programas utilizam muita memória durante o arranque e requerem menos memória, uma vez que estão a executar. Um programa precisa inicialmente UMB grande; mas, depois de ter iniciado, o programa liberta alguma memória pode então ser utilizada para carregar o programa seguinte.
A tabela seguinte lista alguns controladores de dispositivo Microsoft comuns e programas residentes em memória que podem executar na área de memória superior. A tabela especifica como determinar o tamanho de UMB cada programa necessita de: verificar tamanho o programa enquanto está a ser executado ou verificar o tamanho do ficheiro.
   Program Name   Size of UMB It Needs
   ------------------------------------

   ANSI.SYS       File size
   DISPLAY.SYS    Size while running
   DRIVER.SYS     File size
   EGA.SYS        File size
   MOUSE.COM      File size
   MOUSE.SYS      File size
   PRINTER.SYS    Size while running
   RAMDRIVE.SYS   Size while running
   SMARTDRIVE.SYS Size while running
   SETVER.EXE     File size
   APPEND.EXE     Size while running
   ASSIGN.COM     Size while running
   DOSKEY.COM     Size while running
   FASTOPEN.EXE   Size while running
   GRAFTABL.COM   File size
   GRAPHICS.COM   Size while running
   KEYB.COM       File size
   MIRROR.COM     Size while running
   NLSFUNC.EXE    File size
   SHARE.EXE      Size while running
				

Realiza a ordem de carga entre os ficheiros Config.sys e Autoexec.bat ficheiros

A maior parte dos controladores de dispositivo são carregados do ficheiro Config.sys e a maior parte dos programas residentes na memória do ficheiro Autoexec.bat. MS-DOS processa primeiro o ficheiro Config.sys e, em seguida, executa os comandos no ficheiro Autoexec.bat. Isto limita a capacidade de manipular a ordem de carregamento dos controladores e programas, uma vez que os controladores de dispositivo no ficheiro Config.sys carregará sempre antes dos programas do seu ficheiro Autoexec.bat.

As sugestões seguintes podem ajudá-lo equilibrar a utilização de UMBs entre controladores de dispositivos e programas residentes em memória:

  • No ficheiro Config.sys, inicie apenas os maiores controladores de dispositivos utilizando o comando DEVICEHIGH. Se utilizar controladores de dispositivo são mais pequenos do que a maior residente em memória programas que carregamento do ficheiro Autoexec.bat, iniciar esses controladores utilizando a DEVICE comandos. (Utilize o comando DEVICE para carregar o Himem.sys e EMM386.exe, uma vez que não pode executar estes controladores em UMBs.)
  • No ficheiro Autoexec.bat, inicie os programas residentes em memória maiores utilizando o comando LOADHIGH.
  • Se o rato é fornecido com um MOUSE.SYS e MOUSE.COM ficheiro, é possível iniciar o controlador de rato do ficheiro do Config.sys ou Autoexec.bat. Desta forma, pode carregar o controlador do rato em qualquer ponto no processo de arranque (desde que carregá-lo depois Himem.sys e EMM386.exe).

    • Para carregar o controlador do rato na UMBs do ficheiro Config.sys, utilize o comando DEVICEHIGH para carregar o ficheiro MOUSE.SYS.
    • Para carregar o controlador do rato na UMBs do ficheiro Autoexec.bat, utilize o comando LOADHIGH para carregar o ficheiro MOUSE.COM.

AJUSTAR O EMM386 PARA FORNECER MAIS UMBS

Pode ajustar o EMM386 atribuir espaço adicional na área de memória superior. (Isto é particularmente útil se tiver de iniciar o EMM386 com o parâmetro RAM para disponibilizar memória expandida para programas.) Em primeiro lugar, execute os passos no procedimento de 1. Depois de executar procedimento 1, se continuar não é possível carregar programas e controladores de dispositivo na UMBs, execute os passos no procedimento de 2.

Procedimento 1: Incluindo partes específicas da área de memória superior

Determinados endereços na área de memória superior normalmente reservados para utilização pelos controladores de hardware e de vídeo; EMM386 não normalmente disponibilizar estas áreas como UMBs. No entanto, em muitos sistemas, o hardware e controladores de vídeo não utilize todos os endereços de memória reservada. Os endereços restantes podem ser incluídos pelo EMM386 para utilização como UMBs. Para indicar o EMM386 para incluir estas áreas não utilizadas, pode utilizar o mudo depois do comando DEVICE que inicia o EMM386.

Para atribuir espaço adicional na área de memória superior para utilizar como UMBs, siga estes passos:

  1. Crie uma disquete de arranque do MS-DOS. Para o fazer, introduza uma disquete formatada na unidade e escreva o seguinte:
    sys c: a:
  2. Copie o ficheiro Config.sys para a disquete de arranque escrevendo o seguinte:
    cópia c:\config.sys a:\
  3. Edite o ficheiro Config.sys original. Para editar o ficheiro utilizando o Editor do MS-DOS, escreva o seguinte na linha de comandos:
    Editar c:\config.sys
  4. Localize o comando DEVICE para EMM386.exe e inserir que o mudo à frente do parâmetro RAM ou NOEMS. O que parâmetro especifica um intervalo de endereços na área de memória superior e indica o EMM386 atribuir memória para utilização como UMBs. O valor especificado para o mudo depende o tipo de computador and monitor.

    • Se o computador não é um IBM PS/2 e não tem um monitor monocromático, adicione a i = E000 EFFF e a i = B000 B7FF passa antes de RAM ou NOEMS mudar, da seguinte forma:
      device=c:\dos\emm386.exe i = E000 EFFF i = ram B000 B7FF
    • Se o computador não é um PS/2 e tem um monitor monocromático, adicione a i = parâmetro E000 EFFF antes de RAM ou NOEMS mudar, da seguinte forma:
      device=c:\dos\emm386.exe i = ram E000 EFFF
    • Se o computador é um IBM PS/2 e não tem um monitor monocromático, adicione a i = parâmetro B000 B7FF antes de RAM ou NOEMS mudar, da seguinte forma:
      device=c:\dos\emm386.exe i = ram B000 B7FF
    • Se o computador for um IBM PS/2 com monitor monocromático, consulte o procedimento 2.
  5. Se estiver a utilizar o Editor do MS-DOS, escolha sair menu ' ficheiro '. Quando o Editor do MS-DOS apresenta uma caixa de diálogo pedindo que guarde o ficheiro, escolha ' Sim ' ou prima ENTER.
  6. Reinicie o computador premindo CTRL + ALT + DEL.

    Se o computador falhar quando é iniciado, o intervalo de memória especificado para o EMM386 está provavelmente a ser utilizado por controladores de visualização hardware ou de vídeo. Nesse caso, introduza a disquete de arranque na unidade e reinicie o computador. Em seguida, edite Config.sys e remova o que switch(es) que adicionou o comando DEVICE para EMM386. Contacte o serviço suporte da Microsoft para obter mais assistência.
  7. Depois do computador é iniciado, verifique se os programas carregados para UMBs com êxito. Para o fazer, escreva o seguinte na linha de comandos:
    mem /c |mais
    Este comando apresenta o conteúdo da memória convencional e superior do computador e mostra onde na memória cada programa está a ser executado. (Para obter mais informações sobre o comando MEM /C e UMBs, consulte a página 320 do "utilizador guia e referência.")

Procedimento 2: Reduzir a área de conjunto de lado para utilização com memória expandida

Iniciar o EMM386 com o parâmetro RAM disponibiliza menos memória superior (UMBs) de blocos de iniciá-lo com o parâmetro NOEMS. Se programas ou controladores de dispositivo não são carregados para UMBs quando o computador é iniciado, poderá não existir UMBs suficiente para executar estes programas. Isto acontece porque utilizando a quantidade de RAM mudar conjuntos reservar 64 K da área de memória superior para utilizar com memória expandida. UMBs restantes não poderão ser suficiente para executar programas, mesmo que conseguir incluir endereços adicionais por 2 do procedimento seguinte.

Pode indicar o EMM386 pôr 16 K da área de memória superior, em vez de 64 K, para utilização com memória expandida. Isto disponibiliza mais UMBs, mas programas que utilizam memória expandida poderão executada menos eficiente. Siga estes passos:

  1. Sair do Windows e escreva o seguinte na linha de comandos:
    EMM386
    EMM386 apresenta informações sobre as actividades de gestão de memória actual. Localize a linha que se lê "Página frame segmento" e anote o endereço hexadecimal nessa linha. No exemplo seguinte, o segmento de pacote de página está E000.
    Página frame segmento........ . E000 F
  2. Edite o ficheiro Config.sys original. Para editar o ficheiro utilizando o Editor do MS-DOS, escreva o seguinte na linha de comandos:
    Editar c:\config.sys
  3. Localize o comando DEVICE para EMM386.exe e inserir o parâmetro P0 antes do parâmetro RAM. O parâmetro P0 deve especificar o endereço obtido a partir do EMM386 no passo 1. Por exemplo, se o segmento de pacote página E000, o comando DEVICE pode aparecer da seguinte forma:
    device=c:\dos\emm386.exe i = E000 EFFF p0 = E000 ram
  4. Se estiver a utilizar o Editor do MS-DOS, escolha sair menu ' ficheiro '. Quando o Editor do MS-DOS apresenta uma caixa de diálogo pedindo que guarde o ficheiro, escolha ' Sim ' ou prima ENTER.
  5. Reinicie o computador premindo CTRL + ALT + DEL.

    Se o computador falhar quando é iniciado, introduza a disquete de arranque na unidade e reinicie o computador. Em seguida, editar Config.sys de ficheiros e remova o parâmetro P0 que adicionou o comando DEVICE para EMM386. Em seguida, guarde o ficheiro, reinicie o computador e repita o procedimento 2; deve verifique cuidadosamente o endereço da moldura de página.
  6. Depois do computador é iniciado, verifique se os programas foram carregados para UMBs com êxito. Para o fazer, escreva o seguinte na linha de comandos:
    mem /c |mais
    Este comando apresenta o conteúdo da memória convencional e superior do computador e mostra onde na memória cada programa está a ser executado. (Para obter mais informações sobre o comando MEM /C e UMBs, consulte a página 320 do "utilizador guia e referência.")
Que resolve o problema se os programas e controladores de dispositivo estiverem em execução no UMBs.

Se os programas e controladores ainda não são carregados para UMBs, é possível que o sistema simplesmente não tem suficiente UMBs disponíveis para executar estes programas. Consulte documentação do hardware do computador para obter informações sobre os endereços na área de memória superior estão em utilização; contacte o suporte técnico da Microsoft para obter mais assistência.

Referências

Consulte as seguintes páginas a "do utilizador manual e a referência" para obter informações adicionais:

  • Como configurar o computador para executar programas na área de memória superior, páginas 313 326
  • Sugestões para resolução de problemas do processo de execução de programas na área de memória superior, página 327
  • Informações sobre o comando DEVICEHIGH, página 435
  • Informações sobre o comando LOADHIGH, página 518
  • Informações sobre o comando MEM, página 519
  • Informações sobre parâmetros de arranque EMM386.exe, página 605
  • Informações sobre parâmetros de arranque Himem.sys, página 610

Propriedades

Artigo: 77083 - Última revisão: 16 de novembro de 2006 - Revisão: 1.1
A informação contida neste artigo aplica-se a:
  • Microsoft MS-DOS 5.0 Standard Edition
Palavras-chave: 
kbmt KB77083 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 77083
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com