gorogoronyan FC2

WindowsXP の最小システムサイズ

OS のシステムファイルはどのように構成されているか?、 についての落書きです。

Windows は起動が遅い

Windows は起動が遅い、システムがでかい、 という話がよく出てきますが、たとえば、WindowsXP で起動に必要な最小限のシステムファイルのサイズは いくらになるでしょう?。

答え:68MB 弱です。

たったそれだけの容量?と思うかもしれないけど、 Linux に簡素なウインドシステムを載せたものでも 50MB ほどの容量です。 Windows95 はもっと容量が少ないです。

WindowsXP SP2 最小時の WINDOWS フォルダのサイズ
WindowsXP SP2 最小時の WINDOWS フォルダのサイズ

ファイルサイズ合計 67.1MB、ファイル数 178個。 WindowsXP を起動するとログファイルや設定ファイルが いくつか作られるので、起動後のファイル数は 190個ほどになります。

WindowsXP SP2 最小システムのフォルダ構成
WindowsXP SP2 最小システムのフォルダ構成

システムの起動はとても高速です。 2003年のノートPC(Dell 500m, Pentium M 1.3GHz, 昔の遅い 2.5" HDD) でも、OS選択メニューからログオン画面まで 10秒少々です (起動時間にはこれ以外に電源 ON 時のハードウェアの初期化の時間も必要)。 もう少し必要なシステムファイルを足してファイル数 335個にした システムでも起動時間は13秒弱ぐらいです。

WindowsXP SP2 最小システムで起動したときのデスクトップ画面
WindowsXP SP2 最小システムで起動したときのデスクトップ画面

上の最小限のシステムではまだ日本語が扱えません。 ログオンして、デスクトップを表示して、 ウインドシステムやファイルエクスプローラが使える程度の いよいよ最小限のシステムです。 ここからプロンプト(480kB)、日本語フォント(8.1MB)、 辞書(36MB)、IME(330kB)のファイルを入れて \WINDOWS のシステム容量は 112MB ほど。 これで日本語の表示や入力が行えるようになります。

この段階では、まだ周辺機器のドライバーがありません。
WINDOWS\system32\drivers には起動に必須の 36個のファイルがあります。 画面の表示、ウインドシステム、キーボード、PS/2マウスは動作するけど、 CD-ROM や USB ストレージは使えず、ネットワークも使えない状態です。 ここから CD ドライブ、USB ストレージ、USB マウスなどのドライバ (合計約数百kB)を入れて、この段階でシステム容量 113MB (ファイル数約 210個)になります。 このシステムでトラブル発生時の緊急の予備システムぐらいにはなります。 テキストエディタで日本語を入力したり、 エクスプローラでユーザデータファイルを USB ストレージにコピーしたりするといった作業が可能になります。

さらに音声とネットワーク関連のドライバを入れてシステム容量は 約 120MB。この段階で数百kB ぐらいの軽い音楽再生ソフトをもってくれば、 MP3 や AAC などの音楽ファイルの再生が可能になります。 ネットワークも最低限使えます。 ただし、まだ Web ブラウザは入っていません。 IE の代わりに Firefox を入れて、\program files の方で30MB ほど必要です。

さらに使用頻度の高い他の重要なシステムファイルも入れて、 \WINDOWS のシステム容量は約 150MB(\program files のアプリケーション容量は含まず)。 これで、ホームページを見たり、映像や音楽を再生したり、 エディタやオフィスソフトを使ったりといった一通りの作業ができます。

この時点ではまだ多言語対応にはなっていません。 英語と日本語表示・入力に対応しているだけです。 ここから多言語対応のファイルを入れ、 ヘルプファイルや効果音の音声ファイルや画像などのリソースファイル類、 各種ツール、過去の残骸および一生使わないであろう(笑) システムファイルやセキュリティの泥沼を発生させる(笑) システムファイル を足して、 システムファイルの合計は 650MB ぐらい。 このあたりでまるごとバックアップを保存する程度のシステムになります。

ここからさらに、ドライバのバックアップファイルや こまごましたファイルを足して WindowsXP SP1 で合計約 855MB (ファイル数約6,400個)。 さらに\Windows の中のいたるところに存在するバックアップファイル (system32\dllcache など)を足すと Windows XP の普通のインストール状態になります。 手元の PC の WindowsXP SP1 で約 1.2GB (ファイル数 9,000弱)。 みなさんの PC でも WindowsXP SP1 を CD-ROM からクリーンインストールした直後で これぐらいの容量になっていると思います。

で、Windows PC を使い続けていると、上に加えて WindowsUpdate や ServicePack がログファイルや バックアップファイルなどいろいろな残骸を残すので、 これを含めると・・・ みなさんのパソコンの \WINDOWS フォルダは 容量がいくらぐらいになっていますか?・・・。 一見巨大に見えるけど、Windows のシステムの半分ぐらいは バックアップファイルやWindows Update で撒き散らした 肥満の贅肉です・・・ぶよんぶよん。 システムのバックアップをとるときには、 こんなもんまでバックアップする必要はありません。

ぜんぜん関係ないけど

最初に紹介した最小システムのシステムファイル・・・、 ここにセキュリティ上の欠陥があると、 上でつぎはぎしてもどうしようもありません。 Windows Update するたびによく日付が更新される dll ファイルがこういう心臓部のファイルです・・・。

ホームページでおなじみの Flash もプラグインの dll ファイルは 3.8MB ほど(2010年頃) の小さなファイルです。 プログラミングに関与しない人からすると、 たいした容量もないファイルに見えるかもしれなけど、 これと Windows の下回りの仕組みだけで Flash のさまざまな機能を実現しています。 プログラムを作る人々はわかると思うけど、3.8MB の実行コード (ただし、画像などのリソース類やデバッグやテストのコードを含まない) というのはけっこう巨大なソースになります。 これが Java や C# ではなくて、 C++ になるとさらに一段とややこしくなる・・・。 そして、たったこれだけのプログラムでも、 バグをとりつくすのには膨大な手間と気長が時間がかかる・・・。

追記

追記 2020

その後、Java は引退、Flash も引退、FTP も引退、IE も引退。 Windows は Vista、7 と悪化の一途をたどるだけだった・・・ こちらも引退させようかな?と思いつつ、小回りの利く軽い OS を探索するのも面倒なこの頃・・・。

追記 2024

その後さらに Windows10 の時代になり、OS リカバリーでバックアップを取ると 20GB 少々ぐらいの時代に・・・。 足元ではすでに Windows11 になっているらしい・・・まったく関心もないけど。

先端文明と不毛の中世暗黒時代の話に続く。

inserted by FC2 system