Ottimizzazione dell'utilizzo di blocchi di memoria superiore

Traduzione articoli Traduzione articoli
Identificativo articolo: 77083 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

Aver configurato il computer per caricare programmi o driver di periferica in blocchi di memoria superiore (UMB). Ora si desidera verificare si effettuano utilizzo ottimale delle UMB in modo che si possano eseguire tutti i programmi nell'area di memoria superiore possibile.

Questo articolo vengono fornite tecniche per rendere l'utilizzo dell'area di memoria superiore del computer. Per utilizzare queste tecniche, è necessario conoscere con le informazioni sulle pagine 313-330 di Microsoft MS-DOS "Dell'utente di Guida e riferimenti" per la versione 5.0, viene illustrato come caricare i programmi in UMB. In particolare, le pagine 327 e 329 forniscono alcune informazioni di base su come ottimizzare l'utilizzo di UMB.

Questo articolo viene spiegato le seguenti tecniche di ottimizzazione:

  • Avviare EMM386 con l'opzione NOEMS anziché l'opzione di RAM
  • Ricerca di ordine di caricamento di driver e programmi in UMB migliore
  • EMM386 rettifica per fornire ulteriori UMB

AVVIO EMM386 CON L'OPZIONE INVECE DELL'OPZIONE RAM NOEMS

Se non si utilizzano programmi che richiedono memoria espansa (EMS), è possibile avviare EMM386 con l'opzione NOEMS. In questo modo può fornire un ulteriore 64 KB di UMB, poiché l'opzione NOEMS indica EMM386 non di crearne una cornice di pagina EMS nell'area di memoria superiore. Se si avvia EMM386 con l'opzione NOEMS, programmi non potranno utilizzare la memoria espansa, anche quando sono in esecuzione con Windows.

Per avviare EMM386 con l'opzione NOEMS:

  1. Modificare il file config.sys. Per modificare il file utilizzando editor di MS-DOS, digitare quanto segue al prompt dei comandi di MS-DOS:
    modificare c:\config.sys
  2. Trovare il comando DEVICE che inizia EMM386. Se il comando DEVICE contiene l'opzione di RAM, modificarlo in modo che contiene l'opzione NOEMS. Il comando DEVICE EMM386 dovrebbe risultare simile a quello riportato di seguito:
    Device=c:\dos\emm386.exe noems
  3. Salvare le modifiche, se presente, il file config.sys e chiudere l'editor di testo. Se si utilizza MS-DOS Editor, scegliere Esci dal the file menu. Quando l'editor di MS-DOS viene visualizzata una finestra di dialogo che richiede di salvare il file, scegliere Sì oppure premere INVIO.
  4. Riavviare il sistema premendo + CTRL + CANC.
Dopo avere completato questa procedura, alcuni programmi potrebbero visualizzare i messaggi di esaurimento della memoria o non eseguito. Questi programmi potrebbero richiedere la memoria espansa. Se questo è il caso, è possibile sostituire l'opzione NOEMS con l'opzione di RAM per rendere nuovamente disponibile memoria espansa.

RICERCA DI ORDINE DI CARICAMENTO DI DRIVER E PROGRAMMI IN UMBS MIGLIORE

Quando si avvia un programma tramite il comando DEVICEHIGH o LOADHIGH, tale programma MS-DOS carica in UMB il rimanente più grande, anche se si adatti a un UMB più piccoli. Di conseguenza, l'ordine in cui è possibile caricare programmi in UMB è importante, in quando si tenta di ottimizzare l'utilizzo dell'area di memoria superiore. Sarà necessario provare a individuare l'ordine per il sistema migliore.

Creare un disco di avvio

Prima di iniziare l'ottimizzazione, è possibile creare un disco di floppy di avvio contenente una copia di backup dei file config.sys e Autoexec.bat. Per eseguire questa operazione, inserire un disco floppy formattato nell'unità A e digitare i comandi riportati di seguito:
sys c: a:
copia c:\config.sys a:\
copia c:\autoexec.bat a:\
Con questo disco di ripristino consentirà di provare più liberamente; se si modifica il file config.sys o Autoexec.bat e il computer si blocca quando appena riavviato, inserire il disco di backup nell'unità A e preme + CTRL + CANC.

Individuare l'ordine di caricamento procedure

Quando si carica programmi elevati, ogni programma MS-DOS carica nel più grande UMB rimanenti, anche se si adatti a un UMB più piccoli. Di conseguenza, l'ordine in cui è possibile caricare programmi in UMB è importante. In generale, quando il caricamento programmi nell'area di memoria superiore caricare più grande programmi prima di quelli più piccoli. Tuttavia, questo metodo carico-di-maggiori-primo semplice potrebbe non essere sempre più efficiente. In alcuni casi, potrebbe essere necessario modificare l'ordine di caricamento consente di ottenere il massimo da area di memoria superiore.

