Makale numarası: 95555 - Son Gözden Geçirme: 12 Mayıs 2003 Pazartesi - Gözden geçirme: 2.0

MS-DOS bellek yönetimi işlevselliği'e genel bakış

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu makale, genişletilmiş bellek belirtimi'için (EMS) uyan nasıl genişletilmiş bellek için genel bir bakış içerir ve genişletilmiş bellek belirtimi (XMS) için uygun bir genişletilmiş bellek oluşturulur ve MS-DOS'A sürüm 5.0 ve daha sonra aygıt sürücüleri tarafından HIMEM.SYS ve EMM386.EXE yönetilen. MS-DOS nasıl üst bellek alanına (HMA) yüklü olduğu ve üst bellek blok (UMBs) yöneten ayrıca açıklanan.

Not: Bu makalede okuma önce bellek yönetimi, HIMEM.SYS ve EMM386.EXE bölümlerde yazdırılan MS-DOS belgelerinize gözden geçirmek isteyebilirsiniz. MS-DOS 6.0, 6.2, 6.21 veya 6.22 kullanıyorsanız, için çevrimiçi yardıma bakın. Örneğin, emm386.exe yardımcı MS-DOS komut isteminde yazın.

Bu makaledeki bilgiler aşağıdaki gibi düzenlenir:

  • Eski, bellek ayırma yöntemleri genişletilmiş: 15 h ve VDisk kesme üstbilgileri
  • HIMEM.SYS XMS belleği oluşturur.
  • Y20 ve HMA
  • DOS = YÜKSEK MS-DOS the HMA Çalıştır için sorar
  • EMM386.EXE [RAM | NOEMS] EMS ve/veya UMBs oluşturmak için XMS kullanır.
  • DOS = UMB UMBs yönetmek için MS-DOS ister.
  • DEVICEHIGH = [<drive>:] [\ <path>\] <filename>
  • lh (loadhigh)
  • devicehigh VE /l: İLE loadhigh VE /s
  • MS-DOS bellek MEM raporlarını yönetme
  • Genişletilmiş veya bellek genişletilmiş nasıl MS-DOS kullanır.
  • Kullanılabilir başvurular
Not: Yalnızca bölümünü "Nasıl MS-DOS kullanan genişletilmiş veya genişletilmiş bellek", MS-DOS sürüm 3.x ve 4.x için geçerlidir.

Daha fazla bilgi

Eski genişletilmiş bellek ayırma yöntemleri: 15 h & VDisk üstbilgileri kesme

Geçmişte, genişletilmiş bellek ayrılamadı, programlar için iki yol vardı: üst-alt (15 kesme kullanarak) ve aşağıdan yukarıya (VDisk üstbilgilerini kullanarak).

15 H kesme özgün BILGISAYAR ROM dışında ne kadar RAM (Geleneksel ayrıca genişletilmiş) bulmak için araçlar da dahil olmak üzere bıos'unda, birkaç Uzantıları'nı içeren bir ROM BIOS hizmetin sistemde numarasıdır. Bir programı bu hizmet yok genişletilmiş bellek miktarını bulmaya sonra "Kancaları", 15 h kesme ve raporlarını olduğunu <n>K daha az bellek kullanılabilir etkin genişletilmiş bellek <n>K dilimleme diğer programlara üst kapalı. Bunu yaptığınızda, program kendi genişletilmiş bellek bellek havuzu üstünden tahsis etmiştir.

Aşağıdan yukarıya bellek ayırma çalışır, RAM K <n>belirten bir uzatılmış bellek başındaki başlık denetimi tarafından kullanılıyor. Bir başlığı varsa, program için başka bir başlığı daha <n>K denetler. Hiçbir üstbilgi varsa, program kendi başlığında koyar. Bu yöntem özgün IBM DOS RAM sürücü yardımcı (VDISK.SYS) kullandığı için bu üstbilgileri VDisk üstbilgileri olarak adlandırılır.

Bu yöntemlerin BIR olumsuzluk bellek bir programa ayrılmış sonra ayırmayı kaldırma genellikle mümkün değildir. XMS ayrılırken ve uzatılmış bellek daha kolay tüm ayırmayı kaldırma dahil yapmak üzere tasarlanmıştır.

