†逆襲のOS/2†

OS/2 Warp 4.52の稼働環境 (2)

作成開始日 2022.05.06
最終更新日 2022.11.13

OS/2に必要なメモリ容量

OS/2 Warp 4.52を実用レベルで動かすには、どの程度のメモリを必要とするのだろうか? ちなみに、この場合の「実用レベル」とは「スワップに入らないで済む」ことを意味する。RAM 16MBなんて牧歌的な時代はいざ知らず、現在の使用環境では、OS/2は《スワップ即フリーズ》だと思った方がよい。なので、この問題は「どれだけメモリを積めばスワップに入らないで済むか」という問題に置き換えてよい。尤も、使用環境によって必要となるメモリ量は様々で、一概には言えない。そこで、私の経験に即して、必要量の目安を述べておく。

@まず、OS/2本体だけならば128MBでも余裕だろう。

Aそれに常駐型の必須ツール類(NPSWPS、lswitch、ALWALTFX、WX3、NetDrive等)を追加すると140MB程度。したがって、256MBあれば快適に動作する。
※RAM 512MBのシステムで、起動時の空き容量が約360MBだった(VRAM 16MB使用)。

BさらにSeamonkey 2.28などの大規模なWeb Browserを起動すると100MBくらい消費し、各種ページを表示するとすぐに200MBくらいになる。合計で300〜400MBくらい。無論、表示するページにもよるが、通常は512MBあれば何とか収まるかな…
※RAM 512MBのシステムで、ブラウジング中の空き容量は数十〜100MB程度だった。

Cところが、Seamonkey 2.28でNHKの「特設サイト新型コロナウィルス」を表示すると、それだけで100MB単位でメモリを消費し、しかも、タスク数が一気に500近く増える!そしてシステム・フリーズ−−悪魔のページである。だが、1GBあればフリーズは回避可能。
※RAM 512MBシステムでは、スワップが90MBに膨らんだ時点でシステム・フリーズ。

つまり、悪魔のページ(NHKだけではないだろう)を表示しなければ512MBで実用運用可能、うっかり悪魔のページを表示してしまっても1GBあれば対処可能。一方、かなりハードな使い方をしても、メモリ使用量が1GBを超えたことはない。2GB積んでも宝の持ち腐れとなる可能性が高い。

OS/2に必要なメモリは1GB!

OS/2のメモリのハードウェア的限界

そこで問題になるのが、ネイティブOS/2がどの程度までメモリを認識できるか?と言う点。Pentium M+i855+DDRメモリならば、普通に2GB(1GB×2)を認識できるので、何の問題もない。しかし、Core2 Duo/Athlon 64+DDR2になるとRAMは512MB/667MHzが上限で、それ以上のメモリを積んだPCではOS/2は起動できない。この点に関してはかなり多くのPCで検証実験を行ったが、ほぼ鉄板のルールとなっている。

DDR2は512MB/667MHzが上限

ただし、例外は存在する。以下の環境では、DDR2/1GB以上でOS/2の起動が確認できている。

@CPUがVIA C7だった場合:CPU性能がネックになり、実用的な選択肢足りえない。
APentium M/i915の場合:OS/2システムが異常に不安定で実用にならない。
BSN68SG2(Athlon64/AM2+機)の場合:4GB認識の実績あるが、理由が全く判らない。
Cレスキュー区画を起動した場合:ユーティリティ・ディスケット相当のHDD区画。

と言うことで、@Aは実現できても実用にならず、Bは類似システム(CPU、C/S等)でも再現性がまったくないので《特定の機種だけの特殊な現象》で終ってしまう。Cは可能性を示すと言う点では興味深いが、現時点では意味のない現象。要するに、DDR2システム(C2D/Ath64)で1GB以上を認識させるのは無理であり、1GBにこだわるならDDR2は諦めて、PenM+i855+DDRというシステムを使用すべきである。ところが、そうスンナリ割り切れない理由がある;

@単純に、PenMよりもC2D/Ath64の方が高速なCPUが存在する。
A同一クロックのCPUでも、PenM+DDRよりC2D+DDR2の方が速い。

要するに、DDRシステムよりもDDR2システムの方がかなり速いのである。無論、DDRシステムでも、Pentium M765(2.1GHz)であれば、それなりに実用的な速度で動作する。しかし、スコスコ感まではない。Seamonkey 2.28を他のプラットホーム同様にスコスコ使用したいと思ったら、DDR2システムで1GB以上の可能性を探りたくなる。

【参考】Pentium M+i855+DDRシステム
AOpen EZ855でOS/2の動作を確認。CPUはPentium M765(2.1GHz/FSB400MHz)。使用したメモリは、512MB×1、1GB×1、1GB×2の3種類で、全て正常動作した(いずれもDDR400/PC3200)。2枚差しでも特に問題はなかった。512MB×2はチェックしていないが、恐らく問題なく動作するだろう。メモリ構成としては512MB×2が一番入手しやすく、現実的だと思う。ただし、Geode NX+KN400Aのシステムで試したときは、2枚差しではブートしなかった記憶がある(要再検証)。DDRだからと言って、必ずしも512MB×2が使えるとは限らないようだ。

