Optimizar el uso de bloques de memoria superior

Seleccione idioma Seleccione idioma
Id. de artículo: 77083 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Configurar el equipo para cargar programas o controladores de dispositivo en bloques de memoria superior (UMBs). Ahora desea asegurarse de que está realizando un uso óptimo de los UMBs para que pueda ejecutar tantos programas en el área superior de la memoria como sea posible.

Este artículo proporciona técnicas para realizar el mejor uso del área de memoria superior de su equipo. Para utilizar estas técnicas, debe estar familiarizado con la información en páginas 313-330 de Microsoft MS-DOS "Guía y referencia de usuario" para la versión 5.0, que explica cómo cargar programas UMBs. En concreto, páginas 327 y 329 proporcionan algunos información básica sobre cómo optimizar el uso de UMBs.

Este artículo explica las técnicas de optimización siguientes:

  • Iniciar EMM386 con el modificador NOEMS en lugar del modificador de RAM
  • Buscar el mejor orden para cargar controladores y programas en UMBs
  • EMM386 ajuste para proporcionar más UMBs

COMENZANDO EMM386 EL MODIFICADOR EN LUGAR DEL MODIFICADOR RAM NOEMS

Si no utilizan programas que requieren memoria expandida (EMS), iniciar EMM386 con el modificador NOEMS. Si lo hace, puede proporcionarle un adicional de 64 KB de UMBs, porque el conmutador NOEMS indica EMM386 no para crear un marco de páginas de EMS en el área de memoria superior. Si inicia EMM386 con el modificador NOEMS, programas, no podrán usar memoria expandida, incluso cuando se ejecutan con Windows.

Para iniciar EMM386 con el modificador NOEMS:

  1. Edite el archivo config.sys. Para modificar el archivo mediante el Editor de MS-DOS, escriba lo siguiente en el símbolo del sistema de MS-DOS:
    Modificar c:\config.sys
  2. Encuentra el comando DEVICE que inicia EMM386. Si el comando DEVICE contiene el modificador de RAM, cambiarlo de manera que contenga el modificador NOEMS en su lugar. El comando DEVICE para EMM386 debe ser ahora similar al siguiente:
    Device=c:\dos\emm386.exe noems
  3. Guarde los cambios (si hay alguno) al archivo config.sys y cierre el editor de texto. Si está utilizando el Editor de MS-DOS, elija Salir del archivo de menú. Cuando el Editor de MS-DOS se muestra un cuadro de diálogo le pide que guarde el archivo, elija Sí o presione ENTRAR.
  4. Reiniciar el sistema presionando CTRL CTRL+ALT+SUPR.
Después de completar este procedimiento, algunos programas podrían mostrar mensajes de memoria insuficiente o error al ejecutar. Tales programas pueden necesitar memoria expandida. Si éste es el caso, reemplace el modificador NOEMS con el modificador de RAM para que memoria expandida vuelva a estar disponible.

BUSCAR EL MEJOR ORDEN PARA CARGAR CONTROLADORES Y PROGRAMAS EN UMBS

Cuando se inicia un programa mediante los comandos DEVICEHIGH o en LOADHIGH, MS-DOS carga ese programa en la mayor UMB restante, aunque, cabrían en un UMB más pequeño. A causa de esto, el orden en que carga programas UMBs es importante al intentar optimizar el uso del área de memoria superior. Tendrá que experimentar para buscar el mejor orden para su sistema.

Crear un disco de inicio

Antes de iniciar optimizar, crear un disco de inicio que contiene una copia de seguridad de los archivos Config.sys y Autoexec.bat. Para ello, inserte un disquete formateado en la unidad A y escriba los comandos siguientes:
sys c: a:
copia c:\config.sys a:\
copia c:\autoexec.bat a:\
Con este disco de inicio permitirá experimentar más libremente; si cambia el archivo config.sys o Autoexec.bat y el equipo se bloquea al reiniciarlo, simplemente inserte el disco de copia de seguridad en la unidad y presione CTRL + ALT + SUPR.

Buscar el orden de carga recomendado

Al cargar programas altas, MS-DOS carga cada programa en la mayor UMB restante, aunque, cabrían en un UMB más pequeño. Por lo tanto, el orden en que carga programas UMBs es importante. En general, al cargar programas en el área de memoria superior, carga programas más grandes antes pequeñas. Sin embargo, este método carga-el-mayores-primera simple no siempre sea más eficaz. A veces, quizás tenga que permitirá el orden de carga para obtener el máximo partido del área de memoria superior.

