MicrosoftのRaymond Chen氏は1月19日(現地時間)、「What was the secret sauce that allows for a faster restart of Windows 95 if you hold the shift key?」において、Windows 95でShiftキーを押しながら再起動した場合に起こる高速再起動の仕組みを解説した。
-

What was the secret sauce that allows for a faster restart of Windows 95 if you hold the shift key? - The Old New Thing
Windows 95の内部構成を巧みに利用
Windows 95には、Shiftキーを押したままで再起動をすると、普通に再起動するよりも速くシステムが立ち上がる裏技があった。この場合、システムが実際にシャットダウンする代わりに、画面に「Windowsを再起動しています」と表示して、その後にもう一度Windowsが起動する。画面表示が消えないことから、完全には電源が落ちていないことに気づいていたユーザーも多いだろう。
Chen氏は、Shiftキーを押しての再起動は、通常の再起動とは異なる仕組みで動作していたことを明らかにした。この場合、シャットダウンシーケンスはまず16bit Windowsカーネル自体から始まり、次に32bit仮想マシンマネージャーへと続き、最後にCPUがリアルモードに戻るという。その後、制御はブートストラッププログラムの「win.com」に戻り、プロテクトモードのWindowsを再起動するように特別なシグナルを送る。
win.comは、MS-DOSベースのさまざまなWindowsバージョンをロードするための実行ファイルであり、リアルモードのWindowsは、最小限のリソースでMS-DOSベースのアプリケーションを実行する8086互換モードである。32bitプロテクトモードのWindows 95は、このリアルモードのMS-DOSをベースとして、主要なモジュールを置き換える形で動作する。
すなわち、Shiftキーを押したまま再起動をかけた場合、win.comはPCの電源を切ることなく、プロテクトモードのWindows 95のリセットを試みるということだ。これが成功すると、win.comはプロテクトモードのWindowsに制御を移して、仮想マシンマネージャーを再作成し、その後GUIを立ち上げる。これが、高速で再起動したように見える仕組みである。
Chen氏は、メモリーの断片化によって高速再起動が失敗するケースや、呼び出されない関数のメモリーを未初期化データとして再利用するトリックなど、古いアーキテクチャー上のポイントについても説明している。
このような過去の制約や工夫を理解することは、現在のシステムが持つ設計思想や前提条件を正しく読み解くことにつながる。そうした視点は、技術と長く付き合っていくうえでの支えになるだろう。