ステータスキー

コンピュータ科学において、ステータスキーとは、オペレーティングシステムプログラムが端末にステータス情報を出力するキーボードのキーのことです。端末上のプログラムが実行中であることを示さない場合、ステータスキーを入力するとプログラムの状態とアクティビティが表示されます。[ 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にはMachFreeBSDのコードを持つ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 がクラッシュしました。 

参考文献

  1. ^ a bミラー、デイビッド・ドナルド (1997). Open VMS オペレーティングシステムの概念. エルゼビア. p. 151. ISBN 978-1-55558-157-2
  2. ^ a b RSTS/Eシステムユーザーズガイド(PDF) . Maynard, MA: Digital Equipment Corporation. 1985. pp.  4– 10. 2007年8月16日時点のオリジナルよりアーカイブ(PDF) 。
  3. ^ a bケリスク、マイケル(2010). 『Linuxプログラミング・インターフェース:LinuxおよびUNIXシステムプログラミング・ハンドブック』No Starch Press. p. 1299. ISBN 978-1-59327-291-3
  4. ^ Daniel G. Bobrow; Jerry D. Burchfiel; Daniel L. Murphy; Raymond S. Tomlinson (1971-08-15). 「4.4 割り込み文字」. TENEX, PDP-10用ページング・タイムシェアリング・システム(PDF) (レポート).
  5. ^ BASIC-PLUS-2 RSTS/E ユーザーズガイド(PDF) . Maynard, MA: Digital Equipment Corporation. 1977. pp.  4– 10. 2006年10月9日時点のオリジナルよりアーカイブ(PDF) 。
  6. ^ RSTS/E システムユーザーズガイド(PDF) . Maynard, MA: Digital Equipment Corporation. 1979. pp.  4– 13. 2005年3月29日時点のオリジナルよりアーカイブ(PDF) 。
  7. ^ a b TOPS-10オペレーションシステムコマンドマニュアル. Maynard, MA: Digital Equipment Corporation. 1988. pp.  1– 7. 2017年12月4日時点のオリジナルよりアーカイブ
  8. ^ TOPS-20 ユーザーズガイド. Maynard, MA: Digital Equipment Corporation. 1982. pp.  8– 5. 2017年12月4日時点のオリジナルよりアーカイブ
  9. ^ TOPS-20 ユーザーズガイド. Maynard, MA: Digital Equipment Corporation. 1982. pp.  8– 5. 2017年12月4日時点のオリジナルよりアーカイブ。
  10. ^ 「Re: ああ、本物の炎上戦争だ :)」 GitHub 2000年3月24日
  11. ^ 「ITSTTY」 . GitHub .
  12. ^ Peleg, Guy (2006年10月1日). 「OpenVMS Utilties Update」(PDF) . OpenVMS News . Bruden On Shore Systems Group. 2017年12月6日時点のオリジナルよりアーカイブ(PDF) . 2017年11月6日閲覧.
  13. ^ 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 /* 情報要求 */
  14. ^ 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プロトタイプを追加
  15. ^ 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
  16. ^stty(1)  –  BSD一般コマンドマニュアル
  17. ^ルーカス、マイケル・W (2015). 『Tarsnap Mastery』 ティルテッド・ウィンドミル・プレス. p. 71.
  18. ^ Lavigne, Dru (2004). BSD Hacks 100 Industrial Tip & Tools . O'Reilly Media. ISBN 978-0-596-55256-5
  19. ^ 「BSD概要」 Apple社、2013年8月8日。 2022年3月13日閲覧。OS XカーネルのBSD部分は主にFreeBSDから派生している。
  20. ^ "darwin-xnu/bsd/sys/ttydefaults.h" . Github . Apple Computer, Inc. 2007-10-29 . 2017-12-05閲覧. #define CSTATUS CTRL('t')
  21. ^ "darwin-xnu/bsd/sys/signal.h" . Github . Apple Computer, Inc. 2017-09-26 . 2017-12-05閲覧. #define SIGINFO 29 /* 情報要求 */
  22. ^ "darwin-xnu/bsd/kern/tty.c" . Github . Apple Computer, Inc. 2017-09-26 . 2017-12-05閲覧.フォアグラウンドプロセスグループの状態に関するレポート。
  23. ^ Bobrow, Daniel ; Murphy, Daniel ; Teitelman, W (1969年4月). 「セクション23.10」. BBN-LISPシステムリファレンスマニュアル(PDF) .