Por ejemplo, suponga que desea cargar los siguientes tres programas UMBs:
   PROGRAM1.EXE   2K
   PROGRAM2.EXE   2K
   PROGRAM3.EXE   3K
				
suponga que tiene dos UMBs disponibles; uno es de 4 KB de tamaño; la otra es 3 KB de tamaño. (Puede averiguar el tamaño de UMBs individuales emitiendo el comando MEM /P. Para obtener más información, vea la página 519 de la "del usuario guía y referencia.")

Como se puede ver, PROGRAM3.EXE es el mayor en 3 KB. Si carga PROGRAM3 primero, en MS-DOS se coloca en el UMB mayor (4 KB). Dado que PROGRAM3 no usa el todo 4 KB de espacio en ese UMB, un kilobyte adicional de memoria queda no utilizado. El programa siguiente, PROGRAM1 (2 KB), encaja en los 3 KB UMB, dejando de nuevo un kilobyte no utilizado de memoria. Sin embargo, PROGRAM2 también necesita 2 KB de espacio contiguo y no cabe en cualquiera de los UMBs 1 KB que permanecen. Esto es un ejemplo de cuando no es tan eficaz para cargar primero el programa de mayor.

Un método más eficiente sería cargar PROGRAM1 (2 KB), a continuación, PROGRAM3 (3 K) y a continuación, PROGRAM2 (2 KB). A continuación, todos los tres programas cabrían en UMBs. MS-DOS podría cargar PROGRAM1 el UMB, dejando 2 K de espacio de 4 KB. PROGRAM3 cabrían a continuación, en el siguiente UMB mayor (3 KB) y PROGRAM2 cabrían en el restante de 2 K.

Calcular el requisitos de memoria del programa

Requisitos de memoria del programa determinan qué tamaño UMB que necesita. Desgraciadamente, a veces puede ser difícil averiguar qué UMB necesita un programa determinado, ya que esto depende de cómo y cuando el programa asigna memoria de tamaño. En general, los programas se dividen en dos grupos:

  • La mayoría de los programas necesitan un UMB que está al menos tan grande como el tamaño del programa mientras se está ejecutando.

    Para averiguar este tamaño, emitir el comando MEM /C mientras se está ejecutando el programa. En la mayoría de los casos, si hay un UMB de ese tamaño, el programa debe ajustarse a ese UMB de.
  • Algunos programas necesitan un UMB que es al menos tan grande como tamaño de archivo del programa.

    Tales programas utilizan una gran cantidad de memoria durante el inicio y requieren menos memoria una vez que están ejecutando. Un programa necesita inicialmente un UMB grande; pero, una vez iniciada, el programa renuncia algunos memoria que, a continuación, se puede utilizar para cargar el programa siguiente.
La siguiente tabla enumera algunas controladores de dispositivo comunes de Microsoft y programas residentes en memoria que pueden ejecutar en el área de memoria superior. La tabla especifica cómo determinar el tamaño de UMB que necesita cada programa: por comprobar el tamaño del programa mientras se está ejecutando o por el tamaño del archivo de comprobación.
   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
				

Malabarismos el orden de carga entre el config.sys y Autoexec.bat archivos

La mayoría de los controladores de dispositivo se cargan desde el archivo config.sys y la mayoría de los programas residentes en memoria desde el archivo Autoexec.bat. MS-DOS, procesa primero el archivo config.sys y ejecuta a continuación, los comandos en el archivo Autoexec.bat. Esto limita la capacidad de manipular el orden de carga de los controladores de dispositivos y programas, ya que los controladores de dispositivo en el archivo config.sys se cargan siempre antes de que los programas en el archivo Autoexec.bat.

Las siguientes sugerencias pueden ayudarle a equilibrar el uso de UMBs entre controladores de dispositivos y programas residentes en memoria:

  • En el archivo config.sys, inicie sólo los controladores de dispositivo mayores mediante el comando DEVICEHIGH. Si utiliza controladores de dispositivo que son menores que la mayor residente en memoria los programas que carga desde el archivo Autoexec.bat, inicie esos controladores mediante el DEVICE comandos. (Utilice el comando DEVICE para cargar HIMEM.sys y EMM386.exe, puesto que no puede ejecutar estos controladores en UMBs.)
  • En el archivo Autoexec.bat, inicie los programas residentes en memoria mayores mediante el comando LOADHIGH.
  • Si el mouse (ratón) se incluye con un MOUSE.SYS y MOUSE.COM el archivo, puede iniciar el controlador del mouse desde el archivo su config.sys o Autoexec.bat. De este modo, se puede cargar el controlador del mouse (ratón) en cualquier punto del proceso de inicio (mientras se carga después HIMEM.sys y EMM386.exe).

    • Para cargar el controlador del mouse (ratón) en UMBs del archivo config.sys, utilice el comando DEVICEHIGH para cargar el archivo MOUSE.SYS.
    • Para cargar el controlador del mouse (ratón) en UMBs desde el archivo Autoexec.bat, utilice el comando LOADHIGH para cargar el archivo MOUSE.COM.