Si supponga, ad esempio, di voler caricare i seguenti tre programmi in UMB:
   PROGRAM1.EXE   2K
   PROGRAM2.EXE   2K
   PROGRAM3.EXE   3K
				
supponga due UMB disponibile; uno è di 4 KB di dimensioni; l'altra è 3 K di dimensioni. (È possibile individuare le dimensioni dei singoli UMB mediante il comando MEM /P. Per ulteriori informazioni, vedere la pagina 519 della "dell'utente di Guida e riferimento.)

Come può vedere, PROGRAM3.EXE è massimo a 3 K. Se si carica innanzitutto PROGRAM3, MS-DOS lo inserisce nel più grande UMB (4 KB). Poiché PROGRAM3 non utilizza l'intero di 4 KB di spazio in tale UMB, un ulteriori kilobyte di memoria viene lasciata inutilizzata. Il programma successivo, PROGRAM1 (2 K), si inserisce nel 3 KB UMB, lasciando nuovamente un kilobyte di memoria non utilizzate. Tuttavia, PROGRAM2 inoltre necessari 2 KB di spazio contiguo e non rientra in uno dei UMB di 1 K che rimangono. Questo è un esempio di quando non è più efficiente per caricare prima il programma di più grande.

Un metodo più efficiente sarebbe caricare PROGRAM1 (2 K), quindi PROGRAM3 (3 KB) e quindi PROGRAM2 (2 K). Quindi, tutti i programmi di tre si adatti UMB. MS-DOS, PROGRAM1 viene caricata nel UMB, lasciando 2 KB di spazio di 4 KB. PROGRAM3 sarebbe quindi adattare il UMB più grande successivo (3 KB) e PROGRAM2 sarebbe adatti per il rimanente 2 K.

Individuare fuori requisiti di memoria di un programma

Requisiti di memoria un programma determinano le dimensioni UMB è necessario. Sfortunatamente, può talvolta essere difficile capire quali dimensioni UMB è necessario un determinato programma, poiché questo dipende dal come e quando il programma alloca la memoria. In generale, programmi rientrano in uno dei due gruppi:

  • La maggior parte dei programmi è necessario un UMB che è grande almeno quanto dimensioni del programma mentre è in esecuzione.

    Per trovare questa dimensione, eseguire il comando MEM /C mentre il programma è in esecuzione. Nella maggior parte dei casi, se è disponibile un UMB di tale dimensione, il programma deve contenere in tale UMB.
  • Alcuni programmi è necessario un UMB che è grande almeno quanto la dimensione del file del programma.

    Tali programmi utilizzano una notevole quantità di memoria durante l'avvio e richiedono minore quantità di memoria dopo che sono in esecuzione. Un programma deve inizialmente un UMB di grandi dimensioni; ma, dopo averlo avviato, il programma volontariamente memoria che può quindi essere utilizzata per caricare il programma successivo.
Nella tabella seguente sono elencati alcuni driver di periferica Microsoft common e di un programmi residenti in memoria che possono essere eseguito nell'area di memoria superiore. La tabella specifica come determinare le dimensioni di UMB da ogni programma: verifica la dimensione del programma mentre è in esecuzione o la dimensione del file di controllo.
   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
				

Sovrapposizione dell'ordine del carico tra il file config.sys e Autoexec.bat file

La maggior parte dei driver di periferica vengono caricati dal file config.sys e la maggior parte dei programmi residenti in memoria dal file Autoexec.bat. MS-DOS elabora il file config.sys prima e quindi esegue i comandi nel file Autoexec.bat. Questo limita la possibilità di modificare l'ordine di caricamento del driver di periferica e i programmi, poiché i driver di periferica nel file config.sys caricherà sempre prima i programmi nel file Autoexec.bat.

I suggerimenti seguenti consentono di bilanciare l'utilizzo di UMB tra driver di periferica e programmi residenti in memoria:

  • Nel file config.sys, è necessario avviare solo i più grandi driver di periferica utilizzando il comando DEVICEHIGH. Se si utilizza il driver di periferica sono minori del più grande residente in memoria programmi che il carico dal file Autoexec.bat, avviare i driver utilizzando la periferica comando. (Utilizzare il comando DEVICE per caricare di HIMEM.sys ed EMM386.exe, poiché è possibile eseguire questi driver di UMB.)
  • Nel file Autoexec.bat, avviare i programmi di residente in memoria più grandi utilizzando il comando LOADHIGH.
  • Se il mouse dispone di un MOUSE.SYS e MOUSE.COM file, è possibile avviare il driver del mouse dal file il config.sys o Autoexec.bat. In questo modo, è possibile caricare il driver del mouse in qualsiasi punto del processo di avvio (purché si carica HIMEM.sys e EMM386.exe).

    • Per caricare il driver del mouse in UMB dal file config.sys, è necessario utilizzare il comando DEVICEHIGH per caricare il file MOUSE.SYS.
    • Per caricare il driver del mouse in UMB dal file Autoexec.bat, è necessario utilizzare il comando LOADHIGH per caricare il file MOUSE.COM.

