『そして、WinMEは過酷な状況で予想以上に安定している。』

http://www3.coara.or.jp/~tomoyaz/higaax07.html#070513
今日の必ずトクする一言 -- TODAY'S REMARK --
ゼロスピドルパソコンは超石器時代の夢をみるか?のナゾ
 
 ちょっと長くなるけど、かなり興味深いので引用。
Meたんが、ドジっ娘じゃなくなるなんて!時代の進歩は凄い!
 


そして、WinMEは過酷な状況で予想以上に安定している。
Win9Xの不安定な理由としてリソース容量の制限の他に、
16bitコードが動作しているあいだ、
プリエンプティブなマルチタスクが働かないことがある。
16bitコードは一定時間毎に制御をOSに返すことでマルチタスクを実現しているので、
16bitコードが走っている間はプロセス制御や通信のレスポンスが制限される。
 
 Win3.Xから引き継いだ16bitコードは、
タイトなアセブラで書かれているために処理が速く、
システムが小さいうちはボロが出ない。
しかし、プロセス制御が煩雑になり、16bitコードが処理に手間取って
制御をOSに返さなくなるとプロセス制御が破綻する。
さらに16bitコードは同一メモリー空間をシェアするために
お互いに保護されていない。
 
 OSの制御の中で頻繁に待ち時間が発生するのがディスクアクセスであり、
これが滞るとタイムアウトとなりシステムが不安定となる。
シリコンディスクではバースト的な転送速度は遅いが、
ランダムアクセスでもレスポンスが低下しないために
Win9Xの脆弱性が隠蔽されると考えられる。
特にwin9Xでは、巨大なActive-XやJAVAでは不安定となりやすいのだが、
WinMEはまるでNT族のように安定している。
 
(中略)
 
 そもそも、世間ではUDMAモードの性能には間違った期待が大きい。
そもそもハードディスクのDMAモードとは、
カタログデータを飾るようなピーク転送速度を実現するためではなく、
ディスクアクセスが重くなったときに
CPUをムダに拘束しないことが一番の目的なのである。
もちろん、ディスクアクセスが滞るとCPUのお仕事も事実上止まってしまう。
仕様的には遅いシリコンディスクが意外な速度を発揮するのは、
ランダムアクセスに依存性が高いWin族の根元的な問題と深くかかわっている。