コンピュータ科学において、ステータスキーとは、オペレーティングシステムやプログラムが端末にステータス情報を出力するキーボードのキーのことです。端末上のプログラムが実行中であることを示さない場合、ステータスキーを入力するとプログラムの状態とアクティビティが表示されます。[ 1 ] 古い実装では、ステータスキーが押されたときに現在のジョブのステータスレポートが1行だけ表示されていました。[ 2 ]新しい実装では、現在のプロセスにシグナルを送信することで、アプリケーションがステータスレポートを送信できるようになりました。[ 3 ]
オペレーティングシステムレベルの実装
いくつかの異なるオペレーティング システムでは、カーネルまたはその他の低レベル コンポーネントにステータス キー機能が実装されています。
テネックス
TENEXには少なくとも1971年から次のような機能がある。「端末割り込み文字であるCtrl-TはEXECによって処理される。これはユーザーのEXECプロセスを中断し、CPUとコンソールの合計使用時間、およびEXECで実行されているフォークのステータスを入力する。」[ 4 ]
12月RSTS/E
RSTS/E には、少なくとも 1977 年以降、CTRL/T (コントロール + T) がステータスキーとして搭載されていたことが記録されており、少なくとも 1980 年代までその状態が続きました。ステータスキーを入力すると、以下の例に示すような出力が表示されます。[ 5 ] [ 6 ] [ 2 ]
18 GARP::KB32 SYSTAT+BAS4F ^C(0R) 11(16)K+ 16K 3.3(+5)
| 分野 | 価値 |
|---|---|
| ジョブ番号 | 18 |
| ノード名 | ガープ |
| キーボード番号 | KB32 |
| プログラムまたは操作 | シスタット |
| ランタイムシステム名 | BAS4 |
| ジョブの状態 | ^C(0R) |
| プログラムサイズ(単語数) | 11 |
| 最大文字数 | (16)K |
| ランタイムシステムのサイズ(ワード単位) | +16K |
| 使用されたCPU時間の量 | 3.3 |
| 最後のCTRL/TからのCPU時間 | (+.5) |
12月のトップ10
TOPS-10では、CTRL/T(コントロール-T)キーが押されると、モニターは端末上のジョブに関するステータス情報を表示します。CTRL/Tを入力すると、ジョブの実行を中断することなく、ジョブの進行状況が表示されます。端末にはコントロール-T文字は表示されず、ステータス情報のみが表示されます。[ 7 ]
日: :05:43 ラン:0.48 ロード:75 勝率:8 SOS 12+19p ^C コントロール:1 PC:400275
下の表の増分値は、ログインまたは最後のCTRL/Tのいずれか短い方からの累積値であることを示しています。[ 7 ]
| 分野 | 価値 |
|---|---|
| 昼間の時間の増加 | 日付: :05:43 |
| 増分実行時間 | ラン:0.48 |
| 増分ディスク読み取り | RD:75 |
| 増分ディスク書き込み | WR:8 |
| プログラム名 | SOS |
| プログラムが使用しているメモリの量 | 12+19ページ |
| コンテキスト番号 | クリック:1 |
| ジョブ状態コード | ^C |
| プログラムカウンタ | PC:400275 |
| ジョブの状態、INPUT WAIT または OUTPUT WAIT | (CTRL/T を USER レベルで使用する場合のみ) |
12月のトップ20
TOPS-20は、以前のものよりも短い情報リストを報告しています。[ 9 ]
09:36:35 TEST 404157 で実行中 0:00:35.8 使用時間 0:30:39、負荷 4.04
| 分野 | 価値 |
|---|---|
| 時間 | 09:36:35 |
| 名前 | テスト |
| 状態 | 404157で実行中 |
| 使用されたCPU時間 | 使用時間 0:00:35.8 |
| ログイン時間 | 0:30:39で |
| 負荷平均 | ロード4.04 |
MIT ITS
ITSはTOPS-20のアイデアをコピーしましたが[ 10 ]、キーシーケンスControl+を使用しました。[ 11 ]_J
19:29:10 3 RMS HACTRN EMACS1 130566
| 分野 | 価値 |
|---|---|
| 時間 | 19:29:10 |
| 求人インデックス | 3 |
| ユーザー名 | RMS |
| ジョブ名 | ハクトラン |
| システム名 | EMACS1 |
| ユーザープログラムカウンタ | 130566 |
VSI OpenVMS
OpenVMSにはカスタマイズ可能でリモートプロセスで動作するステータスキーがあります。[ 12 ] デフォルトの出力には以下の項目が含まれます: [ 1 ]
NODE22::SMITH 16:21:04 (DCL) CPU=00:03:29.39 PF=14802 IO=18652 MEM=68
| 分野 | 価値 |
|---|---|
| ノードとプロセス名 | NODE22::スミス |
| 時刻 | 16:21:04 |
| アクティブな画像名 | (DCL) |
| 使用されたプロセッサ時間 | CPU=00:03:29.39 |
| 累積ページフォールト | PF=14802 |
| I/O操作 | IO=18652 |
| 使用中のフレーム | メモリ=68 |
BSD UNIX
4.3BSD-Reno、[ 13 ] [ 14 ] [ 15 ]このバージョンから派生したBSDシステムとOSF/1には、デフォルトでCtrl-Tになっているステータスキーがあり、任意のキーに割り当てることができます。[ 3 ] [ 16 ]このキーは、デフォルトでは無視される現在のプロセスにSIGINFO を送信しますが、プログラムからステータス情報を表示できる関数を呼び出すように設定できます。[ 17 ] [ 18 ]
負荷: 0.10 コマンド: スリープ 1594 [nanslp] 1.33r 0.00u 0.00s 0% 1864k
| 分野 | 価値 |
|---|---|
| 5分間の負荷平均 | 負荷: 0.10 |
| コマンド名 | コマンド: スリープ |
| プロセスID | 1594 |
| 待機チャネル名またはロック名 | [ナンスルプ] |
| 経過実時間 | 1.33r |
| 経過したユーザーCPU時間 | 0.00u |
| 経過システムCPU時間 | 0.00秒 |
| CPUの割合 | 0% |
| プログラムメモリ常駐セットサイズ | 1864k |
macOS
macOSにはMachとFreeBSDのコードを持つXNUカーネルが搭載されているため、[ 19 ]ターミナルドライバはBSDステータスキーをサポートしています。[ 20 ] [ 21 ] [ 22 ]
ロード: 3.04 コマンド: スリープ 719 待機 0.00u 0.00s
| 分野 | 価値 |
|---|---|
| 5分間の負荷平均 | 負荷: 3.04 |
| コマンド名 | コマンド: スリープ |
| プロセスID | 719 |
| 待機チャネル名またはロック名 | 待っている |
| 経過したユーザーCPU時間 | 0.00u |
| 経過システムCPU時間 | 0.00秒 |
アプリケーションレベルの実装
カーネルまたは関連する OS コンポーネントにステータス キーを実装することに加えて、一部のアプリケーションには、キーを押してアプリケーションのステータスを表示できる機能があります。
1969年にBBN Lispを実行したSDS-940
SDS 940上で動作するBBN Lispには、OSカーネル自体ではなく、OS上で動作するLispに実装されたステータスキーがありました。 [ 23 ]
コントロール+T 印刷時間。即時に 合計実行時間のプリントアウト (時間単位で)仕事のために、(たとえ ガベージコレクション中)つまり 時計[2](p. 14.22)。一連の このような印刷物は増加を示すはずである プログラムが使用している場合の数値 CPU時間。もちろん、プログラムは 待機中の場合はCPU時間を使用しない 入力してください。この情報は ユーザーが判断するのに役立つ 彼のLISPおよび/またはタイムシェアリングシステム tem がクラッシュしました。
参考文献
- ^ a bミラー、デイビッド・ドナルド (1997). Open VMS オペレーティングシステムの概念. エルゼビア. p. 151. ISBN 978-1-55558-157-2。
- ^ a b RSTS/Eシステムユーザーズガイド(PDF) . Maynard, MA: Digital Equipment Corporation. 1985. pp. 4– 10. 2007年8月16日時点のオリジナルよりアーカイブ(PDF) 。
- ^ a bケリスク、マイケル(2010). 『Linuxプログラミング・インターフェース:LinuxおよびUNIXシステムプログラミング・ハンドブック』No Starch Press. p. 1299. ISBN 978-1-59327-291-3。
- ^ Daniel G. Bobrow; Jerry D. Burchfiel; Daniel L. Murphy; Raymond S. Tomlinson (1971-08-15). 「4.4 割り込み文字」. TENEX, PDP-10用ページング・タイムシェアリング・システム(PDF) (レポート).
- ^ BASIC-PLUS-2 RSTS/E ユーザーズガイド(PDF) . Maynard, MA: Digital Equipment Corporation. 1977. pp. 4– 10. 2006年10月9日時点のオリジナルよりアーカイブ(PDF) 。
- ^ RSTS/E システムユーザーズガイド(PDF) . Maynard, MA: Digital Equipment Corporation. 1979. pp. 4– 13. 2005年3月29日時点のオリジナルよりアーカイブ(PDF) 。
- ^ a b TOPS-10オペレーションシステムコマンドマニュアル. Maynard, MA: Digital Equipment Corporation. 1988. pp. 1– 7. 2017年12月4日時点のオリジナルよりアーカイブ。
- ^ TOPS-20 ユーザーズガイド. Maynard, MA: Digital Equipment Corporation. 1982. pp. 8– 5. 2017年12月4日時点のオリジナルよりアーカイブ。
- ^ TOPS-20 ユーザーズガイド. Maynard, MA: Digital Equipment Corporation. 1982. pp. 8– 5. 2017年12月4日時点のオリジナルよりアーカイブ。
- ^ 「Re: ああ、本物の炎上戦争だ :)」 GitHub 2000年3月24日
- ^ 「ITSTTY」 . GitHub .
- ^ Peleg, Guy (2006年10月1日). 「OpenVMS Utilties Update」(PDF) . OpenVMS News . Bruden On Shore Systems Group. 2017年12月6日時点のオリジナルよりアーカイブ(PDF) . 2017年11月6日閲覧.
- ^ Karels, Michael J. (1989-08-26). 「Computer Systems Research Group BSD Distribution signal.h 7.5」 .カリフォルニア大学バークレー校Computer Systems Research Group BSDリポジトリのSCCSからfossilへの変換. カリフォルニア大学評議員会. 2017年12月5日閲覧.
#define SIGINFO 29 /* 情報要求 */
- ^ Teitelbaum, Marc (1989-10-26). 「Computer Systems Research Group BSD Distribution tty.c 7.18」 .カリフォルニア大学バークレー校Computer Systems Research Group BSDリポジトリのSCCSからfossilへの変換. カリフォルニア大学評議員会. 2017-12-05閲覧.
^Tプロトタイプを追加
- ^ Teitelbaum, Marc (1990-05-01). 「Computer Systems Research Group BSD Distribution tty.c 7.22」 .カリフォルニア大学バークレー校Computer Systems Research Group BSDリポジトリのSCCSからfossilへの変換. カリフォルニア大学評議員会. 2017年12月5日閲覧.
^T
- ^ – BSD一般コマンドマニュアル
- ^ルーカス、マイケル・W (2015). 『Tarsnap Mastery』 ティルテッド・ウィンドミル・プレス. p. 71.
- ^ Lavigne, Dru (2004). BSD Hacks 100 Industrial Tip & Tools . O'Reilly Media. ISBN 978-0-596-55256-5。
- ^ 「BSD概要」 Apple社、2013年8月8日。 2022年3月13日閲覧。OS
XカーネルのBSD部分は主にFreeBSDから派生している。
- ^ "darwin-xnu/bsd/sys/ttydefaults.h" . Github . Apple Computer, Inc. 2007-10-29 . 2017-12-05閲覧.
#define CSTATUS CTRL('t')
- ^ "darwin-xnu/bsd/sys/signal.h" . Github . Apple Computer, Inc. 2017-09-26 . 2017-12-05閲覧.
#define SIGINFO 29 /* 情報要求 */
- ^ "darwin-xnu/bsd/kern/tty.c" . Github . Apple Computer, Inc. 2017-09-26 . 2017-12-05閲覧.
フォアグラウンドプロセスグループの状態に関するレポート。
- ^ Bobrow, Daniel ; Murphy, Daniel ; Teitelman, W (1969年4月). 「セクション23.10」. BBN-LISPシステムリファレンスマニュアル(PDF) .