ノート:Microsoft Windows 2.0

message: 「Microsoft Windows 2.x」への記事名の変更を提案します。この記事でもMicrosoft Windows 3.xと同様に、Microsoft Windows 2.0以外のことについても触れているため、記事名がMicrosoft Windows 2.0だとおかしいと思いますが、いかがでしょうか。horn_player 2005年12月18日 (日) 14:49 (UTC)
thread_title:  記事名変更の提案 

message: HQA02330氏のこの編集で「仮想記憶」の記述が除去されましたが、 『MS-Windows 2.0 ユーザーズガイド』 （日本エイサー、1988年発行）146頁によれば、win.iniにswapdisk=c: /eとすると拡張メモリをハードディスクに待避できるとあります。これは80386のページング機能は使用していませんが「仮想記憶」にあたるのではないでしょうか。仮想記憶の定義について私は自信がないので教えていただけると助かります。--Darklanlan talk 2017年2月18日 (土) 09:39 (UTC)
win.iniのswapdisk=c: /e は、Windows 2.x上から複数のDOSアプリケーションを起動したときに、640Kのメモリ領域にあるDOSアプリケーションを丸ごとファイルとして退避し別のDOSアプリケーションをロードすること、および、各DOSアプリケーションが使用しているEMSのページマップを保存するための設定で、仮想アドレスと物理アドレスの変換機能はないので、仮想記憶ではないのでは？
Microsoft Systems Journal, Vol.1 No.1, October 1986 
--HQA02330（会話） 2017年2月18日 (土) 23:52 (UTC)
ちょっと気になったのですが、HQA02330さんは要約蘭で「Windows 2.xは、仮想記憶には対応していない。」とおっしゃいました。ただ、一般にWindows 2.xと言えばWindows/386を含むのではないでしょうか？ 少なくともPC-98版Windows/386(ver2.11)のマニュアルを見る限り、セットアップ時に/386か単なる2.11かが選べるようになっていたようです（むろん286以前専用の製品もそれはそれで別途あったようですが）。私としては単なるディクススワップを仮想記憶と言えるかどうかについては判断は避けますが、Windows/386(ver2.11)のマニュアルでは仮想マシン上で動いているとありますので、少なくともWindows/386については仮想記憶であることに疑いは無いと思います。現行の記事の記述から考えて、初めてWindows 2.0を冠したバージョンはWindows/386 ver2.01ではないかと思います。日本語版の名称の問題はあるかもしれませんが、Windows/286 ver2.03 が出たのはその後だと思いますから、少なくとも初めて仮想86モードを活用したWindowsは2.0ということになると思います。一方のDarklanlanさんが出典として示された書籍ではどのような表現だったのかは存じませんが、そのへんの事情を考慮された場合に筋が通る内容だったか確認されてみてはどうでしょうか。--Gwano（会話） 2017年2月19日 (日) 09:43 (UTC)
セグメント方式かつ相当な制約はあるものの、メモリを拡張する代わりにハードディスクにメモリのデータを一時保存するスワッピングは仮想記憶ではないのですか。en:Windows 1.0 2017-02-07T06:30:40では "Applications were supposed to handle memory only through Windows' own memory management system, which implemented a software-based virtual memory scheme allowing for applications larger than available RAM." という文があります。「OS/2とWINDOWSに見るオペレーティングシステムの最新動向」（『月刊アスキー』第11巻第7号）では「仮想記憶」の節でこの機能が取り上げられています。一方でWindows 3.0で仮想記憶を取り上げた文献は数多くあり、Windows 3.0でOS/2と同様の本格的な仮想記憶が実装されたことは間違いないと見ていいようです。まあ「仮想記憶」かどうかは私にとって重要ではありません。Windows 1.0-2.xではメモリ管理をソフトウェアで実現させていたわけですから、スワッピングについては処理速度が遅かった理由の説明として残しておくべきだと思います。--Darklanlan talk 2017年2月19日 (日) 14:28 (UTC)
「Windows 1.0では仮想記憶は単にMS-DOSの機能を利用したファイルとして作成されたが、Windows 2.0ではEMSドライバを使うことで仮想記憶データの読み書きを高速化した」とのことですが、これは、メインメモリの内容をEMSメモリへ退避することなのか、EMSメモリによるRAMディスクにメインメモリの内容をファイルとして退避することなのか、どちらでしょうか？
また、Windows/386は仮想記憶に対応していたと思われますが、文献を持っていません。--HQA02330（会話） 2017年2月20日 (月) 11:36 (UTC)
replies: text: EMSをRAMディスクとしてのみ使用できたのは1.0の話です。2.0はEMSメモリボードを直接ヒープ領域とするものとして説明されています。図書館に引きこもってさらに広く調べたいところですが、まとまった時間がとれずすぐには難しいです。ひとまず、文案がまとまるまで私は編集を控えます。--Darklanlan talk 2017年2月21日 (火) 17:08 (UTC)
Darklanlanさんのご説明を聞く限り、その出典では必ずしもWindows/386に限った内容ではなかったようですね、失礼しました。スワッピング自体はWindows 1.0の頃から存在しますので、「変更点」として「仮想記憶」を強調するかのような表現だったのは少々オーバーな気もしますが、少なくともWindows(/286)2.xでEMSを直接管理できるようになったことは言えると思います。なおWindows 3.0（以降）のエンハンスドモードに相当する機能については、手持ちの書籍（田中亘「PC-9801メモリ活用ハンドブック」技術評論社、1992年）の言葉を借りれば「すでにMS-Windows/386からある程度実現され」ていた「実績のある機能」なのですから、個人的な感覚では、そちらのほうがWindows 2.x時代の仮想記憶を特筆する目的では合っていたように感じます。その意味でも/286（非386）を指しての「仮想記憶」の表現は（正しいかどうかは別として）、現在の感覚から言えば誤解の元になる可能性もありそうに思いますので、その表現を使わないに越したことは無いと思います。いずれにせよ、はっきりしない部分を避ける形であれば出典のある記述を復帰することに今のところ私からは異論はありません。--Gwano（会話） 2017年2月20日 (月) 12:11 (UTC)
 先週、図書館に立ち寄る用事が出来たのでそこで日経バイトのアーカイブを探ったところ、日経バイト1989年8月号にWindowsのちょっとした特集がありまして、「3.0版は386マシンで仮想記憶をサポート」という節見出しで、Windows/386 3.0ではデマンド・ページングによる仮想記憶をサポートする、などと書かれています。これがキーワードになりそうですが、私にはスワッピングと仮想記憶との関係をうまく説明することは難しそうです。ともかく仮想記憶はWin3でサポートされたと見ていいでしょう。--Darklanlan talk 2017年3月31日 (金) 15:17 (UTC)
thread_title:  Windows 2.0の「仮想記憶」