●逆襲のOS/2● | (2009.11.04/2010.12.07) |
データ交換とは、異なったPC間/異なったOS間でデータを交換すること。通常、容量はそれほど大きくなくても良い。大容量のデータ交換が必要な場合は、DVDに焼いたりネットワークでつないだりする方が普通。つまり、@の用途では、容量よりも可搬性と互換性が重要視される。具体的にはUSBフラッシュメモリやCF/SDなどのメモリカードが適当で、ファイルフォーマットはFAT(8.3名制限)またはFAT32(ロング名対応)。HPFSでは他環境との互換性が低い。使い勝手を考えるとUSBメモリが最適だと思われるが、前記のようにUSB 1.1というシバリがあるため、容量面の制限が非常にキツくなる。いくら容量は重視しないといっても、実質256MBが上限で、しかもUSB 1.1の256MBはなかなか入手できない、という状況は厳しい。「1.1規格のカードリーダ+CF」という組み合わせならば、たぶんGBクラスまで大丈夫だと思う(16GB CFの動作確認済み)。
一方、データ待避とは要するにバックアップのこと。この場合は容量がかなり重要で、少なくとも、数十GBクラスのものが欲しい。そうなると、基本的にUSB HDDしかない。USB HDDは通常2.0対応なので、我が家のシステムでは実用になるかどうか怪しい。過去の実験例では、ドライブを認識させるのさえ一苦労で、使用可能になっても、すぐにシステム・フリーズしたりデータ・クラッシュしたりで、とても実用にならなかった。しかし、USBドライバのバージョンアップをしたので、ひょっとすると現環境ならば上手く動作するかも知れない(現状でもそれなりの感触は得ている)。ファイルフォーマットはHPFSかFAT32。単純にバックアップだけなら、HPFSの方が便利なような気もするが、たとえばバックアップしたデータをDVDに焼くとか、カラープリンタから打ち出すというような状況を考えると、Windowsで扱えるFAT32の方が良いような気もする。
現時点では、USB 1.1のメモリカードリーダーに16GB/FAT32のCFを入れて、データ待避用に使用しているが、速度と容量の両方に不満は残る。安定性に関しても、未だに全面的には信頼しきれてはいない。
b) 異常負荷というのは、端的に言うとコマンドラインのスクロール速度が極端に落ちること。200行のテキストをスクロールさせるスクリプトでベンチマークを取ったところ、正常状態で2.6秒だったものが、USBストレージを挿入した状態では8秒にまで下がり、抜出しても7秒にしかならなかった。以前はこの症状がほぼ毎回起きていたが、現在使用してる環境では、USB 2.0デバイスのみで発症し、USB 1.1デバイスでは発症しないようになった。ゆえに、ある程度解決された問題と言えるが、原因不明なのが気持ち悪い。リソース競合などを疑ってテストをしたが、結局空振りに終った。
c) データ破損の問題は、書き込みではなく読み込み時に起きていたらしい。他の環境で正常に書き込んだデータでも、読み込み時にエラーが発生することがある。特に、大サイズのファイルや大量のファイルのコピーの際に頻発する。この症状が厄介なのは、正常なコピーができることもあること(100KB程度のファイルなら破損発生率は1割程度)。ちなみに、メディア側の問題でないことは確認済み。私はチェック用に数十MBのLZHファイルを用意していて、これにLHA tを掛けて最後まで正常に処理できるかどうかで安定動作を判別している。しかし、この現象はUSBドライバの更新で解決できたようだ(W45_PACK収録のrev.10.137を使用)。
d)〜f) システムのフリーズやブラックアウトが起きると、リセットボタンを押すしかなくなる。 リブート時にはすべてのHDDドライブのCHKDSK /Fが必要なる。40GBもあると大変な時間のロスになる。しかも、一度起きるとその後も頻発する傾向にある。とてつもなく迷惑だ。ただし、レディランプが消えただけの場合は、上手に処理すればCtrl+Alt+Deleteが効くようだ。これら現象もUSBドライバを更新したら、ほとんど起きなくなった。
g) USBストレージでもHPFSは使えるのだが、これまた問題が非常に多い。そもそもフォーマット自体が簡単にはいかない。市販のUSBメモリなどをいきなりHPFSフォーマットしようとしてもダメで、LVMで領域の確保からやり直す必要がある。しかも、データが頻繁に破損したり、挿抜するだけでCHKDSK /Fを要求されたりと、ほとんど実用に耐なかった。しかし、これまたUSBドライバの更新で解決された。現在は、ほぼ問題なく通常のリムーバブルとして使用できる。
h) FAT32.IFSの問題は非常に複雑で、物凄く苦労した。使い方が難しいというより、ドキュメンテーションが判りにくいのが最大の原因だろう。艱難辛苦の末、とりあえず現在は実用レベルで使用できるようになった。詳しくは【別項】で述べる。
ドライバ名 | リビジョン | タイムスタンプ |
USBUHCD.SYS | 10.137 | 2004-05-25 |
USBOHCD.SYS | 10.137 | 2004-05-25 |
USBEHCD.SYS | 10.137 | 2004-05-25 |
USBD.SYS | 10.123 | 2003-09-30 |
USBHID.SYS | 10.123 | 2003-09-30 |
USBMSD.ADD | 10.135 | 2004-03-24 |
a) USBドライバはW45_PACK収録のものを使用している。これはかなり安定した動作をするドライバで、少なくともUSB 1.1に関しては、まったく何の問題もなく使用できる(逆に言うと、それでも2.0では問題が残っているということだが)。今まで悩まされ続けてきた不安定性やクラッシュの問題はほぼ解決されている。
b) リソース競合ついては【別項】参照。ホント、PnPになってマニュアル設定ができなくなったので、リソース競合の問題が物凄く面倒になっている。無分別にIRQの共有するもんなぁ…。勝手に入ってくんな!Sound Blasterが動かなくなるだろう、てなカンジ…
c) OS/2においては、USBのバージョンの問題は極めて深刻。一般に売られているUSBメモリなんかには「USB 2.0/1.1対応」などと書かれているが、我が家においてUSB 2.0/1.1対応のUSBメモリがUSB1.1のポートでまともに動いたことは一度もない。USB 2.0のポートにおいてさえ、不安定でデータ破損を頻発していた。現在では、「USB 2.0ポート+USB 2.0/1.1メモリ」という組み合わせで比較的安定動作しているが、それでも前述のようにシステムに不可解な負荷が掛かるようになって不快。要するに;
USB 2.0のフラッシュメモリはまともに使えない!
と考えた方が良い状態。一応、2.0でチェックはした結果は次の通り。
メーカー | 型番 | 容量 | サポート | USB1.1ポート | USB2.0ポート |
IOデータ | EasyDisk | 32MB | 1.1 | ○R/W可 | ○R/W可 |
ADTEC | Intelligent Stick | 256MB | 1.1 | ○R/W可 | △データ損傷多発 |
IOデータ | TB-C2 | 256MB | 2.0/1.1 | △Rのみ可 | △Rのみ可 |
pqi | Travelling Disk U190 | 512MB | 2.0/1.1 | ×認識せず | ○R/W可 |
ELECOM | MF-CU204GWH | 4GB | 2.0/1.1 | ×認識せず | ○R/W可 |
2.0対応メモリに関しては、○が付いていても安定動作かどうかはかなり疑わしい。また、ADTECのIntelligent Stickは2.0ポートでデータ破損を頻発したことがあり、「2.0ポート+1.1デバイス」という組み合わせも、決して安全ではないことがわかる。安全性最重視なら;
USB 1.1ポート+USB 1.1専用デバイス
という組み合わせが良い。なお、IOデータのTB-C2はかなり特殊な仕様のようで、OS/2では領域確保ができなかった。これはUSB 2.0/1.1とは別の問題がありそうだ。d) ファイルフォーマットはFATを推奨。実は後述のように、USBメモリやメモリカードリーダーでも、HPFSやFAT32を安定動作させる方法はある。また、リムーバブルストレージのロング名対応というのはかなり重要な問題だ。しかし、だからと言って、いきなりこれらのファイルフォーマットに手を出すと迷路に入り込むことになる。決してスンナリとは使えない。まずはFATで安定動作環境を作ることが最優先。
e) COPYコマンドの/Vオプションの問題はやや特殊かも知れない。お手製のファイルコピー・スクリプトの中でCOPY /Vを使用しているのだが、このスクリプトを使うとコピー先のファイルが破損することを発見した。無論、HDDやネットワークドライブへのコピーのときにはそんな現象は起きない。てか、絶対に起きてはならない(何のための/Vオプションだ!?)。この現象がどのような条件で起きるのかは確定できていないが、FAT32のメディアにファイルをコピーする場合には再現率100%で確認されている。ただし、CACHEF32を使うとこの現象は起きない(…といっても、そもそも遅延書き込みをするのに/Vは無意味だと思うが)。
特に問題になるのは、256MBではWarp 4.52のインストールファイルが入りきらないという点。もっとも、Warp 4.52はそれ以前のOS/2とは異なり、そもそもHDDインストールができない?ようなので、インストールファイルだけ持っていってもあまり意味はないかもしれないが…。
なお、USB 2.0の大容量USBフラッシュメモリにDOSを組み込んで、Warp 4.52のインストールファイルを運ぶという逃げ道がある。ただし、Warp 4.52のインストールディスクはDOSからは読めない!なんか、ISO違反のファイル名が含まれている模様。ゆえに、この方法を使っても生のインストールファイルを運ぶの困難。強いて言えば、OS/2でインストールファイルをZIPして(生でもいけるかな?)FATディスクに置いておいて、それをUSB2.0のDOSシステムから読むか… |
いずれにしろ、256MBでは容量が小さすぎる。まあ、ペン型USBとかカメラ付きUSBのようなギミック系のデバイスの中には、USB1.1専用で1GB以上なんてのもあるようだが、それを買うのもちょっと…。むしろ、
USB1.1のメモリカードリーダー+メモリカード
と言う組み合わせの方が現実的だろう。私は、IOデータのCardDockに512MBのノーブラCFを差して使っている。FATだと2GBが上限だが、HPFSやFAT32ならば、より大きなサイズのメモリカードも扱える。一応、CardDockでADataの16GB CFが使用できることは確認済み。 ただし、取り回しは不便。せめて、ベイ内蔵型のリーダーを使いたいのだが、1.1縛りはなかなかに厄介。
BASEDEV=USBMSD.ADD /V /FLOPPIES:0 /REMOVABLES:1のように組み込む。原則、上記以外のオプションはつけないこと。特に、フロッピーとして扱うオプションを付けてアクセスしたら、データが全部すっ飛んだことがある(T_T)
リムーバブルメディアは、/REMOVABLES:で指定された数だけ自動的にディスクとして登録される。使用していないリムーバブルは、