HIMEM.SYS XMS belleği oluşturur.

HIMEM.SYS tüm isteğe bağlı bölümü UMB dışında XMS uygular. Önceki sürümler HIMEM.SYS 3. 0 ' XMS 2.0 ile uyumlu olan ve en çok 16 MB RAM tanı; sürüm 3.0 ve (sonraki ilk Windows 3.10 ve MS-DOS 6.0 ile birlikte) uyumlu XMS 3.0 ve 4 GB'YE kadar tanır.

Yükleme üzerinde HIMEM.SYS genişletilmiş bellek miktarını belirler. Ile /INT15 yüklü sürece, HIMEM.SYS ayarlar (Not bir XMS işlevi çağıran bir program yapar kadar tüm kullanılabilir genişletilmiş bellek gerçek tahsisat oluşmaz) XMS belleği olarak tüm kullanılabilir genişletilmiş bellek ayrılamıyor = seçenek. HIMEM.SYS VDisk üstbilgisiyle HMA ayırır ve kancaları, 15 h kesme. Program, gerçekten XMS istekleri kadar XMS kullanmadan (dışında HMA için), genişletilmiş bellek kullanmak istediğiniz programları bunu yapabilirsiniz.

Bir program aslında yalnızca /INT15 tarafından belirtilen genişletilmiş bellek miktarını, kesme 15 h kanca bildirmek için programları kullanır XMS belleği HIMEM.SYS sorar, sonra da = xxxx (HMA (64 K) eksi, kullanılabilir. /INT15 kullanılabilir bellek = xxxx fiziksel olarak bulunduğu RAM HMA; XMS tarafından yönetilen fiziksel olarak bulunduğu üzerinde herhangi bir /INT15 = <a1>xxxx</a1> RAM.

Y20 ve HMA

HMA FFFF:0010 tanımlanan-FFFF:FFFF 80286 ve sonraki sistemlerde bu adreslerde adreslenebilir olan fiziksel RAM'A sahip. Bu alan 21st adres satırını (Y20) 64 K-16 bayt kullanılabilir ek RAM, etkin olduğunda (8086 öykünmesi) gerçek kipte 80286 ve sonraki sistemlerde saptanabilir. 8086 Veya 80 x 86 Y20 satırı devre dışı "Sarar" FFFF:0010 geçici ve 0000 aynıdır: 0000.

Bu satır, açma ve kapatma klavye bağlantı noktası kullanılarak gerçekleştirilir ve donanım bağımlı. HIMEM.SYS farklı makineler için "Y20 işleyicileri" içerir. XMS ayırır ve bir blok HMA kaldırır, diğer bir deyişle, yalnızca bir program, aynı anda kullanabilirsiniz. MS-DOS 5.0 ve daha sonra HMA çalıştırabilirsiniz DOS = CONFIG.SYS dosyasında YÜKSEK olur.

DOS = YÜKSEK MS-DOS the HMA Çalıştır için sorar

DOS = LOW veya hiçbir DOS = komuttur, CONFIG.SYS dosyasında, MS-DOS verilerini başlatıldı ve kendi bellek AYGıTı önce son bir yerde yüklenen = ve DEVICEHIGH = komutları çalıştırılır.

DOS = yüksek komuttur CONFIG.SYS dosyasında, MS-DOS verileri (uyumluluk için yetersiz kalması gereken) geleneksel bellek yerine son yüklenen. Her aygıt sürücüsü başlatıldı sonra onay işareti, bir XMS sürücüsü yüklü olup olmadığını belirlemek için yapılır. Böyle bir durumda ve HMA kullanılabiliyorsa, MS-DOS HMA taşınır. MS-DOS [YÜKSEK] DEVICE sonra her denetlediği değil, komut = ve sonra da YÜKLEME işlemi başlar komutları =.

Bir DOS, = yüksek komut var, ancak (XMS sürücü yüklenmedi veya HMA kullanılabilir,) yüklenen yüksek MS-DOS olmayan MS-DOS raporlarını "HMA değil kullanılabilir/yükleme DOS düşük" kendisini geleneksel belleğe yukarıdaki tüm yüklenebilir aygıt sürücülerini ve/veya Sonlandır-ve-bellekte kal (TSR) programları YÜKLEMESI ile yüklenen yükler =.

MS-DOS yüklü olup olmadığını COMMAND.COM geçici bir bölümünü yüksek veya dü?ük geleneksel bellekte kalır. Çoğu COMMAND.COM yerleşik bölümü, herhangi bir yazılım kod sayfaları ve disk arabellekleri (genellikle) de yüksek, yükleme DOS = CONFIG.SYS dosyasında YÜKSEK olur.

EMM386.EXE [RAM | NOEMS] EMS ve/veya UMBs oluşturmak için XMS kullanır.

EMM386.EXE XMS belleği 80386 ve sonraki sistemlerle için bir aygıt sürücüsüdür. EMM386.EXE XMS belleği oluşturmak ve EMS belleği ve/veya XMS üst bellek blok (UMBs) yönetmek için kullanır. Programlar arasında 4.0 EMS EMS kullanılabilir arabirim; UMBs XMS arabirimi aracılığıyla kullanılabilir. UMBs sağlanırken, EMM386.EXE ayırmak veya UMBs ayırması için yalnızca isteklerine yanıt verir; tüm diğer XMS belleği HIMEM.SYS tarafından yönetilir.

Yükleme üzerinde EMM386.EXE, etkinlik raporunu gösterir. Bunun yanı sıra, bu rapor içerir:

  • Sağlanan ve bu durumda olup olmadığını EMS belleği oluşturuluyor:

    • EMS kullanılabilir miktarı
    • EMS sayfasına Çerçeve kesimi adresidir.
  • UMBs sağlandığında, aşağıdakileri de görüntülenir:

    • UMBs XMS kullanılabilir miktarı
    • En büyük UMB XMS kullanılabilir
    • Üst bellek kesimi başlangıç adresi
Bu rapor ayrıca, EMM386.EXE çalıştırarak MS-DOS komut isteminde kullanılabilir.

Not: EMM386.EXE sürümleri 4.45 ve daha sonra yapmak /VERBOSE geçiş SÜRECE bu bilgileri başlangıç sırasında kullanılan görüntü.

DOS = UMB UMBs yönetmek için MS-DOS ister.

DOS UMB = kendisine XMS aracılığıyla kullanılabilen tüm UMBs ayırmaya MS-DOS komut ister. MS-DOS sonra UMBs kendi bellek yönetimi hizmetleri ile 21 dahil olmak üzere h kesme içinde kullanılabilmesini:
   Function        Description                     Version
   -------------------------------------------------------
   48h             Allocate memory                 2.0
   49h             Free allocated memory           2.0
   4Ah             Set memory block size           2.0
   5800h           Get allocation strategy         2.0
   5801h           Set allocation strategy         2.0
   5802h           Get upper-memory link status    5.0
   5803h           Set upper-memory link status    5.0
				
, DOS UMB = EMM386.EXE CONFIG.SYS dosyasında, raporları, 0 (sıfır) olduğu UMBs MS-DOS komut isteminden kullanılabilir ve UMBs XMS Hizmetleri ile kullanmaya çalışır herhangi bir programı bulmak güncelleştiremiyor.

Kullanıcılar, MS-DOS kullanılabilir olan UMBs MEM /C komutunu kullanarak sahip olup olmadığını belirleyebilir. Programları kesme 21 h, işlev 5803h UMBs var olmadığını belirlemek için kullanabilirsiniz.

DEVICEHIGH = [<drive>:] [\ <path>\] <filename>

DEVICEHIGH = aygıt sürücüsü dosyası varsa kullanılabilir yeterince büyük olan bir MS-DOS UMB yüklenmesi komut ister. Yoksa, sürücüyü geleneksel belleğe yüklenir ve çalıştırılır; hata MS-DOS tarafından görüntülenir.

lh (loadhigh)

LH (veya LOADHIGH) komutu için yeterince büyük olan MS-DOS program dosyası varsa kullanılabilir bir MS-DOS UMB yüklemeye bildirir. Yoksa, program geleneksel belleğe yüklenir ve çalıştırılır; hata MS-DOS tarafından görüntülenir.

devicehigh VE /l: İLE loadhigh VE /s

<a1>MS-DOS</a1> sürüm 6.0, 6.2, 6.21 veya 6.22 kullanıyorsanız, bir aygıt sürücüsü veya program içine yüklenen bellek bölümlerinin denetlemek için /L ve /S anahtarları'nı kullanabilirsiniz.
   DEVICEHIGH [[/L:region1[,minsize1][;region2[,minssize2] [/S]]=
				
Içine bir program yüklü bellek region(s) /L: anahtarı belirtir. /L: anahtarı belirtilmezse, MS-DOS program boş bir en büyük UMB yükler ve tüm diğer UMB bölgeler, program için kullanılabilir. Kullanılabilir bellek bölgeleri görüntülemek için MEM /F komutunu seçin. (0 Geleneksel bellek bölgedir.)

Program yüklenirken /S anahtarının, UMB (minsize) en küçük boyuta küçültür. Bu anahtar yalnızca /L: anahtarla bağlantılı olarak kullanılır ve yalnızca en az boyutu belirtilmiş olan UMBs etkiler.

Aşağıdaki örnek verilebilir:
  LOADHIGH /L:1,12194;2,34213 /S C:\PROGDIR\PROGRAM.EXE
				
bu komut, PROGRAM.EXE yükler ve bellek bölgelere 1 ve 2'i yüklemek için sınırlar. Program, bölge 2 12,194 bayt bölge 1 yalnızca ve yalnızca 34,213 bayt erişimi vardır.

Not: el ile MS-DOS 6.0 içinde bölgeleri programları yüklemek bellek yapılandırmaya çalışırken yerine, 6.2 ve 6.21 6.22 kullanıcılar MemMaker belleği en iyi duruma getirme programı çalıştırmanız önerilir. MemMaker çalıştırmak için memmaker MS-DOS komut istemi'ni yazın.

MS-DOS bellek MEM raporlarını yönetme

MS-DOS UMBs yönetiyor, (DOS UMB =), MEM /C veya MEM /D, UMA alt rapora içerir. MS-DOS tarafından yönetilen tüm alanları bu rapora "SYSTEM" olarak etiketlenir. UMB bilgilerini yazın mem /c | daha fazla MS-DOS komut isteminde. (Daha sonra bir defada bir ekran belleği raporu görüntülemek için mem /c /p yazabilirsiniz veya MS-DOS 6.0'i kullanıyorsanız unutmayın.)

MS-DOS the UMBs yönetme, MEM üzerinde UMA bildirmiyor. Diğer UMB yöneticileri genellikle yüksek olarak yükleniyor belirlemek için bazı araçlar vardır. UMB yöneticiniz Ayrıntılar için belgelere bakın.

MEM de (belirlenir <a0>kesme</a0> 15/VDisk üstbilgi arabirimini kullanarak), genişletilmiş bellek (XMS) 2.0 veya 3.0 arabirimi aracılığıyla bildirilen) XMS ve (EMS 3.2 veya 4.0 arabirimi aracılığıyla bildirilen) EMS kolaylık olması için hakkında bilgi içerir.

Genişletilmiş veya bellek genişletilmiş nasıl MS-DOS kullanır.

Genel kullanım için) veya uygulamaların yüklenmesi için bir bütün olarak genişletilmiş veya genişletilmiş belleği MS-DOS kullanmaz.

Ancak, bazı MS-DOS yardımcı programları ve sürücüleri genişletilmiş veya genişletilmiş bellek için veri alanları kullanın. Buna ek olarak, MS-DOS sürüm 5.0 ve sonraki sürümleri, çoğu MS-DOS çekirdek komut yorumlayıcısını, kod sayfaları (kullanılıyorsa) yükleyin ve arabellekleri, ilk 64 K'ın genişletilmiş bellek olduğu HMA, disk.

Anahatları hangi MS-DOS yardımcı programları, genişletilmiş bellek olmadan bir uzatılmış bellek sürücüsü kullanmak aşağıdaki tabloda bir XMS sürücüsü aracılığıyla bellek genişletilmiş ya da bir ıntel Microsoft Lotus (LIM) EMS sürücüsü aracılığıyla bellek genişletilmiş.

Bu yardımcı programları, geleneksel belleğe yükleyin, ancak nonconventional bellek veri alanları kullanın. Windows sürümleri, Microsoft Windows'un MS-DOS ile birlikte gelen birçok hizmet programları'nın farklı sürümleri de sevk etmek için bu tabloda dahil edilir. Microsoft, farklı ürünlerinin içerdiği bu sürücülerin sürüm karıştırmak önerir.
                               Non-XMS
                        Conv.  Extended   XMS      LIM 3.2/4.0 EMS
                        ------------------------------------------
 RAMDRIVE.SYS  3.3      Yes    Yes        No        Yes
 RAMDRIVE.SYS  4.x      Yes    Yes        No        Yes
 RAMDRIVE.SYS  Win30    Yes    No         Yes       Yes
 RAMDRIVE.SYS  5.x      Yes    No         Yes       Yes
 RAMDRIVE.SYS  Win31    Yes    No         Yes       Yes
 RAMDRIVE.SYS  6.0-6.22 Yes    No         Yes       Yes

 SMARTDRV.SYS  4.x      No     Yes        No        Yes
 SMARTDRV.SYS  Win30    No     No         Yes       Yes
 SMARTDRV.SYS  5.x      No     No         Yes       Yes
 SMARTDRV.EXE  All      No     No         Yes       No

 HIMEM.SYS (1) All      No     Yes        Provider  No

 EMM386.SYS(2) 4.x      No     Yes        No        Provider
 EMM386.SYS(3) Win30    No     No         Yes       Provider
 EMM386.EXE(3) All      No     No         Yes(4)    Provider

   (1) Uses extended memory to provide XMS memory
   (2) Uses extended memory to provide EMS memory
   (3) Uses XMS memory to emulate EMS memory
   (4) MS-DOS 5.0 and later EMM386.EXE can also be configured to
       provide UMBs according to the XMS. This causes EMM386.EXE
       to be a provider of the UMB portion of the XMS.
				
'De bir MS-DOS sürüm 4.x, /X</a0> anahtarı kullanarak disk arabellekleri içinde genişletilmiş bellek koyabilirsiniz; ancak bu, çıkabilecek sorunlar nedeniyle önerilmez. SMARTDRV çoğu aynı performans geliştirmeleri sağlar ve ARABELLEKLERI /X kullanılması tercih. /X ARABELLEKLERI, <a1>sorgu</a1> Microsoft Knowledge Base'de bulunan aşağıdaki sözcükler hakkında daha fazla bilgi için:
arabellekleri, ems ve /x
MS-DOS sürüm 5.0 ve sonraki disk arabellekleri EMS belleğe yükleme desteklenmiyor. Bu sürümler, MS-DOS Çekirdek yükleme desteği ve varsa, disketi arabellekleri HMA içine room. MS-DOS the HMA XMS Protokolü erişir.

Kullanılabilir başvurular

Resmi LIM EMS belirtimi, "Lotus/ıntel/Microsoft Expanded bellek Specification Version 4.0" (800) 538-3373 ça??rarak ıntel kullanılabilir.

Ücretsiz Microsoft resmi XMS belirtimi, "Genişletilmiş bellek belirtimi sürüm 3.0," kullanılabilir. Belirtim elde etmek için <a0></a0>, aşağıdaki "Yönergeleri için yükleme" bölümüne bakın.

Resmi MS-DOS program arabirimi belgelerine, "Microsoft MS-DOS Programmer's Reference" Microsoft Press (tarafından [800] çağrılıyor 677-7377) veya uluslararası ile penguen defterleri kullanılabilir.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft MS-DOS 3.1
  • Microsoft MS-DOS 3.2 Standard Edition
  • Microsoft MS-DOS 3.21 Standard Edition
  • Microsoft MS-DOS 3.3 Standard Edition
  • Microsoft MS-DOS 3.3a
  • Microsoft MS-DOS 4.0 Standard Edition
  • Microsoft MS-DOS 4.01 Standard Edition
  • Microsoft MS-DOS 5.0 Standard Edition
  • Microsoft MS-DOS 0.12acres
  • Microsoft MS-DOS 6.0 Standard Edition
  • Microsoft MS-DOS 6.2 Standard Edition
  • Microsoft MS-DOS 6.21 Standard Edition
  • Microsoft MS-DOS 6.22 Standard Edition
Anahtar Kelimeler: 
kbmt kbfile KB95555 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:95555  (http://support.microsoft.com/kb/95555/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.