セスて、きる従来のメモリ ) を先に , ついて、ア ドレス IM バイト以上のプロテクトメモリを 後に行う。物理的にアドレスが離れたメモ リを確保するわけだが , 80386 のページング の機能を使って , ネイテイププログラム用 のメモリ空間が連続した論理アドレスにな るようにセットアップしている。特に指定 がない場合 , IM バイト以下のメモリはすべ て DOS ェクステンダが確保してしまうが , ネイテイププログラムから子プロセスを起 動する必要がある場合などは , プログラムの リンク時か run386 の実行時にオプションて、 確保するメモリの量を減らすことがて、きる。 アドレス IM バイト以上のプロテクトメモ リに関して , PC ー 9801 版 386 ー DOS-Exten der は , MS-DOS Ver. 3.3 付属の RAMDIS K. SYS,EMSDRIVE. SYS と共存て、きる。 PC ー 9801 はプート時に , 実装されているプロ テクトメモリの容量をシステムワークエリ アにセットする。そして RAMDISK. SYS, EMSDRIVE. SYS は , プロテクトメモリを ある。 確保するとき , そのワークエリアを参照し メモリマップ 386 ー DOS-Extender て、は , ネイテイププ プロテクトメモリの容量を求め , アドレス ログラムを特権レベル 0 ( 最高位 ) て、動かすた が大きいほうから自分の必要なメモリを確 め , CPU の命令はすべて実行可能て、あり , 386 ー DOS-Extender のネイテイププログ 保し , 元の容量から確保した容量を差し引 システムのどの資源にも自由にアクセスて、 ラム用メモリのアロケートは , アドレス IM いた残り容量をワークメモリに書き戻すよ きる。必要とあれば I / O ポートの読み書きも バイト以下のメモリ ( リアルモードからアク うになっている。 386 ー DOS-Extender もそ て、きるし , どのメモリにも自由にアクセス [ 表 1 ] て、きる。プログラムの書き方は , リアルモ セレクタ 内容 セレクタ 内容 ードのときとあまり変わらない ネイテイププログラムの実行は , run386 0004 MS ー DOS の PSP を指す書き込み可能セ 0028 LDT システムセグメント。このセグメン というプログラムを介して行う。 run386 は グメント トが LDTR にセットされる プログラムを指す読み出し可能なコード 000C 0030 LDT にマッビングされている書き込み可 386 ー DOS-Extender の本体て、 , これにネイ セグメント 能セグメント。 LDT のディスクリプタ変 テイププログラム名 , および渡すアーギュ 0014 プログラムを指す書き込み可能なデータ 更用 メントを指定することて , そのネイテイプ セグメント GDT にマッピングされている書き込み可 0038 001 C テキスト VRAM を指す書き込み可能な 能セグメント。 GDT 内のディスクリプタ プログラムを , 与えたアーギュメントて、実 テータセグメント 変更用 行してくれる。たとえば , 0024 004 と同一 0040 物理アドレスと同一のオフセットをもつ run386 bigfast resultl. out MS ー DOS の環境プロックを指す書き込 002C 書き込み可能セグメント。システムペー み可能セグメント ジテープル管理用 のように MS ー DOS から打ち込むと , リアルモードメモリ ( 最初の IM バイト ) 0034 IDT ( インタラブトディスクリプタテープ 0050 BIGFAST. EXP というネイテイププログラ にマッピングされている書き込み可能セ ル ) にマッピグされている書き込み可能セ ム ( 38 引 DOS-Extender< は , ネイテイププ グメント グメント 0044 グラフィック VRAM を指す書き込み可 0060 リアルモードメモリ ( 最初の IM バイト ) ログラムにツ EXP" という拡張子がついて 能なデータセグメント にマッビングされている書き込み可能セ いている ) を resultl. out というアーギュメ グメント ントて実行させることになる。 60 CMAGAZINE 1989 12 Fig. 6 DOS 工クステンダ プロテクトモード ネイテイププログラム ールの呼び出し システムコ 内部バッファ アドレス変換 DOS 工クステンダ リア丿レモード MS—DOS LDT GDT
トなのて、 , 論理記憶空間全体は 16K 個 x4G バイトて、 64T バイトということになる。 ところて、セグメント方式て、は , ひとつの セグメントは物理メモリ上て、連続している ことが必要て、ある。そのため , システムが 長時間稼動してプロセスの生成 / 消滅が繰り 返されるとメモリが断片化し , セグメント の再配置が必然的に必要になる。再配置は 通常多量のメモリ転送を伴い , システムの オーバーヘッドになる。セグメントの再配 置を不要にしようというのがページング方 式のアイデアて、ある。 ページング方式て、は , メモリ空間をプロ ック ( 80386 て、は 4K バイト ) に分け , プロック ごとに自由に物理アドレスと論理アドレス の対応がとれるようにする。それにより , 論理アドレスて、連続した領域が物理アドレ Fig. 4 80386 の仮想記憶管理機構 仮想アドレス 46 ビット ス上て、も連続している必要はなくなり , メ モリの断片化やセグメントの再配置などの 間題は考えなくてよくなる。 物理アドレスと論理アドレスの対応表は , ページディレクトリとペーシテープルとい う領域に収められ , 通常 OS が管理する。 OS が , あまりアクセスされていないページを 補助記憶 ( ハードディスクなど ) におけるよ うにすると , 4M バイトのメモリしかないマ シンて、 16M バイトの作業域を必要とするプ ログラムを実行することもて、きるにの場 合 , 補助記憶上には 16M バイトの領域が必 要て、ある ) 。ワークステーションなどて、よく いう仮想記憶は , このページング方式を指 すことがほとんどて、ある。 80386 て、は , セグメント方式 , ページング 14 ビット セグメントレジスタ ディスクリプタ テープル 32 ビット オフセット 22 21 ページディレクトリべージテープルページ内オフセット 方式を両方使った仮想記憶管理がて、きる。 まずセグメント方式て、論理アドレスを 32 ビ ットのリニアアドレスに変換し , その後べ ージング方式を用いて物理アドレスに変換 する。ページング方式は , コントロールレ ジスタ ( CRO ) のページングビットをリセット しておけば使わないこともて、きる。また , システムのすべてのメモリを含むようなセ グメントをひとつつくっておけば , セグメ ント方式を無視することもて、きる。このよ うに 80386 て、は , 非常に柔軟に仮想記憶の管 理方式を選べるのて、ある ( Fig. 4 参照 ) 。 次に , 80386 のメモリ管理のもうひとつの 特長て、ある , リング状 4 レベルのメモリ保護 の機能について説明しておこう。 80386 は 4 つの特権レベル , レベル 0 ( 最高 0 メモリ 0 プロック 58 0 ページディレクトリ べースアドレス CMAGAZINE 1989 12 - ー - ーー・べージング機構 セグメント機構ーーーー 0 べージディレクトリ ページテープル - ー -- ーーハードウェア
I ~ 0 F.: M A T 1 0 N や・ 0 0 属のソフトウェア「 MELWARE 」をバージョ ラップトップ用 ンアップした。 バックアップ機能付き増設 EMJmkII シリーズは IM から 16M バイト RAM7fi—ド まて、 7 バリエーション , また工クステンショ ンポードも IM から 4M バイトまて、用意され , ・アイ・オー・データ スロットを使わずオンポードて、メモリの増 アイ・オー・データは NEC ラップトップ 設がて、きる。 EMS メモリ , プロテクトメモ PC-9801LV/LX/LS 用の EMS 準拠 RAM;ix• リ , バンク切替メモリ等を本体メモリに増 設てきる。また , ハイレゾリューションモ ード「 PIO ー 9834SL 」を開発した。 △カード型ハードディスク「凵 HC ー 40 」 本製品はラップトップパソコンの可能性 ードにも対応した。 LIHC-40 は , PC ー 9801 シリーズの拡張ス と高度な処理能力をひきだし , 高性能ラッ MELWARE Ver. 4.0 は , マルチメモリ・ プトップパソコンをさらに高度活用 ( 拡張 ) ロットに装着して使用するハードディスク マネージメント機能を搭載 , EMS メモリ , するためのメモリバックアップ機能つき拡 装置。コンピュータの拡張カード 1 枚分のス プロテクトメモリ , バンクメモリ , 本体メ リムタイプて、 , 40M バイトの大容量が使い 張 RAM*—ド。 CMOS256Kt•ット・スタテ モリを統括的に管理する。また , 仮想 86 モ ィック RAM を採用 , プログラムやデータを こなせる。また , 貴重なデータを守るライ ードをサポート , 80386 / 80386SX プロテクト 累計 3 ~ 6 年間バックアップ。また , 電池電 トプロテクト機能などプロ仕様の機能を搭 メモリ、がバーチャル EMS メモリとして使用 圧のチェック機能を内蔵しているのて、 , 電 載している。 可能になるなど機能が大幅にアップ。 池交換も安心。さらに , データ記憶用 RAM そのほかのおもな特長は以下のとおり。 製品名ーー価格 ードディスク本体を拡張スロットに差 とは別に , IPL ( イニシャル・プログラム・ EMJ-1000mkII ( IM バイト ) 37 , 800 円 し込み , 電源ユニットに DIN ケープルて、接 ロード ) 専用 RAM ( 16K バイト ) を内蔵してい EMJ-2000mkII ( 2M バイト ) 64 , 800 円 るため , RAM ポードからの立ち上げが可 続するだけ装着て、きる。 EMJ-4000mkII ( 4M バイト ) 120 , 000 円 ・電源ユニットのライトプロテクトボタン EMJ-6000mk Ⅱ ( 6M バイト ) 175 , 000 円 またハードウェア的なプロテクション機 を入れれば , ハードディスクの書き込みを EMJ-8000mkII ( 8M バイト ) 230 , 000 円 能を確保。停電時にも , 記憶データ保護回 禁止て、き , 貴重なデータを安全に取り扱う EMJ-12MmkII ( 12M バイト ) 340 , 000 円 路が作動し , データが守られる。 EMJ-16MmkII ( 16M バイト ) 450 , 000 円 ことがて、きる。 ・コンピュータ本体からの通電を察知して , 製品名・一一価格 問い合せ先 . メルコ PIO-9834SL-IM ( IM バイト ) 9 万円 〒 460 愛知県名古屋市中区大須 4 ー 11 ー 50 自動的に電源が入る。 PIO-9834SL-2M ( 2M バイト ) 16.5 万円 製品名 : スリムパックシリーズ LIHC ー 40 カミャビル TEL 052 ー 251 ー 8365 問い合せ先 . アイ・オー・データ 価格 . 12.8 万円 ポータブル WS 〒 920 石川県金沢市駅西本町 1 ー 5 ー 41 問い合せ先 . ランドコンビュータ 「 5499 オンライン・ノート」 TEL 0762 ー 21 ー 4812 FAX 0762 ー 24 ー 9300 〒 532 大阪府大阪市淀川区西中島 7 ー 4 17 ・日本旧 M 新大阪上野東洋ビル TEL 06 ー 304 ー 8743 カード型の 日本 IBM は A4 判ノートサイズ , 2 キロと小 ハードティスク「 L 旧 C -40 」 EMS7fi—ド 型・軽量のパソコン「 5499 オンライン・ノー ・ランドコンピュータ 「 EMJmkII シリーズ」 ト」を発表した。 ・メルコ 5499 は AS / 400 や PS / 55 との通信機能を重 ランドコンヒ。ュータから , カード型ハー メルコは多機能 EMS ポード「 EMJmk Ⅱシ 視して開発されたポータブル WS て、 , CPU は ドディスクュニット「スリムパックシリーズ リーズ」の発売を開始した。また同時に , 付 80C186 ( 8MHz ) , メモリ 640K バイトを搭 LIHC ー 40 」が発売された。 Ⅷ川 18 CMAGAZINE 1989 12
KJ トの壁を越える 最新 m 25 考察 38 9PU と DOS 工クステンタ MS-DOS は , すでに EMS 機能を用いて しては XMS , サードメーカーのアプリケー ユーサーズメモリの拡張を行っている。 386 ションとしては DOS 工クステンダがそれだ。 マシンの時代を迎えつつある今 , 386CPlJ の どちらも 386CPU の仮想 86 モードを使用す 機能を使うことによって , さらなるメモリ ることは同じである。ここでは , 工クステ 拡張か施されつつある。 DOS 自身の機能と ンダを取り上げてみた。 石田秋也 べく CPU にやってもらいたいものて、ある。 CPU の能力をフルに使うということは , 上述のメモリ空間の話だけて、はない。 CPU MS ー DOS の管理て、きる資源の容量は , 8086 現在 , CPU に 8086 の上位 CPU て、ある 80286 が 80386 ならば , それが 32 ビットアーキテク の容量に抑えられている。たとえばユーザ や 80386 を搭載した MS-DOS マシンが一般的 チャの CPU て、あることもみのがせない。 80386 ーズメモリ空間は , 8086 の限界から IM バイ になりつつある。 80286 や 80386 は , さまざ は内部の汎用レジスタがすべて 32 ビットに ト未満 ( 通常 640K , 多いマシンて、もせいぜい まな点て、 8086 から拡張されている CPU て、あ なっており , 32 ビット長の演算を 1 命令て、こ 768K ) という具合て、ある。これはマシンの CPU る。 MS-DOS は , いうまて、もないことだ なす実力をもっている。 AX と DX レジスタ に 80286 を使おうと 80386 を使おうと変わら が , 8086 用につくられたオペレーティング を組み合わせて 32 ビットの演算をしなけれ システム (OS)<, 80286 / 386 の機能をフルに ばならなかった 8086 や 80286 とパワーがぜん ところて、 , ソフトウェアが複雑化して巨 使えるわけてはない ぜん違うのて、ある。さらに 80386 には , 8086 大化している今日 , IM バイト未満のユーザ て、は 80286 / 386 を使った MS-DOS マシンに や 80286 につきものて、あった、、 64K セグメン 空間はいささか手狭になっている。本来 , 何のメリットがあるかというと , 実行速度 トの壁〃がない。 32 ビット化されたことて、 , が速いということて、ある。つまり , 80286 / 80286 は 16M , 80386 は 4G という広大な物理 セグメントの最大サイズは 4G バイトまて、拡 アドレス空間をもっているのて、 , それが目 386 は内部構造の改良などにより , 同じクロ 大された。 4G バイトといえば , ほとんど無 ック周波数ても , 同じプログラムを 8086 の いつばい活用て、きれば問題はないのだが , 限とも思える大きさて、ある。このように 80386 2 倍ぐらいの速度て、動かせるのて、ある。ま MS-DOS て、はまったく利用て、きない。 は 8086 / 80286 に比べると , 非常に高い能力 「 EMS などの拡張メモリを使ってしのげば た , CPU のクロック自体が速くなっている をもっている。実際 , これまて、ワークステ のも見逃せない。現状て、は 80286 / 386 は高速 よい」という人がいるかもしれないが , あ ニコンクラスのコンピュータ ション , な 8 086 としてしか用いられていないのが普 の手の拡張メモリはユーザプログラムに複 て、しか動かなかったサイズのプログラムも , 通て、ある。 雑なメモリ管理の手間を強いることになる 80386 上なら難なく動かすことがて、きるのて のが普通て、ある。 CPU が広大なメモリ空間 ある。 さて , MS ー DOS が 8086 をベースに設計さ にアクセスする機能を本質的にもっている れたことは前述したとおりだが , なら , そのような複雑なメモリ管理はなる このため 54 CMAGAZINE 1989 12 〇はじめに
新しい機能について こては , 4.0 として新たに追加された機 能を中心にみることにする。基本的な仕様 については , かなりの部分て、マニュアルを 参照させてもらった。不明確なところは実 際に IBM 55 シリーズのマシンを使用して確 かめた。 ビジュアルシェル機能の追加 マニュアルの表記に従えば , DOSSHELL と呼んて、いるものて、ある。これは , COM MAND.COM とは別に SHELLB.COM と SHELLC. EXE の新たなふたつの実行ファイ ルよって走らせることがて、きる。実際の起 動については , このほかに DOSSHELL. BAT ファイルが提供されているのて、 , このファ イルを使用すると基本オプションて、立ち上 げることがて、きる。この機能のなかには , よく使用されるコマンドが視聴覚に訴えか けるように構成されている。また , ウイン ドウ画面は画面分割もて、きるのて、簡単な操 作なら便利に使える。しかもこのシェルは , 細かなところて、簡易言語的にプログラミン グがて、きるようになっている。 MEM . EXE メモリについてその使用量と空きを中心 に表示を行ってくれる。 A 〉 MEM 655360 bytes total memory / * メモリの総バイト * / 654336 bytes available memory / * 利用可能メモリ数 * / 552640 largest executable program size / * 最大実行可能プログラムサイ ズ * / 3407872 bytes total extended mem- ory / * 拡張メモリの総バイト数 * / 3407872 bytes available extended memory / * 利用可能拡張メモリの バイト数 * / MA2EMS. SYS EMS4.0 の機能を使うためにサポートされ たデバイスドライバて、ある。登録は , 通常 のドライバと同じように扱えばよい XMAEM . SYS 機能の拡張について ション /X も追加された。 また , 拡張メモリを使用させるオプ よく使われるデータのときはかなり効率が ータが読み書きされるごとに更新されるが , 加された。キャッシュはディスクにあるデ 確保するが , 今回キャッシュバッフアが追 立ち上げ時にバッフアの容量をメモリに BUFFERS るようになった。 マットを行ってからバックアップが行われ ットされていないときは , 自動的にフォー ノヾックアップ先のフロッピーがフォーマ BACKUP.COM りムダな操作を避けることがて、きる。 視することがて、きるようになる。これによ よって , APPPEND コマンドのサーチを無 プションが追加された。このオプションに にサーチパスを設定する。今回新たに / X オ イル .COM/ . EXE, . BAT ーーーを探すの カレントディレクトリ以外のデータファ APPEND. EXE ーボ、一ド関数の使用を行わないようにする。 クリーンの桁数を保持している。 / K は拡張キ 登録て、きる。 / L は MODE コマンドを通してス と / L , / K て、ある。 / X は異なるキーを別の値て、 は新たに 3 つのオプションが追加された。 / X 作 , そしてカラー属性の表示て、ある。今回 キーポードキーの再設定とカーソルの操 ボ、一ドキー関連の再配置を行う。 このドライパソフトは , 次のようなキー ANSI. SYS したものを中心に説明する。 が , 次に従来からあった機能をさらに強化 上記の説明は , 新機能についてて、あった ダブタをエミュレートする。 IBM が販売している PS / 2 の拡張メモリア 最新 0 ①。。 m 25 考察 第一特集最新 MS - DOS 考察 39 いが , 「英語以外の国の言語を使う」最初の る。少なくとも日本語対応とまて、はいかな ドベージの参照て、行うようにするものてあ クプレイアダブタを使って文字表示をコー これは , グラフィックモード時にディス GRAFTABL. COM うになった。 ポリュームシリアルナンバの表示も行うよ の指定を行う / F オプションが追加された。 オプションの追加と , フォーマットサイズ フォーマット時にラベルが登録てきる / V FORMAT . COM ードディスク専用のユーティリティてある。 にいくつかの表示を行うようになった。ハ ドディスクのノヾティションについて , さら 版にしかサポートされていない。今回ハー 表示させる機能をもっている。これは IBM このコマンドはハードディスクの状態を FDISK. COM った 使用するかどうかのオプションが追加にな ということて、ある。今回は , 拡張メモリを うにすると , ファイルの I / O がより速くなる 関する情報をメモリ上に確保する。このよ ディレクトリやオープンしたファイルに FASTOPEN . EXE 替えるドライパソフトて、ある。 替え , そして IBM PC から LCD 表示に切り EGAi•イスプレイのコードベージを切り DISPLAY. SYS ばよい ージごとに対話的に YES / NO を答えていけ せるオプションが追加された。このメッセ 削除ファイルの確認メッセージを表示さ DEL た。日本 , 韓国 , 中国 , 台湾の 4 って、ある。 COUNTRY に次の国が新たに追加され COUNTRY. SYS て作成される ID て、ある。 くなった。シリアルナンバーは DOS によっ ムはディレクトリエントリには登録されな せることがて、きるようになった。ポリュー ポリュームとシリアルナンバーを表示さ CHKDSK. COM
って , そこて管理するようになってきまし た。 IBM というのは , このアーキテクチャ というのをずっと重視して製品をつくって きているのて、す。 DOS は , これまて、野放しに近い状態にあ りましたが , それを今度は研究所がアーキ テクチャというものを維持していくという 体制に変えているのて、す。そのアーキテク チャというものをつくったうえて、 , 日本語 のモード , 英語のモードというものがその うえに載っているというかたちに変わって きているのて、す。だから , 一見これまて、の DOS が動いている。それから PS/2 の DOS が 動いている。だからといって , ただ足した だけだと思うと , 間違いて、す。 ているわけて、す。 めにかなり前からいろいろな準備をしてき 動いていますが , この状態にもってくるた いました。このバンクメモリは Ver. 4.0 て、も というかたちて、拡張メモリをサポートして つくりましたが , これまてはバンクメモリ たとえば今回 , EMS という拡張メモリを 見失う可能性あります。 日本語の Ver. 4.0 だけから考えると , 全体を の DOS Ver. 4.0 が存在している。だから , があって , そのウインドウを通して日本語 いる。大きいシステムのなかにウインドウ その部分が日本語バージョンとしてみえて まな要求をまとめたかたちになっていて , のは , 日本語だけてなく , 世界中のさまざ 今申し上げているアーキテクチャという うになったわけて、す。 デュアルなモードをもった DOS を出せるよ EMS て、あり , バンクメモリて、あるような , きて , さあこれて大丈夫だという時点て、 , を使うように , 順番に変更して , 拡張して まずそのアーキテクチャ上て、バンクメモリ があるわけて、す。そのアプリケーションが グラムとか , いろいろなアプリケーション API をディファインして , 3270 とか文書プロ て , そのアーキテクチャに合わせるための そのアーキテクチャというのをまずつくっ り替えるような仕組みにしていたのて、すが , バンクメモリは当初 , ハードウェアて、切 Ve r40 の互換性 DOS というのは基本的には MS ー DOS とい うかたち , たとえばシステムコールだった らシステムコールで共通だというふうに今 までとらえていました。機種に依存しなけ れば , どのマシンの DOS でも変なプログラミ ングでなければ動くというかたちでとらえ ていたのですが , そういうものとは別に旧 M の世界のなかで統一がなされるのでしよう か。それとも , ほかのメーカーの DOS との絡 みというものもいちおう考慮に入れた標準 化 , 統一化なのでしようか。 旧 M 基本的な考え方として , お客様にいち か , 20K がシビアにこたえてとか , そういう すから , そういう意味て動かなくなったと したソフトは , 自社の機械に載せるわけて 問題は起きていません。 IBM の場合 , 開発 旧 M 日本の Ver. 4.0 ては今のところ大きな 問題にはならないということですか。 う問題は , PS-DOS Ver. 4.0 の場合だと全然 ューザーズメモリが減ってしまうとい Ver4.O とメモリの問題 Ver. 4.0 にバージョンアップされています。 のインタフェイスは互換性を保ちながら 更というのは起きていません。従来の DOS ングされる方にみえるところて、の極端な変 旧 M 一般のアプリケーションをプログラミ いるということではないのですね。 互換性を損なうような拡張が行われて います。 ャとお考えいただくのがいちばんいいと思 合していくかというレベルのアーキテクチ のいろいろな違いをどうやって吸収して統 いう DOS の API というレベルの外て、 , 各国 し上げたアーキテクチャというのは , そう 環境を整えるように努力しています。今申 いと考えていますし , その方向に向かって じように書かれたものが動くことが望まし す。したがって , なるべく多くの機械て、同 ばん便利な方法を提供しようと考えていま 最新 。。。。 m 25 考察 の次はどうてすかというときに , Ver. 4.1 な わけてす。そういう意味て , DOS Ver. 4.0 か , という観点から対応したり , 研究する それに対して IBM はどうしていけばいい い方をしていくか , 何を必要としているか , パソコンユーザが将来に向けてどういう使 旧 M DOS とか , そういう意味て、はなくて , えてよろしいわけでしようか。 とを考えていらっしやるというふうにとら たので , それを考えると , 今は数年先のこ 数年前から準備されているということでし ゃいますよね。先ほどおっしやったように のバージョンアップは当然考えていらっし 一般論としては , 拡張というかたちで ことはいわない会社なんて、すよ ( 笑 ) 。 旧 M 現時点て、は何ともいえません。将来の ジョンアップはお考えですか。 現在は Ver. 4.0 ですが , Ver. 4 コへのバー れているのて、はないかと思います。 て、 , 今申されたような問題がかなり軽減さ ているわけて、すよ。そういった努力のなか 合わせるためにいろいろみえない努力をし テクチャというのをまずつくって , それに IBM というのは相当先をにらんだアーキ ます。 きく響いてこないような状態だと思ってい 全体のなかて、考えたときには , それほど大 コンポーネントの増減というものは , DOS したがって , DOS システムという小さな に大きいわけて、すよ。 デバイスを動かすための仕組みとかが非常 システムを動かすための仕組みとか , 各種 イビティを保っための仕組みとか , ビデオ いわけて、す。たとえばホストとのコネクテ い部分て、す。それ以外の部分がかなり大き て、いる DOS システムというのは非常に小さ かて、 , 純粋のファイルシステムなどを含ん 旧 M DOS といわれているメモリ領域のな なっていると思うのですが。 た場合 , やはり DOS の基本的な部分が大きく ただ実際 , Ver. 3.4 から Ver. 4.0 に変わっ 問題は今のところ起きていません。 第一特集最新 MS ー DOS 考察 けてす。 のか , どうなのかというのはわからないわ 53
0 「 m on from (ompiler maker ライフボート Lattice C/RT 本製品は「すて、に数多いリソー ス ( 資源 ) を活用て、きる MS-DOS 上て、 , 特別な知識を必要とせず , C 言語・アセンプラて、プログラムが 書ける人なら誰て、もマスチタスク のシステムが構築て、きるような機 能を設け , 即時処理時間が重要な 制御系システムて、も十分対応てき る高速タスク制御機能を備える」 ことをコンセプトに開発しました。 特長 / システム機能 ( 1 ) 開発環境が容易 C 言語またはアセンプラて、書かれ たプログラムを通常の方法て、コン パイルリンクし , 生成した EXE フ アイルをコントロールファイルに 登録するだけて、 , マルチタスクシ ステムが構築てきます。 LatticeC/RT は , コントロール ファイルに登録された情報を基に メモリを確保し , タスク群をロー ディングします。 ( 2 ) MS-DOS の 640KB のメモリ 制限を解決する a. LIM EMS4.0 のサポート コントロールファイルにおいて タスクモードを「マッヒ。ングモード」 に設定することにより , その EXE LatticeC/RT の紹介 製品概要 LatticeC/RT は , 今まて、専用制 御機器に頼っていた「リアルタイム マルチタスク制御」を , 現在のパー ソナルコンヒ。ュータて、実現させる ための開発支援システムて、す。 開発思想 は EMS メモリにローディングさ れ , 実行されます ( 最大 16 個のタス クを EMS 拡張メモリに登録する ことがてきます ) 。 EMS インタフェイスに関するプ ログラム上ての考慮は不必要て、す。 b. トランジェント ( 非常駐 ) ・タ スク機能 コントロールファイルにおいて タスクモードを「トランジェント」 に設定することにより , タスク実 行時にメモリを確保して , ディス クからローディングされ , 実行時 にメモリ解放を行います。初期化 処理タスクや , メニュー制御タス クなど , メモリに常駐する必要の ないタスクに有効て、す。 ( 3 ) 豊富で簡便なタスク間通信機 能を備える a. データの送受信によるタスク 間通信機能 任意の領域のデータを任意タス クに送信することがて、きます。デ ータを受信するタスクは , 任意の 領域にデータを受信てきます。 b. イベントの通知によるタスク 間通信機能 任意のタスクと同期を取るとき は , イベントフラグをセットしま す。イベントはひとつのイベント の待ち合わせと , 複数を同時に待 ち合わせる方法とがあります。 c. コモン領域を使用するタスク 間通信機能 各タスクが共通に参照て、きる領 域を 8KB 有しており , 使用宣言す れば , 自由に読み書きてきます。 ( 4 ) タイムスライス制御機能を備 タスク間の同期処理 , タスク間 通信など , マルチタスクを実現す るための関数をいっさい利用しな くても , マルチタスクのシステム が構築て、きる機能て、す。コントロ ールファイルにおいてタスク属性 を「タイムスライス」に設定するこ とにより , 指定された時間だけ自 動的に CPU の処理時間が割り当 てられ , 並列処理を可能とします。 ( 5 ) マルチタスクのテスト環境を 取り入れた設計 a. マルチタスクのテスト環境を 考慮した設計 MS-DOS が提供する SYMDEB. EXE を , LatticeC/RT が制御する 1 タスクとして登録し , 単体のデバ ッグ作業と同様にデバッグ操作が て、きます ( プレークコマンドを実行 しても , LatticeC/RT が制御する ほかのタスクが影響を受けること なく処理を継続します ) 。 b. バックグランドテスト LatticeC/RT が制御するタスク 群をバックグランドて実行し , フ ォアグランドて MS ー DOS コマンド を実行することがて、きます。この 機能により , コンソールから付属 のデバッグューティリティを起動 させ , システム全体の状況を検証 することがてきます。 6 ) すべてのメモリモデルに対応 Ver. 4.2 て、はすべてのメモリモデ ル (), P, D, L, H) に対応しまし た。プログラムの規模に合ったメ モリモデルて、 , マルチタスクシス テムを構築て、きます。 ( 7 ) 割り込み処理プログラムをオ ール C 言語で記述できる 簡単に割り込み処理を行えるよ う関数を追加しました。それほど 高速性を必要としない場合には , わざわざアセンプラて、記述する必 要がなくなりました。 ( 8 ) マルチタスク環境での高速な 割り込み制御機能 高速の割り込みを実現するため に , 「割り込み処理モード」と「タス クモード」との中間に「フォーク処 理モード」を設けています。 フォーク処理に指定された実行 単位はキューイングされ , ほかの 割り込み処理を優先させることが てきます。この機能により , 複数 のデバイスから発生した割り込み 処理要求を遅延なくサポートする ことがてきます。 9 ) マルチタスクマクロを標準装備 「この部分・タスクはアセンプラ て、」マルチタスクさせたいという場 合のために , アセンプラ用マルチ タスクマクロを付属しています ( 使 用に際してはアセンプラの MASM Ver. 3 以上が別途必要 ) 。 Fig. 2 Lattice C / RT における , タスクのローティング / 実行のメカニズム MS-DOS LatticeC/RT (EDSKNL) タスクー 1 タスク 2 ←バラメータ・ファイル = task-l . exe task-2. exe ←ー sta rt—task file=task-l . exe task= タスクー1 end-task start—task file=task-2. exe task= タスクー2 end-task lnformation 作 om Compiler Maker 139
ステップになるだろう。 TREE. COM マットは , 2DD だけてある ( 表 1 参照 ) 。その ディスプレイの表示や出力については , GRAPHICS.COM ほかについては・フォーマットの種類が異な グラフィックを使用てきるようになった。 EGA と VGA のグラフィック表示が新たに っていてフロッヒ。ーの読み取りや書き込み 追加された。今まて、は CGA と PS / 2 ディスプ VDISK. SYS がて、きない。通常の操作は , COMMAND. レイアダブタなどがサポートされていた。 拡張メモリを使用させるための / X オプシ COM のモードから DOS シェルを呼び出して ョンが追加された。この機能は , VRAMi• さらにいくっかのプリンタがサポートされ , 行っている。 イスクに相当するドライパソフトて、ある。 8 色まて、も指定てきるようになった。 ードディスクについては , 現在の 32MB KEYB. COM 以上のサポートも行われるようになった。 DOS 4.0 の内部について 今回からは , 指定したい国のキーポード これは , 論理セクタと呼ばれる管理方法を レイアウトを指定てきるようになった。ま 変更することによって可能になったものて た , 強制的にアメリカキーポードレイアウ ある。さらに , EMS をサポートすることに 以上は , マニュアルを参照しながらひろ トに置き換えることもてきる。 ったものて、ある。だが , これ以上に大きな なったために , DOS の機能の一部を EMS の ほうに移すことが行われている。たとえば 変更は内部的に行われていることが多い MODE.COM スクリーンの行数 , ならびに非同期のパ 4.0 のなかて、いちばん重要な機能の変化と CONFIG. SYS ファイルの中て、 BUFFERS を 指定するようになっているが , これはオプ ラメータ指定が追加された。 いえば , ハードディスクの大容量のサポー ションとして /E をつけるだけて、メモリ上に トとメモリ管理て、あろう。ハードディスク PRINTER. SYS とられていたバッファェリアを EMS に確保 IBM プリンタが 5 機種追加された。プリン は , 最近とみに大容量・低価格化が進んて するのて、ある。そうすると実メモリのほう タのドライパソフトてある。 おり , 40MB や 80MB という時代になってき がいくぶんて、もあくことになる。また , FAS ている。また , ードディスクを必要とす REPLACE. EXE TOPEN も同様に /X オプションをつける 日時の比較によって REPLACE コマンド るアプリケーションの登場も大きな要因て、 と , キャッシュ領域をメモリにとらず EMS が実行てきる / U オプションが追加された。 あろう。同時にアプリケーションの世界て、 領域に確保することて , 使用することもて、 これはコビーや削除のときなどに便利に使 は , DOS の限界てある 640K バイトを超えよ うとしている。だからこそメモリの拡張に きる。 は大きな意味がある。 ファンクションリクエストも 3.3 と変わら SELECT. EXE ないが , いくつかは更新されている。まず このコマンドには , インストールすると さて , DOS としてはこのような機能をど 最初にファンクション 33H からみることにす きに画面の設計を自由に変更てきるユーテ のように取り込んているのだろうか。実際 に調べたのは , PS / 2 上て、動く IBM の DOS4.0 ィリティが拡張された。 int 21 3305H ( 33H のサプファンクション 05 て、ある。 1 バインダーて、 1 セットになってい SYS. COM H) コピー元のドライプとパスが指定てきる て , そのなかには詳細マニュアル 1 冊とイン カレントドライプのフロッピーディスク ようになった。このコマンドの拡張は , ネ ストール用のマニュアル 1 冊 , そして取扱い のポリューム ID を検索する機能がさらに加 についての注意事項などを述べたライセン ットワーク時の簡便な使用が目的らしい わった。ポリューム ID については , のちほ だが , ネットワーク以外ても , この拡張に スインフォメーションの小冊子が 1 冊て、あ ど説明する。 よって使いやすくなったことはまちがいな る。さらに 3.5 インチフロッヒ。ーが 2 枚 , イ int 21 440CH ンストール用とオペレーション用てある。 IBM には , フロッピーの種類がかなりた 2 バイト文字 ( DBCS ) のサポートが行われ くさんあるが , PC-98 と互換がとれるフォー int 21 6507H これは , DBCS べクタと呼ばれるテープル ヘッド数 / 1 トラック のセグメントアドレスを返す。一般に DOS 1 1 は必ず全世界に販売されるのて , 各国ごと 2 に異なっている使用言語を設定することが 2 てきるようにしたほうがよい。このように 2 すると , 1 バイト系の国々よりも 2 バイト系 2 2 の国々のほうが恩恵をこうむることが多い TIME 12 ー , 24 ーの指定がてきるようになった。 [ 表 1 ] フロッピーの機種 ティスクの種類 5.25 5.25 5.25 5.25 5.25 3.5 容量 150KB 180KB 320KB 360KB 1 .2MB 720KB 1 .44MB 数 リ - シ セクタ数 8 9 8 9 9 40 CMAGAZINE 1989 12
I N F 0 F.: M A T 0 N N EC が新バスアーキテクチャを採用した 32 ビットノヾソコンなど新製品 9 機種を発表 接アクセスて、きる「バスマスタ機能」を装備 NEC は , PC ー 9801 シリーズの新製品とし て , 高速 32 ビット機「 PC ー H98 モデル 70-002 / し , マルチプロセッサシステムに対応した PC ー H98 モデル 70 ー 002 100 」の 2 機種をはじめ , ノートパソコン「 PC 99.5 万円 PC ー H98 モデル 70 ー 100 168.0 万円 ー 9801N 」など 9 機種を発表した。また同時 に , 製品強化・拡充を図ったハードウェア A4 ファイルサイズノート型パソコン 14 種 , ソフトウェア 15 種も発表した。 「 PC -9801 N 」 ( 愛称「 98NOTE 」 ) PC -9801 シリーズの最上位機種 「 PC ー 9801N 」は , A4 ファイルサイズ。 CPU 「 PC - H98 モテル 70-002 / 1 00 」 △ PC ー 98 田シリーズの最上位機種「 PC ー H98 モデル 70 」 に V30 (10MHz) を採用 , 「 80C86 」の東芝製に M バイトまて、ユーザーズメモリを拡張て、き 比べて「処理速度は 1 . 3 倍速い」という。 3.5 「 PC ー H98 モデル 70 」は新開発の 32 ビットバ るため , 「日本語 MS OS/2 」「 PC-UX/V 」な インチフロッヒ。ーディスクドライプ 1 台と 1.25 スアーキテクチャ「 NESA ( ネサ ) 」を採用し どの高機能 OS はもちろん , AI などの大容量 M バイトの RAM ドライプを内蔵。 PC ー 9801 た高速 32 ビット機。 NESA はバスのデータ シリーズとの互換性を重視し , 4 , 700 種のア メモリを必要とするアプリケーションにも 転送幅を従来の 16 ビットから 32 ビットに拡 対応て、きる。 プリケーションが使える。 RAM ドライプは 張し転送能力を約 3.3 倍向上した。さらに ・ 1 , 120 >< 750 ドットのハイレゾリューショ バッテリて、バックアップされているため , CPU は「 80386 」 (33MHz) を採用 , また 64K バ 一度アプリケーションを登録しておけば一 ンモードと 640 x 400 ドットのノーマルモー イトのキャッシュメモリを搭載し高速処理 を可能にしている。 度目から自動的にシステムが立ち上がり , ドの両モードて、 1 , 600 万色中 16 色の多色表示 使用アプリケーションが決まっているユー が行える。オプションて、 256 色表示を行うこ PC ー H98 モデル 70 および NESA のそのほか ザには便利なセカンドパソコンて、ある。 ともて、きる。また , グラフィック専用カス のおもな特長をあげておく。 タム VLSI として AGDC と E2GC を採用し , 「 PC ー H98 モデル 70 」 そのほかのおもな特長は以下のとおり。 ・ ROM て、内蔵している「 98NOTE メニュ グラフィック描画を高速に行える。 ・メモリアドレス空間を 4G バイトまて、拡 「 NESA(New Extended Standard Archi により , ファイルコヒ。ー , 起動ドライプの 大。これによりシステムスルーブットが向 tecture) 」 上され , UNIX システムや将来的な処理量の ・ 32 ビットのデータバス幅をもっており , 増大に対応。マルチプロセッサシステムの データ転送能力が現行バスに比べ約 3.3 倍高 構築 , 機能分散による高速処理が可能にな 速化されている。また , 4G バイトのメモリ アドレス空間に対応て、きる。 ・データバス幅は 8 , 16 , 32 ビットを自動選 ・自動セットアップ機能をサポート。シス 択 , PC ー 9801 シリーズのオプションボ、一ドが テムの空きの領域など , セットアップに必 使える。 要な情報を自動的にチェックし , セットア ・ユーザーズメモリとして「 PC ー H98 モデル 70 ー 100 」は 5.5M バイトを , 「 PC ー H98 モデル ップが行える。 ・オプションポードからメインメモリに直 △ノート型パソコン「 PC ー 9801N ( 98NOTE ) 」 70 ー 002 」は 1 .5M バイトを標準装備。最大 27.5 1 16 CMAGAZINE 1989 12
Ve 「 40 のメモリ環境 Ver. 4.0 に関して , DOS のサイズが大き くなり , ユーザーズメモリを圧迫するとい う問題をどのようにお考えですか。 内藤 Ver. 4.0 の使命は , ひとつは今後の DOS の利用環境をぐっと広げていくような 新しいアプリケーションに対する対応て、す。 Ver. 4.0 は Ver. 3.1 に比較して多少サイズは 大きくなります。これは Ver. 2.11 と Ver. 3.0 の間て、起きる環境と比べて , 大きな差はな いと思います。 DOS も進化するハード環境 に応じて進化していきますが , 既存のアプ リケーションの中には , カバーてきないも のもありえると思います。 Ver. 4.0 は , サイズの大きな DOS が入る と , 日本て、はメモリの環境が足りない , 640 K バイトしか使えないといった環境から , EMS 対応 , 大容量ハードディスク対応などの新 しい環境へ , 既存のアプリケーションに対 して最大限の互換性を維持しながら , 対応 していくものなんてす。 すてに売られているソフトを使用する場 合 , 本当に Ver. 4.0 が必要かどうか , また使 用目的によってユーザが選択てきるような 形をて、きるだけ取りたいと思っております。 しばらくは併存して・・・ 内藤これからも Ver. 2.1 , Ver. 3.1 , Ver. 4.0 を併存して供給してまいります。 結局 , チェンジしていくというよりは , 新しい機能をサポートしたものを少しずつ 出していくというかたちですね。 内藤そうて、す。すべてをひとつのものて、 カバーするのは難しいのてはないかと思い ます。 DOS 工クステンダのような DOS の機能拡 張をオリジナルにバンドリングする予定は ないのですか。 内藤まだ機能ソフトとして成立てきるほ どちゃんと地についたものなのかどうか。 かっそれがアメリカにおいても , メーカー 側がサポートするほど位置づけられている かどうか。そのへんをよく調査して , 展開 を考えていきたいと思っています。 4.0 の場合 , 旧 M 版ですとビジュアルシ ェルみたいなのがついてくるのですが , ェ プソンの場合はビジュアルシェルはつけら れるのですか。 内藤そうて、すね。メーカー供給シェルも あるだろうし , サードバーティーが供給す るシェルもあるだろうしということて , 固 定化されていない。そのへん , われわれは もうちょっとようすをみたいと思っていま す。載せるかあるいは載せないかを判断す るにはもうちょっと時間がいります。 DOS と Windows の関係 DOS と Windows との関係はどうなってい ますか。 内藤 Windows は基本的にアプリケーショ ンと DOS とのユーザインタフェイスの中の グラフィックインタフェイスを供給するも のて、ウインドウべースのアプリケーション がよりつくりやすく , かっ使いやすいアプ リ - ケーションをつくるための環境が提供さ れます。 、 Vindows のなかには , オーバーラップの ウインドウを開いたり , アプリケーション どうしのファイルの交換が非常に容易にな っているとかいう環境が整っているわけて、 す。て、すからウインドウ対応のアプリケー ションがどんどん出てくれば , 複数のウィ ンドウ対応アプリケーションを走らせるこ とがて、きる。お互いにデータの転送がて、き るから統合ソフトなどもいいかもしれない ひとつのソフトとして統合ソフト , ワープ ロなどをつくった場合には , データの共有 化がてきるべースになる。そういったもの が Windows< す。この Windows は DOS の環 境て動作する。 現在の環境の上に載っていくわけてす。 また , OS / 2 のプレゼンテーションマネーシ ャと Windows とはユーザインタフェイスが 非常に似ています。したがって Windows の もとにつくられたアプリケーションは将来 OS / 2 上のアプリケーションとして移行しや 最新 0 ・ 00 ms -25 考察 第一特集最新 MS ー DOS 考察 49 ません。 思いますが現在バンドリングの予定はあり いけない。 Windows の需要は増えていくと いユーザにまて、必要以上の負担をかけては 必要とするユーザは別にしても , 必要な いと思います。 べターかどうかは , よく考えないといけな 大きなものをユーザに強いることが本当に きないかというとそうて、はない。それだけ べてに Windows をバンドリングしないとて、 果たす。その上に Windows がある。て、はす 内藤 DOS は DOS としてそれだけの機能を うことに関してはどのようにお考えですか。 DOS に Windows をバンドリングするとい ことて処理て、きる規模の問題だと思います。 となると土俵が違ってくる。見直しという ことはあると思います。 Ver. 4.0 から Ver. 4.1 になると思います。 Ver. 4.0 の見直しという います。 Ver. 4.01 とか Ver. 4.02 という格好 か。たぶん今いわれた Ver. 4.1 て、はないと思 内藤それが Ver. 4.0 なのか , Ver. 4.1 なの 総称として出てくるのですか。 エプソンとしては , いちおう Ver. 4.0 が ます。 意味て、の修正などは対応していく予定て、い っております。 Ver. 4.01 のバグ対応という 内藤マイクロソフト社とはよく連携を取 は考えているようですが。 Ver. 4 コとして出したいとマイクロソフト社 ver. 4.0 ではなくメモリの問題を解消した ver. 4.0 にはメモリの間題があるので , Ve 「 4.0 のメモリの問題 て、す。 Ver. 2.1 が 2 月 , OS/2 Ver. 1.1 が 3 月の予定 内藤 DOS Ver. 4.01 が 1 月 , Windows リリースは来年のいっこ・ろですか。 すいものになります。