マイクロソフト社のうんちく話し

1995年の大騒ぎで発売されて以来、Windows 95/98/MEは「パソコン買ったら付いてくる」までになっています。もっとも、最近はXP搭載機種が増えてきましたが。
元々、マイクロソフト社は、BASIC言語のプログラム(PC歴参照)を細々と作っていた会社で、1980年代に発売されたパソコンには、ほとんどの機種にマイクロソフトBASICが搭載されていました。
マイクロソフトが大きくなる転機を迎えたのはIBM社のOS開発に携わってからでしょうか。それが今日のWindowsの源流となるMS-DOSです。まだ、GUIなんてなく、全部キーボードから指示を与えるものでしたが。

Windowsの登場

アップル社のマッキントッシュがGUIを引っさげて登場し、それに追従する感じでMS-DOSにもGUI環境ができました。1985年頃の話ですが、最初に発売になったのが「Microsoft Windows 1.0」です。とにかく、「使いづらい、重い、よく死ぬ」の3拍子そろった製品でしたね(苦笑)。まぁ、「使いづらい」というのは企業努力でどうにでもなりますし、「重い」と言ったら当時のPC性能が貧弱だったので、これも仕方ない。じゃあ、「よく死ぬ」というのは?

なぜよく死ぬか?

当時のPCに載っていたCPUはインテルのi8086というやつでした。
これは、元々8ビットから進化してきたもので、Windowsなどのマルチタスク環境では必須となる「メモリ管理機能」を持っていません。
メモリ管理機能とは、「ここはOSが使うところだから、普通のアプリケーションは読み書きしちゃだめよ」とか細かく設定できる機能で、これがないということは、OSもアプリケーションも同じレベルで動いている(=アプリが勝手にOSの部分を書き換えることができる)ということになります。つまり、アプリケーションが変な動作をしてハングしちゃうと、Windows本体も死んでしまうわけです。

時は流れて...

1995年の末頃にWindows 95は発売になりました。秋葉原では深夜0時に花火を打ち上げたり、かなり大騒ぎだったようです。
この頃のメジャーなCPUはi386、486といったところでしょうか。このCPUは「メモリ管理機能」をサポートした32bitCPUです。
Windows 95は、かなりの部分は、この「メモリ管理機能」の上で動いていますので、以前に比べると格段に死ななくはなりましたが、旧Windowsのソフトとの互換性を保つために、「メモリ管理機能外」で動いている部分も一部残っています。
このため、やはり、アプリケーションが変な動作をしてハングアップした場合、かなりのケースならALT+CTRL+DELキーを押して、動作しなくなったアプリケーションを追い出せば、Windows本体まで死ぬことはないのですが、やっぱり死んじゃうこともありました。青い画面が開いて、泣く泣く電源ボタンやリセットスイッチを押した人も多かったのではないでしょうか。
そのあとの後継としてWindows 98→Windows MEと発売されたのですが、基本となる部分はあまり変わってなく、やはり死にやすい要素はそのままになっています。
蛇足ですが、Windows 95には3種類、Windows 98には2種類の製品が実は存在します。デスクトップ上のマイコンピュータを右クリックして、「プロパティ」を選んで表示される画面で確認することができます。
  1. Windows 95ノーマルバージョン
    上記画面を開いて4.00.950と表示されるのがノーマルバージョンです。これは製品パッケージで販売されているバージョンです。
  2. Windows 95 OSR 1(OEM Service Release 1)
    上記画面を開いて4.00.950aと表示されるバージョンです。これは、初期のPCメーカが標準搭載(OEM)している場合、または製品パッケージにService Pack 1を適用したバージョンであり、ノーマルバージョンでの障害修正がメインです。
  3. Windows 95 OSR 2(OEM Service Release 2)
    上記画面を開いて4.00.950Bまたはcと表示されるバージョンです。これは一般販売はしていません。PCメーカが標準搭載するための専用のWindowsです。
    OSR 2では、FAT32という大容量のドライブが使えるようになりました。
    また、USBは、Bバージョンではオプションで、cバージョンは標準でサポートされています。
  4. Windows 98ノーマルバージョン
    Second Editionと表示されないことから区別できます。製品パッケージおよび、初期のPCメーカが標準搭載(OEM)で提供されています。Second Editionの登場とともに消滅しました。
  5. Windows 98 Second Edition
    Second Editionと表示されることから区別できます。製品パッケージおよび、PCメーカが標準搭載(OEM)で提供されています。ノーマルバージョンは全てこちらに切り替わりました。障害修正と若干の機能追加が図られています。

業務用のWindows NT

