Komut: himemsx
HIMEMSX, HIMEMX'in çatallamasıdır. Esas
özelliği 4 GB'tan fazla belleği yönetebilmesidir. Bu belgede 4 GB
sınırının ötesindeki bellek "süper genişletilmiş" olarak
isimlendirilecektir.
4 GB sınırının altındaki genişletilmiş belleğe erişmek için HIMEMSX,
diğer XMM programlarının çoğunluğu gibi "unreal" yani gerçek dışı olarak
adlandırılan bir kip kullanır.
4 GB sınırının ötesindeki belleğe sadece özel sayfalama mekanizmalarıyla
erişilebilir. HIMEMSX, PSE-36 varyantını kullanır. PSE, Page Size
Extension yani Sayfa Boyut Uzantısı anlamına gelir, 36 ise orijinal
36 bit adres genişletmeye (64 GB) atıf yapar ki bu daha sonradan 40 bit
olarak genişletilmiştir (1 TB).
XMS API'sının genişletilmesi gerekir. Ayrıntılar için See XMS35.txt
dosyasına bakın. v86 kipinde XMM, bellek erişimi için imtiyazlı kodu
çalıştıramadığından genişletilmiş belleğe erişim için v86 monitör
programından desteğe ihtiyaç duyar. Güncel olarak sadece JEMM386
bu desteği sunmaktadır.
Söz dizimi:
HIMEMXS, CONFIG.SYS / FDCONFIG.SYS dosyasında yüklenmesi icap eden
bir cihaz sürücüsüdür.
DEVICE=HIMEMSX.EXE [seçenekler] satırını XMS kullanan sürücülerden önce
yerleştirin!
Seçenekler: /MAX=### /METHOD:xxx /HMAMIN=n /NUMHANDLES=m /V /X2MAX32
/SUPERMAX=###
Seçenekler:
/MAX=### XMM tarafından kontrol edilen belleği ###K'ya sınırla.
HMA bu değerden etkilenmez, daima dahil edilir.
/METHOD:xxx A20 yönetimi için kullanılacak yönetimi belirtir.
xxx için mümkün değerler:
ALWAYSON A20 hattının daima AÇIK (ON) olduğunu varsay
BIOS A20 hattını değiştirmek için BIOS kullan
FAST Port 92h kullan, INT 15h testini atla
PS2 Port 92h kullan, PS/2 testini atla
KBC Klavye kontrolcüsünü kullan
PORT92 Daima port 92h kullan
/HMAMIN=n HMA erişimi kazanmak için bir programın talep etmesi
gereken asgari HMA kilobayt sayısı (varsayılan: 0 Kb)
/NUMHANDLES=m XMS tutamaç sayısını ayarla (varsayılan: 48, asgari: 8,
azami: 128).
/SUPERMAX=### XMM tarafından kontrol edilen süper
genişletilmiş belleği ###K olarak sınırla.
/V Ek bilgi verir.
/X2MAX32 XMS 2.0 boş/mevcut bellek raporunu 32M-1K olarak sınırla.
Açıklamalar:
Kısıtlamalar:
- XMS API'sı tarafından yönetilebilen azami bellek miktarı 4 TB'dir (42
fizikî adres hattı). Ancak HimemSX güncel olarak blok taşıma işlevi
içinde PSE-36 ile 32 bit sayfalama kullandığından dolayı etkin sınır
1 TB değeridir (40 adres hattı).
- 'move extended memory' yani 'genişletilmiş belleği taşı' işlevi 0Bh
sadece 32 bit ofsetleri anlar. Dolayısıyla bir bellek bloğu 4 GB'den
büyükse, belleği 4 GB'lik bir ofsetin ötesine kopyalamak için bu
işlevi kullanamazsınız.
- hiçbir süper genişletilmiş bellek bulunamazsa veya yonga PSE-36
sayfalamayı desteklemiyorsa, HimemSX yine de yüklenecek ve 3. sürüm
bir XMM olarak işleyecektir. Ancak genişletilmiş belleği sadece
INt 15h, ax=e820h ile arar, bu çağrı başarısız olursa daha eski
tespit stratejilerine dönmeye çalışmaz.
Daha fazla bilgi için şuraya bakın:
https://github.com/Baron-von-Riedesel/HimemSX/blob/master/Readme.txt
VEYA:
https://gitlab.com/FreeDOS/drivers/himemsx/-/tree/main/DOC/HIMEMSX
Örnekler:
Yukarıdaki Açıklamalar bölümündeki bağlantılara bakın.
Ayrıca bakınız:
config.sys/fdconfig.sys
devload
(fdxms)
(fdxms286)
himemx
jemm386
jemmex
xmgr
FD Himem'in telif hakkı Till Gerken ve Tom Ehlert'e aittir, GPL ve/veya
Artistic lisans kapsamında yayınlanmıştır.
Bu dosya FreeDOS Spec Command HOWTO'dan türetilmiştir.
Kopyalama şartları için H2Cpying dosyasına bakın.