| 原作者 | フアン・ロメロ・パルディネス (2007) |
|---|---|
| 開発者 | NetBSD財団株式会社 |
| 初回リリース | 2007年7月1日 |
| リポジトリ | sys.h は、 |
| 書かれた | C |
| オペレーティング·システム | NetBSD 5.0 以降 |
| タイプ | システム監視 |
| ライセンス | BSD ライセンス#4 条項 |
| Webサイト | envsys(4) |
| 原作者 | ティム・ライトナーとビル・スクワイア(2000) |
|---|---|
| 開発者 | NetBSD財団株式会社 |
| 初回リリース | 1999年12月15日 |
| 最終リリース | NetBSD 4.0.1 / 2008年10月14日 |
| リポジトリ | sys.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_STEMP sysmon_envsys(9)envstatproplib(3)ioctl(2)/dev/sysmon powerd/etc/powerd/scripts/symon
特徴
このフレームワークにより、ユーザーはドライバーによって指定された監視制限を修正したり、ドライバーがカーネル空間でセンサーの監視を実行したり、さらにはハードウェアチップがシステムの監視を自動的に行うようにプログラムしたりすることができます。[3] : §7.1 2 つのレベルの制限が定義されています。クリティカルと警告で、どちらもさらに上限と下限の分類に拡張されています。[3] : §7.1 制限しきい値を超えると、カーネルイベントが生成され、ユーザーランドで によってキャッチされ、powerd定義済みのユーザースクリプトが実行されます。[6] [7] 比較すると、OpenBSD のhw.sensorsでは、ユーザー定義の値の監視は によってユーザー空間で実行されますsensorsd。
2019年現在、フレームワーク自体はコンピュータのファンの制御を[アップデート]容易にしていないが、ドライバは他の手段、例えばドライバ固有のsysctlインタフェースを介して、チップのファンの制御機能とのインタフェースを実装することができ、これはドライバによって採用されているアプローチである。[8] しかし、やのような最も人気のあるスーパーI/Oチップのドライバはファンの制御をまったく実装していない(実際、歴史的に、OpenBSD、NetBSD、DragonFlyのすべてにおいて、これらのドライバはファンのデューティサイクルを報告せず、実際のRPM値のみを報告している)。[9] [10]dbcool(4)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年にenvsys(4)ドライバの一部がOpenBSDに移植されたとき、OpenBSDがsysctl hw.sensorsで採用したアプローチとまったく同じだったことがわかります。 [3] : §6.1envsys.4
に行われました。ユーザーランドとのシリアル化は、 NetBSDの新しいproplib(3)ライブラリの助けを借りて、プロパティリストを使用して再実装されました(カーネルとユーザーランド間の基礎となるトランスポート層は、依然としてioctlを介して行われています)。[13] [3]
envsysフレームワークは2003年のOpenBSDのsysctl hw.sensorsフレームワークの前身であり、多くのドライバーといくつかのセンサータイプがNetBSDとOpenBSDの間で移植されてきました。typeのセンサーのサポートは2007年5月1日driveにNetBSDに追加されました。これはOpenBSDのtypeに似ており、 bio(4)とbioctlがOpenBSDからNetBSDに移植されたのと同時期でした。 [3] : §7.1drive
参照
参考文献
- ^ "sysmon_envsys_register()". BSD 相互参照. NetBSD .
- ^ "ENVSYS_STEMP". BSD 相互参照. NetBSD .
- ^ abcdef 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" - ^ ab Wasabi Systems, Inc. (2003). 「powerd(8) — sysmon の電源管理デーモン」. BSD 相互参照. NetBSD .
- ^ ab "/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 国際ネットワーク、センシング、制御会議の議事録、2007 年 4 月 15 ~ 17 日。ロンドン、イギリス: IEEE。pp. 901~ 906。doi :10.1109 / ICNSC.2007.372901。ISBN 978-1-4244-1076-7IEEE ICNSC 2007、pp.901—906。
- ^ Hubert Feyrer (2007-06-21). 「envsys2」 . 2019年3月4日閲覧。
外部リンク
- sys.h は、