EMM386 RETTIFICA PER FORNIRE ULTERIORI UMBS

È possibile regolare EMM386 allocare ulteriore spazio nell'area di memoria superiore. (Questo è particolarmente utile se è necessario avviare EMM386 con l'opzione di RAM per rendere disponibili programmi memoria espansa.) Innanzitutto, eseguire i passaggi della procedura 1. Dopo eseguire procedure 1, se Impossibile caricare programmi e driver di periferica in UMB, eseguire i passaggi della procedura 2.

Procedura 1: Inclusione di parti specifiche di nell'area di memoria superiore

EMM386 non in genere rende queste aree disponibili come UMB determinati indirizzi nell'area di memoria superiore sono riservati in genere per l'utilizzo da driver hardware e dei video. Tuttavia, su molti sistemi, l'hardware e il driver video non utilizzano gli indirizzi di memoria riservata. È possibile includere gli indirizzi rimanenti da EMM386 per l'utilizzo come UMB. Per indicare EMM386 per includere queste aree inutilizzate, si utilizza il passare dopo il comando DEVICE avvia EMM386.

Per allocare spazio nell'area di memoria superiore per l'utilizzo come UMB, attenersi alla seguente procedura:

  1. Creare un disco di avvio MS-DOS. Per eseguire questa operazione, inserire un disco floppy formattato nell'unità A e digitare quanto segue:
    sys c: a:
  2. Copiare il file config.sys sul disco di avvio digitando quanto segue:
    copia c:\config.sys a:\
  3. Modificare il file config.sys originale. Per modificare il file utilizzando l'editor di MS-DOS, digitare quanto segue al prompt dei comandi:
    modificare c:\config.sys
  4. Individuare il comando DEVICE per EMM386.exe e inserire che il passare in primo piano della RAM o NOEMS passare. Il parametro specifica un intervallo di indirizzi nell'area di memoria superiore e indica EMM386 ad allocare memoria per l'utilizzo UMB. Il valore specificato per l'opzione dipendono il tipo di computer e il monitor.

    • Se il computer non è un IBM PS/2 e non dispone di un monitor monocromatico, aggiungere il i = EFFF di compreso e l'i = B000-B7FF passa prima la RAM o NOEMS passaggio, come illustrato di seguito:
      device=c:\dos\emm386.exe i = EFFF di compreso i = B000-B7FF ram
    • Se il computer non è un PS/2 e ha un monitor monocromatico, aggiungere il i = opzione compreso-EFFF prima la RAM o NOEMS passare, come illustrato di seguito:
      device=c:\dos\emm386.exe i = compreso-EFFF ram
    • Se il computer è un IBM PS/2 e non dispone di un monitor monocromatico, aggiungere il i = opzione B000-B7FF prima la RAM o NOEMS passare, come illustrato di seguito:
      device=c:\dos\emm386.exe i = B000-B7FF ram
    • Se il computer è un IBM PS/2 con un monitor monocromatico, vedere la procedura 2.
  5. Se si sta utilizzando un editor di MS-DOS, scegliere Esci dal menu file. Quando l'editor di MS-DOS viene visualizzata una finestra di dialogo che richiede di salvare il file, scegliere Sì oppure premere INVIO.
  6. Riavviare il computer premendo + CTRL + CANC.

    Se il computer non riesce quando si avvia, l'intervallo di memoria specificato per EMM386 è probabilmente utilizzato dai driver video hardware o il video. In questo caso, inserire il disco di avvio nell'unità A e riavviare il computer. Modifica config.sys, quindi rimuovere il switch(es) aggiunto al comando DEVICE per EMM386. Contattare il Microsoft supporto tecnico per ulteriore assistenza.
  7. Dopo l'avvio del computer, è necessario verificare se i programmi caricati in UMB. A tale scopo, digitare quanto segue al prompt dei comandi:
    mem /c |più
    Questo comando Visualizza il contenuto della memoria convenzionale e superiore del computer e viene illustrato in cui in memoria ogni programma è in esecuzione. (Per ulteriori informazioni sul comando MEM /C e UMB, vedere la pagina 320 della "dell'utente di Guida e riferimento.)

Procedura 2: Lo spazio di riduzione impostare inciso per l'utilizzo con memoria espansa

Avviare EMM386 con l'opzione di RAM disponibili un numero inferiore di memoria superiore blocchi (UMB) di avvio con l'opzione NOEMS. Se programmi o driver di periferica non vengono caricate in UMB all'avvio del computer, potrebbe non esserci sufficiente UMB per eseguire tali programmi. Infatti, utilizzando la RAM passare imposta riservare 64 KB dell'area di memoria superiore per l'utilizzo con memoria espansa. Il rimanente UMB potrebbe non essere sufficiente per l'esecuzione delle applicazioni, anche se fosse in grado di includere gli indirizzi aggiuntivi da 2 procedure seguenti.

È possibile indicare EMM386 per riservare 16 KB di area di memoria superiore, anziché di 64 K, per l'utilizzo con memoria espansa. Questo rende disponibile più UMB ma programmi che utilizzano la memoria espansa potrebbero funzionare in modo efficiente minore. Attenersi alla seguente procedura:

  1. Uscire da Windows e digitare quanto segue al prompt dei comandi:
    EMM386
    EMM386 Visualizza informazioni sulle sue attività di gestione della memoria corrente. Individuare la riga "Segmento di fotogramma pagina" e annotare l'indirizzo esadecimale su tale riga. Nell'esempio seguente, il segmento di cornice di pagina è compreso.
    Segmento di fotogramma di pagina........ . E000 F
  2. Modificare il file config.sys originale. Per modificare il file utilizzando l'editor di MS-DOS, digitare quanto segue al prompt dei comandi:
    modificare c:\config.sys
  3. Individuare il comando DEVICE per EMM386.exe e inserire il parametro P0 prima dell'opzione di RAM. L'opzione P0 è necessario specificare l'indirizzo ottenuto da EMM386 nel passaggio 1. Ad esempio, se il segmento di fotogramma pagina era compreso, il comando DEVICE potrebbe essere come segue:
    Device=c:\dos\emm386.exe i = p0 EFFF compreso = compreso ram
  4. Se si sta utilizzando un editor di MS-DOS, scegliere Esci dal menu file. Quando l'editor di MS-DOS viene visualizzata una finestra di dialogo che richiede di salvare il file, scegliere Sì oppure premere INVIO.
  5. Riavviare il computer premendo + CTRL + CANC.

    Se il computer non riesce quando si avvia, inserire il disco di avvio nell'unità A e riavviare il computer. Quindi, modificare config.sys file e rimuovere l'opzione P0 aggiunto al comando DEVICE per EMM386. Quindi, salvare il file, riavviare il computer e ripetere la procedura 2; assicurarsi di controllare attentamente l'indirizzo del frame della pagina.
  6. Dopo l'avvio del computer, è necessario verificare se i programmi sono stati caricati correttamente nella UMB. A tale scopo, digitare quanto segue al prompt dei comandi:
    mem /c |più
    Questo comando Visualizza il contenuto della memoria convenzionale e superiore del computer e viene illustrato in cui in memoria ogni programma è in esecuzione. (Per ulteriori informazioni sul comando MEM /C e UMB, vedere la pagina 320 della "dell'utente di Guida e riferimento.)
Il problema è risolto se i programmi e driver di periferica esegue in UMB.

Se i programmi e driver ancora non vengono caricate in UMB, è possibile che il sistema semplicemente non sia sufficiente UMB disponibile per l'esecuzione tali programmi. Consultare documentazione dell'hardware del computer per informazioni su quali indirizzi nell'area di memoria superiore sono in uso, contattare il servizio supporto tecnico clienti Microsoft per ulteriori informazioni.

Riferimenti

Vedere le pagine seguenti nella "del utenti manuale e riferimento" per ulteriori informazioni:

  • Come impostare il computer per eseguire programmi nell'area di memoria superiore, le pagine 313-326
  • Suggerimenti per la risoluzione dei problemi il processo di programmi in esecuzione nell'area di memoria superiore, pagina 327
  • Informazioni sul comando DEVICEHIGH, pagina 435
  • Informazioni sul comando LOADHIGH, pagina 518
  • Informazioni sul comando MEM, pagina 519
  • Informazioni su parametri di avvio EMM386.exe, pagina 605
  • Informazioni su parametri di avvio HIMEM.sys, pagina 610

Proprietà

Identificativo articolo: 77083 - Ultima modifica: giovedì 16 novembre 2006 - Revisione: 1.1
Le informazioni in questo articolo si applicano a:
  • Microsoft MS-DOS 5.0 Standard Edition
Chiavi: 
kbmt KB77083 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 77083
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
Dichiarazione di non responsabilità per articoli della Microsoft Knowledge Base su prodotti non più supportati
Questo articolo è stato scritto sui prodotti per cui Microsoft non offre più supporto. L?articolo, quindi, viene offerto ?così come è? e non verrà più aggiornato.

Invia suggerimenti

 

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