Privacy Policy Cookie Policy Terms and Conditions XMS - Wikipedia

XMS

出典: フリー百科事典『ウィキペディア(Wikipedia)』

XMS(eXtended Memory Specification)は、MS-DOS上でのメモリ拡張規格のひとつ。MS-DOS バージョン5.0以降から公式にサポートされた(ただし、Windows/286と3.0で既にサポートされている)。
なお、フリーウェアやサードパーティ製のドライバを使用することで、それ以前のバージョンでも使用可能であった。

目次

[編集] 基本概念

  • 100000h~10FFEFhを使用するHMA(High Memory Area)
  • 10FFF0h以降のメモリの内容を、ドライバの助けを借りてメインメモリ間とブロック転送するEMB(eXtended Memory Block)
  • BIOSVRAM等が用いるA0000h~FFFFFhの、空き領域にRAMを出現させるUMB (Upper Memory Blocks)

の3規格からなる。

XMSは、これら3規格の総称であるが、"XMSメモリを使うプログラム"などといった文脈で使う場合は、EMBを指す場合も多い。 ただし、XMS ver.1はHMAの規格であり、 ver.2でEMB,UMBが追加され、 ver.3でEMBが64MB以上のメモリに対応し、UMBも1個機能が追加された。

[編集] HMA

8086では、セグメントレジスタ・オフセットレジスタという2つの16bitレジスタを用いてメモリ管理を行っている。(これは8080等との互換性を考慮した結果の設計である)MS-DOSにおけるメモリ管理も、このセグメント単位で行っている。
参照する実メモリはセグメント×10h + オフセットとなる。

上記の理由から、286以降のCPUを使用しているコンピュータで、20bit以上のアドレスバスを有効にした後(8086との互換性のため、起動直後は電気的に無効になっている)、セグメントレジスタにFFFFhを指定すると、アクセスする実アドレスはFFFF0h~10FFEFhとなる。(これは80286のバグであったが、有効利用できるので残された。)

すなわち、セグメント+レジスタという8086・MS-DOSのメモリ管理の枠内で、64KBytes弱のメモリが余分に扱えることになる。この領域をHMAと呼ぶ。

アドレスバスが24bit以上の、80286以降のCPUと1MBytes超のメモリが必要である。

基本的には排他的な利用となり、Windows/286(日本ではWindows 2.1x)かMS-DOS 5.0以降が占有する。DOS5.0以降に関してはDOSカーネル、ディスクバッファ、また一部のユーティリティ(display.sysなど)で利用する。

[編集] EMB

10FFF0h以降のメモリの内容を、ドライバの助けを借りてメインメモリ間とブロック転送する。また、このドライバをXMSマネージャ、XMSドライバ等と呼ぶ。
EMSと異なり、任意の場所に、任意のサイズで転送を行える。
アドレスバスが24bit以上の、80286以降のCPUと1MBytes超のメモリが必要である。

[編集] UMB

BIOS・VRAM等が用いる、A0000h~FFFFFh(PC/ATや、PC-98ノーマルモードの場合)の空き領域にRAMを割り当てて利用するもの。
この空間は1MBytes以内に収まっているため、MS-DOSのメモリ管理の枠内であり、デバイスドライバの読込用等に使用できる。
実装にはチップセットや専用のRAMボードの機能を使ってハードウェア的にRAMを出現させるものと、80386以降の仮想86モードを使って、仮想メモリマネージャ(EMM386.EXE等)がメモリを割り当てるものがある。前者はCPUが80386以降である必要性は無い(但し、XMSが80286以降を前提とする)。

[編集] よく使われたドライバ

[編集] 関連項目

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu