XMS (eXtended Memory Specification) MSDOS時代の1M超のメモリーを使用 
 するための流儀の一つ。 
  
 MSDOSは基本的に640KBまでのメモリで動作するOSである。MSDOSがベース 
 としているインテルの8086は実際には00000-FFFFFまでの1MBまでのメモリ 
 ーを管理できるのだが、通常00000-9FFFFまでの640KB(Conventional Memory) 
 をソフトウェアに公開し、その上の A0000-FFFFFの384KB(Upper Memory) 
 は、そのアドレスを周辺機器とのインターフェイス用に使用していた。但し 
 一部のマシンでは 00000-BFFFFまでの768KBをConventional Memoryとする 
 ものもあったが、これは例外的なものである。 
  
 パソコンの世界では1986年頃からCPUに8086の上位CPUである80286が使用さ 
 れるようになった。80286は16MBまでのメモリーを管理できるのだが、MSDOS 
 側がこれにネイティブには対応できない。そこでOSを騙しながら1MBより上の 
 メモリー(拡張メモリー)を使おうという仕組みが作られた。その第一世代 
 の規格がLotus,Intel,Microsoftの3社が共同で策定したEMS(Expanded  
 Memory Specification)でありEMSではプログラムが使用するデータを1MB超 
 の空間に置くことができる。しかしそれだけではこの大きな空間を有効に 
 使うのは難しい。そこで第二世代の規格として上記3社に更にAST-Research 
 が加わって、新しい規格XMS(Extended Memory Specification)を制定した。 
  
 XMSではプログラム自体もこの空間に置くことができるようになった。そして 
 EMS対応のプログラムのために、XMSの配下でEMSをシミュレートする仕組み 
 も提供された。XMSでは80386の元では64MBまでのメモリーを制御することが 
 可能である。 
  
 XMSでは拡張メモリーを 100000-10FFEF の間のHMA(High Memory Area)と 
 10FFF0より上のEMB(Extended Memory Block)に分ける。なぜこんな変な所 
 に境界線を引き、しかもほんのわずかの量しかないHMA を特別視するのかと 
 いうとそれは8086の特殊なメモリアドレス指定法の問題がある。 
  
 8086は20ビットのアドレスレジスタを持っていて00000-FFFFFのアドレスに 
 対応しているわけだが、実際にはそれ以前の8ビットCPUである8080(アド 
 レスレジスタ=16bit)のメモリーアドレスの指定法との互換性を保つため、 
 プログラム上でアドレスを指定する時はレジスタは 8080と同じ16bitで指定 
 するようになっている。そして別途「ベースレジスタ」というもので「セグ 
 メント」のベースを指定するようになっているのである。ここで例えば 
   DS = 1111h, SI=2222h であれば 
 実際に指定されるアドレスは DS を 4 bit ずらして重ね合わせ 
   11110 + 2222 = 13332h 番地を指している。 
 こういう状態を8086では DS:SI = 1111:2222 のように表現する。 
 しかし例えば、DS:SI=1333:0002 もおなじ 13332番地を表している訳で 
 この付近が8086上でCでプログラムを作る人たちを大いに悩ませたのである。 
  
 さて、こういうメモリ指定の仕様のもとで8086が管理できる一番大きな番地 
 FFFFF を指定するにはどうすればよいであろうか? 
  
 それには例えば DS:SI = FFFF:000F のように指定すればよい。むろん 
 DS:SI=F000:FFFF でもよい。それでは FFFF:FFFF は何を表すだろうか? 
  
 これはFFFF0+FFFF = 10FFEF になるのである。つまり8086は本当はFFFFF 
 までではなく、10FFEF までのメモリーを管理できたのである。 
  
 実際には8086ではFFFFFより上のメモリが論理的に存在しないため、この 
 アドレスにアクセスすることはできないが、80286の場合はレジスタの設定 
 により21ビット目のアドレス線「Bus No.20」を開けることでアクセスでき 
 るようになる。そこで、XMSでは、この100000-10FFEF の間に置くプログ 
 ラムに関しては、プログラム側が本来XMSに対応するように考慮していなく 
 ても、概してちゃんと動いてくれることが多いのである。 
  
 そこでXMSではこのわずか64KB弱の領域が非常に重要なエリアとして扱われ 
 たのであった。 
  
 なおXMSはそれより上の10FFF0以上の領域についてはConventional Memory 
 と同様にメモリを確保したり解放したり、メモリ転送したりすることができ 
 るようになっていた。 

XNS (eXtensible Name Service) OneName社が特許を持つネーミング・アド  レス処理のプラットフォーム。この技術を使うと、たとえば特定のXML文書  に署名した人が転職しても、それにあわせて自動的にダイナミックに自分が  署名したXMLが変更できるようになるという。
XNS (Xerox Network Services) 1970年代にXEROXで開発された  ネットワークシステム。Ethernetを利用しており、その後のTCP/IPや  Netwareなどの設計に影響を与えたといわれる。
xntp UNIX用のNTPサーバー/クライアントソフト。
XO (eXtra Old) 貯蔵年数が50年以上のブランデー。  →VSOP
X-on/X-off 無手順のデータ通信における、フロー制御の方法のひとつ。  受信側がデータ受信可能な時は送信側にXon符号(0x11)を送り、  受信バッファがあふれそうになった時にはXoff符号(0x13)を送って  一時的に送信を止めるように要求するもの。    基本的には画像やプログラムなどのバイナリーデータを含まない、  テキスト形式のデータの送受信の制御に使用される方法であるが  まんいち送受信データの中に 0x11 や 0x13 が含まれる場合には  エスケープして対応することになっている。但しこのエスケープを  うまく処理してくれない機器もしばしばある。また外国製の機器では  Xon/Xoff方式に設定している時に日本語を含むデータを送信すると  トラブルが起きる機器(0x91,0x93にまで反応してしまう -_-;)も  しばしばある。  X-on/X-offはどちらかというと古いタイプの制御方式であり、現在では  普通は DTR信号線(→RS232Cの信号線)のon/off で受信可能かどうか  を送信側に伝える方式が主流である。X-on/X-off を使う方法を  ソフトフロー、DTRを使う方式をハードフローという。
X/Open オープンシステムの基盤作りを目指して1984年に設立された団体。  ここが発表するUNIXの標準化ガイドがXPGである。  1996年にOSFと合併してThe Open Groupとなった。    →UNIX
XOR (eXclusive OR) 排他的論理和。論理演算の一種。2値のブール代数  の場合は下記の表のような結果になる。     \ 0 1   0 0 1   1 1 0  一般にデータを暗号化するために「マスク」を掛けるために使用される。  また加算回路の1桁目の値をとるのに論理回路上で使用される。