EMM386 AJUSTE PARA PROPORCIONAR MÁS UMBS

Puede ajustar EMM386 asignar espacio adicional en el área de memoria superior. (Esto es especialmente útil si tiene que iniciar EMM386 con el modificador de RAM para que la memoria expandida esté disponible para programas). En primer lugar, efectúe los pasos del procedimiento 1. Después de llevar a cabo procedimiento 1, si aún no se carga programas y controladores de dispositivo en UMBs, efectúe los pasos del procedimiento 2.

Procedimiento 1: Incluir partes específicas del área de memoria superior de

Ciertos direcciones en el área de memoria superior normalmente están reservadas para uso en controladores de hardware y de vídeo; EMM386 no normalmente realiza estas áreas disponible como UMBs. Sin embargo, en muchos sistemas, el hardware y controladores de vídeo no utilizan todas las direcciones de memoria reservada. Las direcciones restantes se pueden incluir por EMM386 para su uso como UMBs. Para indicar a EMM386 para incluir estas áreas no utilizadas, utiliza el cambio después del comando DEVICE que inicia EMM386.

Para asignar espacio adicional en el área de memoria superior para su uso como UMBs, siga estos pasos:

  1. Crear un disco de inicio de MS-DOS. Para ello, inserte un disquete formateado en la unidad A y escriba lo siguiente:
    sys c: a:
  2. Copiar el archivo config.sys del disco de inicio escribiendo lo siguiente:
    copia c:\config.sys a:\
  3. Edite el archivo config.sys original. Para modificar el archivo mediante el Editor de MS-DOS, escriba lo siguiente en el símbolo del sistema:
    Modificar c:\config.sys
  4. Busque el comando DEVICE para EMM386.exe e insertar que el cambio delante de la RAM o NOEMS cambie. El modificador especifica un intervalo de direcciones en el área de memoria superior y indica EMM386 asignar esa memoria para su uso como UMBs. El valor especificado para el cambio dependerá de su tipo de equipo y el monitor.

    • Si el equipo no es un IBM PS/2 y no tiene un monitor monocromo, agregue la i = EFFF E000 y la i = B000 B7FF cambia antes de la RAM o NOEMS cambiar, como sigue:
      device=c:\dos\emm386.exe i = E000 EFFF i = B000 B7FF ram
    • Si el equipo no es un PS/2 y tiene un monitor monocromo, agregue la i = E000 EFFF modificador antes de la RAM o NOEMS cambiar, como sigue:
      device=c:\dos\emm386.exe i = E000 EFFF ram
    • Si el equipo es un IBM PS/2 y no tiene un monitor monocromo, agregue la i = B000 B7FF modificador antes de la RAM o NOEMS cambiar, como sigue:
      device=c:\dos\emm386.exe i = B000 B7FF ram
    • Si el equipo es un IBM PS/2 con un monitor monocromo, consulte el procedimiento 2.
  5. Si está usando el Editor de MS-DOS, elija Salir en el menú archivo. Cuando el Editor de MS-DOS se muestra un cuadro de diálogo le pide que guarde el archivo, elija Sí o presione ENTRAR.
  6. Reinicie el equipo presionando CTRL CTRL+ALT+SUPR.

    Si el equipo falla cuando se inicia, el intervalo de memoria que ha especificado para EMM386 está probablemente utilizando hardware o de vídeo controladores de pantalla. En ese caso, inserte el disco de inicio en la unidad y reinicie el equipo. A continuación, edite su config.sys y elimine modificadores que se agrega al comando DEVICE para EMM386. Póngase en contacto con los servicios soporte técnico de Microsoft para obtener más ayuda.
  7. Después de que el equipo se inicia, compruebe si los programas de cargan en UMBs correctamente. Para ello, escriba lo siguiente en el símbolo del sistema:
    mem /c |más
    Este comando muestra el contenido de la memoria del equipo convencional y superior y muestra donde se ejecuta cada programa en la memoria. (Para obtener más información acerca de la memoria /C comando y UMBs, vea la página 320 de la "del usuario guía y referencia.")

