システムリクエスト
システムリクエスト(system request)は、PC/AT互換機のキーボードについているキーであるが、今日では使用頻度が低い[1]。"SysRq"と刻印されており、SysRqキーとも呼ばれる。
パーソナルコンピュータではメインフレーム接続用の端末エミュレータで使用されるが、パーソナルコンピュータでは伝統的にコマンド入力モードへの切替にはEscキーを使用するアプリケーションが多い事もあり、SysRqキーは一部のディスプレイ切替装置用ソフトウェアや、LinuxカーネルでのマジックSysRqキーなどを除き、使用頻度が低い。
歴史
編集SysRq(システムリクエスト)キーは、本来は操作中にシステムに対するコマンド入力モードに切り替えるためのキーである。パーソナルコンピュータではIBMのPC/ATで初めて導入され、その101キーボードに搭載された。どんな既存のソフトウェアと干渉する可能性なしに低レベルのオペレーティングシステムの機能を直接使用するための特別なキーとして使われることを目的としていた。
SysRqキーを押したり離したりしたときに、それをOSに通知するための特別なBIOSルーチン(ソフトウェア割り込み0x15、サブファンクション0x85[2])が追加された。他のキーとは異なり、キーが押されるときにキーボードバッファには何も保存されない。
SysRqキーを押下することで呼び出されるOSの機能は、OSによって違っていた。1980年にIBM PCが作られたとき、IBM PCで使用される3つの主要なオペレーティングシステムがあった。PC DOS、CP/M-86、UCSD p-Systemである[3]。1984年ごろにXENIXがそれに加わった。SysRqキーは、複数のオペレーティングシステムが同じコンピュータで動くことができるようにするために加えられた。そして、それにはPC/ATの286チップの能力を利用した[4]。
当時の大部分のソフトウェアが、OSを完全に回避して低レベルで動作しており、一般に多くのホットキーの組合せを利用していたので、それらと干渉しない特別なキーが必要だった。Terminate and Stay Resident(TSR)プログラムの使用が、さらに問題を複雑にした。タスク切り替えやマルチタスク環境を実現するために、特別な別のキーが必要であると考えられていた。これは、Windows NTでControl-Alt-Deleteが導入されたことと類似している。
84鍵キーボードでは、SysRqキーは独立したキーだった。後の101鍵キーボードでは物理的なキーをプリントスクリーンと共用しており、SysRqキーとして動作させる場合はAltキーと同時に押す必要がある。
デフォルトのBIOSキーボード・ルーチンは、SysRqキーが押されても単純に無視して、何の動作もせずに戻る。MS-DOSの入力ルーチンも同様である[1]。多くの高級言語で提供されるライブラリのキーボード・ルーチンも、先例に従った。今なおSysRqキーのついたキーボードが製造され続けているが、ほとんどのユーザにとってはSysRqキーは意味がないものになっている。
現代の利用法
編集Linuxにおいて、システムのデバッグやクラッシュからの回復のための機能を提供するようにカーネルを構成することができる[5]。この機能はマジックSysRqキーと呼ばれている。
マイクロソフトは、OSレベルやアプリケーションレベルのデバッガでSysRqキーを使用する。CodeViewでは、システム実行中にデバッグを開始するときにSysRqキーを使用する[6]。Windows NT遠隔カーネルデバッガでは、システムにデバッガを強制するのに用いる[7]。
組み込みシステムでは、SysRqキーは通常、低レベルのRESET#シグナルをアサートするのに用いられる[8]。
Windowsにおいては、本来SysRqキーを意味する⎇ Alt+⎙ PrtScが、現在選択されている(フォーカスされた)ウィンドウの画面キャプチャの機能に割り当てられている。
類似のキー
編集1970年に製作されたメインフレーム環境のIBM 3270端末などでは中断キー(interrupt key)があり、z/OSなどのTSO使用時にはVTAMコマンドが入力可能になり、z/VMなどのCMS使用時にはCPコマンドが入力可能になる。
脚注
編集- ^ a b “What is the SysRq key for?”. comp.os.msdos.programmer FAQ. 2008年1月8日閲覧。
- ^ “Ralf Brown's Interrupt List”. 2008年1月8日閲覧。
- ^ “Original IBM PC Product fact sheet”. IBM Information Systems Division (August 12, 1981). January 13, 2010閲覧。
- ^ Personal interview with Sandy Meade, creator of the SysRq key
- ^ “Linux Magic System Request Key Hacks”. Linux kernel. 2008年1月8日閲覧。
- ^ “Returning Control to CodeView”. Microsoft Knowledge Base. 2008年1月8日閲覧。
- ^ “How to enable a remote kernel debugger connection on a computer that is running Windows Server 2003 with Service Pack 1”. Microsoft Knowledge Base. 2008年1月8日閲覧。
- ^ “MicroVGA datasheet”. 2016年4月7日閲覧。