Ctrl+Alt+Delete
読み:コントロール-オルト-デリート
外語:Ctrl+Alt+Delete

 PC/AT互換機において、ソフトリセット(再起動)をしたり、Microsoft Windowsその他のOSで特殊な動作をさせるためのキー操作。
目次

概要

由来
 IBM PCの設計時、フリーズしたPCを再起動するシンプルな設計が必要と判断されたため、最初の開発者12人のうちの一人、デビッド・ブラッドリー(David J. Bradley)が5分で考案し、BIOSの処理を書き上げた、とされる。
 元々はCtrl+Alt+Escとして作られたとされるが、誤って手がぶつかった場合などに意図せぬ再起動が発生し危険なため、その後、片手では絶対に押せないようにEscの代わりにDeleteを採用した、とされている。
 この機能により、初期のOS環境では、CtrlキーAltキーとDeleteキーを同時に押下すると、PCはソフトリセットされた。

発案者のその後
 このコードが書かれた時は、まさかこれで有名になるとは思われていなかったが、この点だけでデビッドは有名になってしまった。
 それはMicrosoft Windowsの登場のためであり、Ctrl+Alt+Deleteのキー操作は頻繁にハングアップするWindowsで度々使われたからである。
 IBM PCの20周年の祝典でデビッドは、Microsoftの創業者ビル・ゲイツなどIT業界の大物数名とのパネルディスカッションに参加した。ここでCtrl+Alt+Deleteのキーボード操作が話題に上った際、「Ctrl+Alt+Deleteを考案したのは私だ。しかしそれを有名にしたのはビルだ」と発言した。しかしビルは笑わなかったそうである。

特徴

BIOS
 Ctrl+Alt+Deleteによって再起動をする、というのは、元々はBIOSによる処理であり、BIOSを使わないシステムでは(本来は)無関係である。
 しかし、Ctrl+Alt+Deleteというキー操作は人気があり、PC/AT互換機で動作する殆どのOSで、このキーに何らかの機能を与えている。
 MS-DOSのようなリアルモードで動作するOS、Windows 3.0、そしてスタンダードモードで起動されたWindows 3.1では、BIOSのキーボード処理にてCtrl+Alt+Deleteのキー操作が認識される。

Windows

MS-DOSベースのWindows
 386エンハンスドモードで動作しているWindows 3.1と、Windows 95Windows 98Windows 98 SEWindows MeはBIOSを使っておらず、キー操作はWindowsのキーボードデバイスドライバーが認識し、処理をする。
 この環境では、再起動の処理はキーボードデバイスドライバーに実装されており、「SYSTEM.INI」ファイルの[386Enh]セクションにある項目「LocalReboot」の設定により設定を変更することができる。
 デフォルト設定は何れのOSでも「On」である。但し、Windows 3.1と、Windows 95以降では画面が大きく違っている。
 Windows 3.1の場合、青画面に切り替わる。Enterを押して現在のタスクの強制終了するか、もう一度Ctrl+Alt+Deleteを押してソフトリセットするかをユーザーに選ばせる。
 Windows 95以降では、現在実行中のプロセス一覧が表示され、応答のないプロセスはその旨を表示する。動作しないプロセスを終了するか、もう一度Ctrl+Alt+Deleteを押してソフトリセットするかをユーザーに選ばせる。

Windows NT以降
 Windows NT系では、ログオン・ログオフに使うキーとなり、ソフトリセットとは無縁となった。
 これは、公式にはセキュリティのため、とされている。
 なぜなら通常のアプリケーションは定義できないキーの組み合わせ(キーコンビネーション)であり、絶対に通常のアプリケーションが使っていない、唯一のキーの組み合わせだからである。
 ログオン画面を偽装するスパイウェア対策を考えると、ログオン画面を表示させるというセキュリティリスクの高い操作には最適のキー操作であり、新たなキー操作を定義する合理的理由はなかった、といった説明がなされている。
 そしてWindows NT系では、原則としてCtrl+Alt+Deleteを受け取ることができるのはwinlogon.exeというプロセスのみであるため、例えパスワードを奪おうとする悪意あるソフトウェアを作ろうとしても、理論上はできない。
 しかし現実として、どう考えても障害者や高齢者に優しくないキー操作を、強引にこのような重要な箇所に採用したのは、Ctrl+Alt+DeleteからWindowsのハングアップを連想させなくするための必死の抵抗とも考えられる。

Linux
 Linuxの場合もBIOSは用いていない。キー入力は、キーボードデバイスドライバーが受け持っている。
 そして、通常はCtrl+Alt+Deleteを認識すると、SIGINTシグナルをinitに対して送信する。initは、/etc/inittabファイルを参照し、ここに書かれているctrlaltdelアクションを実行する。通常は、次のような設定になっている。
 # Trap CTRL-ALT-DELETE
 ca::ctrlaltdel:/sbin/shutdown -t3 -r now
 しかしながら、このキー操作は誰でも実行可能である。つまり、コンソールに触れる全てのユーザーがshutdownする権限を持っているのに等しく、セキュリティ上好ましくない。このため、最近のディストリビューションでは、初期設定でこの機能は停止されていることが多い。
 有効を無効に設定変更するには、rootになってから、/etc/inittabの該当行を#でコメントアウトすればよい。その後再起動するか、次のinitコマンドで/etc/inittabの再読み込みを行なうと、設定が反映される。
 init q

再検索