envsys

環境システムフレームワーク(バージョン2)
原作者フアン・ロメロ・パルディネス(2007)
開発者NetBSD財団
初回リリース2007年7月1日 (2007年7月1日
リポジトリ/sys/sys/envsys.h
書かれたC
オペレーティング·システムNetBSD 5.0以降
タイプシステム監視
ライセンスBSDライセンス#4条項
Webサイトenvsys(4)
環境システムAPI
原作者ティム・ライトナーとビル・スクワイア(2000)
開発者NetBSD財団
初回リリース1999年12月15日 (1999年12月15日
最終リリース
NetBSD 4.0.1 / 2008年10月14日 (2008年10月14日
リポジトリ/sys/sys/envsys.h
書かれたC
オペレーティング·システムNetBSD 1.5 から 4.0.1
タイプシステム監視
ライセンスBSDライセンス#4条項
WebサイトNetBSD 4.0のenvsys(4)

envsysフレームワークは、 NetBSDのカーネルレベルのハードウェア監視センサーフレームワークです。2019年3月4日現在、このフレームワークは、 NetBSD のパス内の[ 1 ]シンボルの参照によって証明されるように、様々な環境監視センサーをエクスポートするために85近くのデバイスドライバーによって使用されています。温度センサー、[ 2 ]どのドライバーによってもエクスポートされる可能性が最も高いタイプです。[ 3 ] 32個のセンサーがAPI 経由でカーネルに登録されています。 [ 4 ] ユーザーランドからのセンサーの使用と監視は、疑似デバイスファイルに対してユーティリティから[ 5 ]、電源管理デーモン(カーネルイベントに応答してスクリプトを実行する) 、[ 6 ] [ 7 ]、およびpkgsrcGKrellMなどのサードパーティ製ツールの助けを借りて行われます。 sysmon_envsys_registersysENVSYS_STEMPsysmon_envsys(9)envstatproplib(3)ioctl(2)/dev/sysmonpowerd/etc/powerd/scripts/symon

特徴

このフレームワークにより、ユーザーはドライバーが指定した監視制限を修正したり、ドライバーがカーネル空間でセンサーの監視を実行したり、さらにはハードウェアチップがシステムの監視を自動的に行うようにプログラムしたりすることができます。[ 3 ] : §7.1 2 つのレベルの制限が定義されています:クリティカル警告で、どちらもさらに上限下限の分類に拡張されています。[ 3 ] : §7.1 制限しきい値を超えると、カーネルイベントが生成され、ユーザーランドでキャッチしてpowerd定義済みユーザースクリプトを実行することができます。[ 6 ] [ 7 ] 比較すると、OpenBSD のhw.sensorsでは、ユーザー定義の値の監視は によってユーザー空間で実行されますsensorsd

2019 年現在、フレームワーク自体はコンピュータのファンの制御を容易にしていませんが、ドライバーは、ドライバー固有のsysctlインターフェイスなど、他の手段を介してチップのファンの制御機能とのインターフェイスを実装できます。これはドライバーが採用しているアプローチですdbcool(4)[ 8 ]ただし、やなど の最も人気のあるSuper I/Oチップのドライバーは、ファンの制御をまったく実装していません (実際、歴史的に、OpenBSD、NetBSD、DragonFly のすべてにおいて、これらのドライバーはファンのデューティ サイクルさえ報告せず、実際の RPM 値のみが報告されます)。[ 9 ] [ 10 ]lm(4)itesio(4)

歴史

このフレームワークは2回の大きな改訂を経ました。最初のバージョンはenvsys.h1999年12月15日にコミットされ、マニュアルページは2000年2月27日に公開されました。2000年から2007年の間、NetBSDのenvsys(4)のマニュアルページには「APIは実験的である」と記載されており、「API全体をsysctl(8)に置き換える必要がある」と述べられていました。「sysctl(8)が開発されれば」と述べられていました。 [ 11 ] [ 12 ] 2003年にOpenBSDがenvsys(4)ドライバの一部をOpenBSDに移植した際にまさにこのアプローチが採用されたことは注目に値します。[ 3 ] : §6.1 (1999年12月15日envsys.4 (2000年2月27日

2回目の改訂は2007年7月1日に行われました。ユーザーランドとのシリアル化は、 NetBSDの新しいproplib(3)ライブラリ(カーネルとユーザーランド間のトランスポート層は依然としてioctlを介して行われています)の助けを借りて、プロパティリストを使用して再実装されました。[ 13 ] [ 3 ] (2007年7月1日

envsysフレームワークは、2003年のOpenBSDのsysctl hw.sensorsフレームワークの前身であり、多くのドライバーと一部のセンサータイプがNetBSDとOpenBSD間で移植されてきました。typeのセンサーのサポートは、OpenBSDのtypeと同様に、2007年5月1日driveにNetBSDに追加されました。これは、 bio(4)bioctlがOpenBSDからNetBSDに移植されたのと同時期でした。 [ 3 ] : §7.1drive

参照

参考文献

  1. ^ " sysmon_envsys_register()" . BSD 相互参照. NetBSD .
  2. ^ " " . BSD 相互参照. NetBSD .ENVSYS_STEMP
  3. ^ a b c d e f Constantine A. Murenin (2010-05-21). "7.1. NetBSD envsys / sysmon". OpenBSD ハードウェアセンサー — 環境モニタリングとファン制御( MMath論文).ウォータールー大学: UWSpace. hdl : 10012/5234 . 文書ID: ab71498b6b1a60ff817b29d56997a418.
  4. ^ Juan Romero Pardines; The NetBSD Foundation, Inc. (2007–2008). 「sysmon_envsys(9) — envsys 2フレームワークのカーネル部分」 . BSD相互参照. NetBSD .
  5. ^ "paths.h の _PATH_SYSMON" . BSD 相互参照. NetBSD .#define _PATH_SYSMON "/dev/sysmon"
  6. ^ a b Wasabi Systems, Inc. (2003). 「powerd(8) — sysmonの電源管理デーモン」 . BSD相互参照. NetBSD .
  7. ^ a b "/etc/powerd/scripts/" . BSD 相互参照. NetBSD .
  8. ^ Paul Goyette; The NetBSD Foundation, Inc. (2008). "dbcool(4): dev/i2c/dbcool.c" . BSD相互参照. NetBSD . 2019年3月25日閲覧。
  9. ^ "lm(4): dev/ic/nslm7x.c" . BSD相互参照. NetBSD . 2019年3月25日閲覧。
  10. ^ "itesio(4): dev/isa/itesio_isa.c" . BSD相互参照. NetBSD . 2019年3月25日閲覧。
  11. ^ Tim Rightnour; Bill Squier (2007-12-19). 「envsys -- 環境システム API」 . NetBSD 4.0.このAPIは実験的なものであり、いつでも廃止される可能性があります。… このAPI全体は、sysctl(8)インターフェースまたはカーネルイベントメカニズムが開発された場合には、それらに置き換えられるべきです。
  12. ^ Constantine A. Murenin (2007-04-17). 「3.5. NetBSDのsysmon(4)」.マイクロプロセッサシステムハードウェアモニターとの汎用インターフェース. 2007 IEEE International Conference on Networking, Sensing and Control, 15–17 April 2007の議事録. ロンドン、イギリス: IEEE . pp.  901– 906. doi : 10.1109/ICNSC.2007.372901 . ISBN 978-1-4244-1076-7IEEE ICNSC 2007、pp.901—906。
  13. ^ Hubert Feyrer (2007年6月21日). "envsys2" . 2019年3月4日閲覧。