実はマイクロソフト社は、この時期に、もう1つのWindowsを売っていました。それが「Windows NT」というもので、主に業務用で使われていました。こちらは、旧Windowsの互換部分をほとんど持ってなく、ほぼ完全に「メモリ管理機能」上で動かしていたため、アプリケーションがハングアップしてもWindows本体まで波及することがありません。
ちなみに、Windows NTはServerとWorkstationの2種類の製品があります。

9X系とNT系の統合

長くWindows 9X系とWindows NT系の2本柱で売っていたWindowsですが、統合しようという動きが出始め、それによって発売されたのがWindows 2000です。Windows 2000は別名Windows NT 5.0と言ってたことからも分かるように、どちらかというとWindows NTに近いロジックで構成されており、このため、Windows 9X系の弱点であった「アプリケーションに引きづられてWindowsが死ぬ」ということは、ほとんどなくなりました。しかし、Windows 2000は、まだハイクラスホビーまたは業務用という位置づけでした。
ちなみに、Windows 2000はDatacenter Server、Advanced Server、Server、Professionalの4種類の製品があります。

Windows XP

Windows 2000は前述のとおり、ハイクラスホビーまたは業務用という位置づけだったため、これを標準搭載して出荷されるマシンは個人向け製品ではほとんどありませんでした。そこで、ホビーにも使えるレベルということで開発されたのがWindows XPです。内部ロジック的にはWindows NTの流れを踏襲していますが、操作性やWindows 9X系アプリケーションの互換性も高められています。個人的には、なんだかゴテゴテくっついて好きではありませんが・・・(笑)
ちなみに、Windows XPではサーバ系製品は切り離されて、Home EditionとProfessionalの2種類の製品になりました。

忘れちゃいけないリソースの話し

Windowsでは、画面に表示されるアイコンやスクロールバーなど、はたまたハードウェア資源にいたるまで「リソース」というもので管理しています。リソースはアイコン1つ何バイト・・・というように消費されていきます(一定じゃないですが)。
Windows 9X系では、このリソース領域全体のサイズは常に固定であり、メモリをいくら増設しても増えることはありません。
今日のように多くのソフトをプレインストールして出荷している状態では、出荷段階でリソース領域は、ほぼ全部使い切っているのが現状です。このため、新しくアプリケーションを買ってきてインストールしただけで、リソース領域不足となってしまい、Windows全体が不安定になることもあります。
Windows 2000やXPのリソース領域は可変であり、不足してくると自動で確保しなおすので、リソース不足が原因による不安定も発生しません。

死ななくするためには?

  1. Windowsのバグの問題
    一般的に前述の構造上の話しやリソースの制約は、どうしようもないことであり、これが「限界に近づきつつある」という根拠ですが、それ以外にもWindows自体に潜在している障害の影響があります。基本的には、出荷の前に充分な製品テストをして、障害(バグといいます)は、すべて解決してから出荷するのが理想ですが、実際のところ、あれだけ巨大なソフトウェアになると潜在的なバグが残ったまま出荷されることもあります。
    Windowsでは、Windows Updateという形で逐次障害の個別修正(パッチ)を出していますので、頻繁にチェックして、特に「重要な更新」のところはすべて反映させましょう。また、これらの修正を累積してに一括修正するSP(Service Pack)やSRP(Security Rollup Package)などもリリースされています。
    http://windowsupdate.microsoft.com/
    http://www.microsoft.com/japan/security/
    http://office.microsoft.com/japan/ProductUpdates/default.aspx
  2. リソース領域を増やそう
    画面のアイコンやハードウェア情報がリソースを消費するということは、既に説明したとおりです。逆に言えば、リソースの消費量を減らすと、ある程度の安定化が図れるということです。不要な常駐ソフトを削除する、使わないアプリケーションを削除する、デスクトップ上のアイコンを整理する・・・などでリソースの減少を抑えることはできますが、かなり地道な作業になります。
  3. Cドライブの残りサイズに注意
    Windowsはメモリが不足してくると、仮想メモリと言って、ハードディスク上に仮想的な記憶領域を確保します。通常はメモリサイズ分前後なのですが、ハードディスク(特にCドライブ)の残りサイズが極端に少なくなると、このための領域を充分確保できないことから不安定になります。100MB程度は常に空いているようにしたいものです。これは、Windows 9X系だけに言える話しではなく、2000やXPでも同じです。ごみ箱の中など、不要なファイルが溜まっていることはありませんか?
    あと、気がつきにくいのですが、インターネットの一時ファイルのサイズが極端に大きく設定されている場合があります。Internet Explorerを起動して「ツール」メニューの「インターネットオプション」を選択。インターネット一時ファイルのところの「設定」をクリックし、使用するディスク領域を調整しましょう。通常、ADSLやFTTH、CATVなどの高速回線だと、1MBもあれば充分です。

設定画面