| 環境システムフレームワーク(バージョン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 ]、およびpkgsrcのGKrellMなどのサードパーティ製ツールの助けを借りて行われます。 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
参照
参考文献
- ^ "
sysmon_envsys_register()" . BSD 相互参照. NetBSD . - ^ " " . BSD 相互参照. NetBSD .
ENVSYS_STEMP - ^ 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.
- ^ Juan Romero Pardines; The NetBSD Foundation, Inc. (2007–2008). 「sysmon_envsys(9) — envsys 2フレームワークのカーネル部分」 . BSD相互参照. NetBSD .
- ^ "paths.h の _PATH_SYSMON" . BSD 相互参照. NetBSD .
#define _PATH_SYSMON "/dev/sysmon" - ^ a b Wasabi Systems, Inc. (2003). 「powerd(8) — sysmonの電源管理デーモン」 . BSD相互参照. NetBSD .
- ^ a b "/etc/powerd/scripts/" . BSD 相互参照. NetBSD .
- ^ Paul Goyette; The NetBSD Foundation, Inc. (2008). "dbcool(4): dev/i2c/dbcool.c" . BSD相互参照. NetBSD . 2019年3月25日閲覧。
- ^ "lm(4): dev/ic/nslm7x.c" . BSD相互参照. NetBSD . 2019年3月25日閲覧。
- ^ "itesio(4): dev/isa/itesio_isa.c" . BSD相互参照. NetBSD . 2019年3月25日閲覧。
- ^ Tim Rightnour; Bill Squier (2007-12-19). 「envsys -- 環境システム API」 . NetBSD 4.0.
このAPIは実験的なものであり、いつでも廃止される可能性があります。… このAPI全体は、sysctl(8)インターフェースまたはカーネルイベントメカニズムが開発された場合には、それらに置き換えられるべきです。
- ^ 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。
- ^ Hubert Feyrer (2007年6月21日). "envsys2" . 2019年3月4日閲覧。