Procedimiento 2: Reducir el espacio de establecer el margen para su uso con memoria expandida

Iniciar EMM386 con el modificador de RAM hace menos memoria superior (UMBs) bloques esté disponible de iniciarlo con el modificador NOEMS. Si los programas o controladores de dispositivo no se cargan en UMBs al iniciar el equipo, es posible que no haya suficiente UMBs para ejecutar estos programas. Esto es porque utilizando la RAM cambiar conjuntos de reservar 64 KB del área de memoria superior para utilizar con memoria expandida. Los UMBs restantes no sea suficiente para ejecutar los programas, incluso si se puede incluir direcciones adicionales con el siguiente procedimiento 2.

Puede indicar EMM386 establecer aparte 16 K del área de memoria superior, en lugar de 64 KB, para su uso con memoria expandida. Esto hace más UMBs esté disponible, pero los programas que utilizan memoria expandida podrían ejecutar menor eficazmente. Siga estos pasos:

  1. Salir de Windows y escriba la siguiente en el símbolo del sistema:
    EMM386
    EMM386 muestra información acerca de sus actividades de administración de memoria actual. Busque la línea que dice "Segmento de marco de página" y anote la dirección hexadecimal en esa línea. En el ejemplo siguiente, el segmento de marco de página es E000.
    Segmento de marco de página........ . E000 F
  2. Edite el archivo config.sys original. Para modificar el archivo mediante el Editor de MS-DOS, escriba lo siguiente en el símbolo del sistema:
    Modificar c:\config.sys
  3. Busque el comando DEVICE para EMM386.exe e inserte el modificador P0 delante del modificador RAM. El modificador P0 debe especificar la dirección obtenida EMM386 en el paso 1. Por ejemplo, si el segmento de marco de página era E000, el comando DEVICE puede aparecer como sigue:
    Device=c:\dos\emm386.exe i = E000 EFFF p0 = E000 ram
  4. Si está usando el Editor de MS-DOS, elija Salir en el menú archivo. Cuando el Editor de MS-DOS se muestra un cuadro de diálogo le pide que guarde el archivo, elija Sí o presione ENTRAR.
  5. Reinicie el equipo presionando CTRL CTRL+ALT+SUPR.

    Si el equipo falla cuando se inicia, inserte el disco de inicio en la unidad y reinicie el equipo. A continuación, modifique su config.sys archivo y quite el modificador P0 agrega al comando DEVICE para EMM386. A continuación, guarde el archivo, reinicie el equipo y repita el procedimiento 2; Asegúrese de comprobar la dirección del marco de página cuidadosamente.
  6. Después de que el equipo se inicia, compruebe si sus programas se cargaron en UMBs correctamente. Para ello, escriba lo siguiente en el símbolo del sistema:
    mem /c |más
    Este comando muestra el contenido de la memoria del equipo convencional y superior y muestra donde se ejecuta cada programa en la memoria. (Para obtener más información acerca de la memoria /C comando y UMBs, vea la página 320 de la "del usuario guía y referencia.")
Ha resuelto el problema si se ejecutan los programas y controladores de dispositivo UMBs.

Si los programas y controladores todavía no se cargan en UMBs, es posible que simplemente el sistema no tiene suficiente UMBs disponibles para ejecutar estos programas. Consulte documentación del hardware del equipo para obtener información acerca de qué direcciones en el área de memoria superior están en uso; póngase en contacto con Microsoft producto el servicio de soporte para obtener más ayuda.

Referencias

Consulte las siguientes páginas en la "del usuario guía y referencia" para obtener información adicional:

  • Cómo configurar el equipo para ejecutar programas en el área de memoria superior, páginas 313 326
  • Sugerencias para solucionar problemas del proceso de ejecutar programas en el área de memoria superior, página 327
  • Información sobre el comando DEVICEHIGH, página 435
  • Información sobre el comando LOADHIGH, página 518
  • Información sobre el comando MEM, página 519
  • Información sobre parámetros de inicio EMM386.exe, página 605
  • Información sobre parámetros de inicio HIMEM.sys, página 610

Propiedades

Id. de artículo: 77083 - Última revisión: jueves, 16 de noviembre de 2006 - Versión: 1.1
La información de este artículo se refiere a:
  • Microsoft MS-DOS 5.0 Standard Edition
Palabras clave: 
kbmt KB77083 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 77083
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

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