ネイティブOS/2の存在意義

その前に、再度確認しておきたいのが、ネイティブOS/2の存在意義である。正直、私は最近この点に大きな疑問を懐いている。有り体に言えば、OS/2はネイティブ動作ではなく、VirtualBoxで動かす方が良い、ということだ。V-OS/2であれば、DDR2だろうがDDR3だろうが、問題なく1GB超で使用できる。また、ネイティブOS/2で問題が多発するUSB周り、マウス周り、キーボード周りが非常に安定する。ワイヤレスデバイス、Bluetoothデバイスなども、ホスト側に管理を任せておけば間接的な形で使用できる。

そして、決定的に重要なのは、ネイティブOS/2では最近のWebページを満足に表示するのが難しいという点にある。確かに、OS/2でもFireFox 49までは使用可能だが、実用レベルにあるとは言い難い。「使える」ブラウザはSeamonkey 2.28までである。そうなると、ページの互換性やスクリプトの実行速度の問題で、まともに表示できないページが山のように出てくる。お金がらみ、動画がらみのページを利用しようと思ったら、Linux/Windowsとの併用が必須となる。ならば、ホスト/ゲスト間でOSを簡単に切り替えられるVirtualBoxは極めて合理的な選択肢と言える。

最大の懸念は処理速度だったが、その点でもVirtualBoxは優秀だ。大昔のエミュレーターは、ソフトウェア・エミュレーションが主体で、処理速度も1/10以下になることがザラだったが、現在では仮想化支援技術によって、言わば“生のx86”を使用できるようになっているので、3GHzのCPUで動かせば、やはり3GHzの速度が出る。無論、チップセットやファイル・システムはソフトウェア・エミュレーションってことになるので、それなりのオーバーヘッドは発生するが、OS/2のような骨董OSが想定している性能と比較すれば、全然問題にならない。

その他、VirtualBoxでは、ネットワークドライブ上の日本語の扱いや、動作が“引っ掛かる”現象、Seamonkeyによるシステムクラッシュなど、いくつかの問題に遭遇したが、どれも解決可能・回避可能なもので、少なくとも2年近く毎日ゴリゴリに使用しているが致命傷は経験していない。ホスト自体がCore i3-2120/4GBなんて言う、それこそ骨董品で動いているにも拘らず。

その上で、なぜ敢えてネイティブOS/2を使用するか?という事になる。現時点での私の答えは「仮想化支援技術が使えない骨董PCでOS/2を使用するため」…おいおい、それならPentium M世代までで十分じゃないか?問題になっているCore2 DuoやAthlon 64はVT対応で、VirtualBoxがちゃんと動くぞ(VBoxはVT非対応でも動かないことないらしいが)。にも拘らず、Ci3やAth64でネイティブOS/2を動かそうと言うのは、自己矛盾ではないか?−−はい、その通り、建設的な意義はございません。妄執でございます(^_^;

SN68SG2による検証

ともあれ、SN68SG2によって512MB超でも動く可能性が示された以上、ある程度目星を付けておかないと腹が収まらない。そもそも、なんで、512MBなんて制限が発生するのか……う〜ん……う〜ん……全然判らない。しかし、上述の例外事例を見ても判る通り、メモリ自体、OS自体にそうした制限が埋め込まれている可能性は低い。原理的に不可能ならば例外は起こり得ない。逆に言うと、何等かのファクターが邪魔をしているのだから、それを特定し、回避する方法が見つかれば…

速度が一つのキモだとは思う。実際、同じ512MBでも、クロックが上がるとブートできなくなる。が、逆にクロックを下げても512MB超を認識するわけではななかった。また、256MB/667MHzも2枚差しにするとブートしない。デュアルチャンネルになるからだろうか…?何かこの辺りにヒントが隠れていそうなのだが、そう目星を付けて行った実験は全て失敗している。

と言うことで、改めてSN68SG2で検証をすることにした。ところが、今度はどうやっても512MB超では起動しなくなっていた。これは一体…?4GBで起動したなんてのは幻覚か?てんで、マジで原因究明に取り掛かったところ、とんでもなく単純な真実に達した。続きは【こちら】。

付記:実験メモ

役に立つ情報かどうかは判らんが…

@レスキュー区画(コマンドライン)は1GBでもブート可能。

 WPSが起動しなくては意味はないが、何がキモなのかは知りたいところ。
 CONFIG.SYSのメモリ周りの設定で目立つのは「protectonly」と「delayswap」くらい。

AネイティブOS/2では、RAM容量以外でも、いろいろと問題が出てくる

BAthlon64 1640B(2.7GHz/45w)を使用して起動実験を行った。

TF7050-M2(GF7050 + nF630a)

GA-M85M-US2H (GF8200 + nF730a?)

A780GM-M V:1.0 (A780G + SB700)


【逆襲のOS/2目次】 【ホーム】