Автор (ы) | Хуан Ромеро Пардинес (2007) |
---|---|
Разработчик (s) | The NetBSD Foundation, Inc. |
Первоначальный выпуск | 1 июля 2007 г.; 13 лет назад (2007-07-01) |
Репозиторий | /sys/sys/envsys.h |
Написано в | C |
Операционной системе | NetBSD начиная с версии 5.0 |
Тип | мониторинг системы |
Лицензия | лицензия BSD №4, пункт |
Веб-сайт | envsys (4) |
Автор (ы) | Тим Райтнур и Билл Сквайер ( 2000) |
---|---|
Разработчик (и) | The NetBSD Foundation, Inc. |
Первоначальный выпуск | 15 декабря 1999 г.; 20 лет назад (1999-12-15) |
Финальный выпуск | NetBSD 4.0.1 / 14 октября 2008 г.; 11 лет назад (2008-10-14) |
Репозиторий | /sys/sys/envsys.h |
Написано в | C |
Операционной системе | NetBSD от 1.5 до 4.0.1 |
Введите | системный мониторинг |
Лицензия | пункт 4 лицензии BSD |
Веб-сайт | envsys (4) в NetBSD 4.0 |
Структура envsys - это ядро -уровень аппаратный мониторинг фреймворк датчиков в NetBSD. По состоянию на 4 марта 2019 г. эта структура используется примерно 85 драйверами устройств для экспорта различных датчиков мониторинга окружающей среды, о чем свидетельствуют ссылки на символ sysmon_envsys_register
внутри путь sys
NetBSD; с датчиками температуры, ENVSYS_STEMP
, наиболее вероятный тип, который будет экспортирован любым данным драйвером. Датчики регистрируются в ядре через sysmon_envsys(9)
API. Потребление и мониторинг датчиков из пользовательского пространства осуществляется с помощью утилиты envstat
через proplib(3)
через ioctl (2)
против файла / dev / sysmon
псевдоустройства, powerd
power демон управления , который реагирует на события ядра, выполняя сценарии из / etc / powerd / scripts /
, а также сторонние инструменты, такие как symon
и GKrellM из pkgsrc.
Фреймворк позволяет пользователю изменять пределы мониторинга, указанные драйвером, а драйвер может выполнять мониторинг датчиков в пространстве ядра или даже программировать аппаратный чип для автоматического мониторинга системы.. Определены два уровня ограничений: критический и предупреждающий, оба из которых дополнительно распространяются на избыточную и недостаточную категоризацию. Если пороговые значения превышены, может быть сгенерировано событие ядра, которое может быть обнаружено в пользовательском пространстве с помощью powerd
для выполнения заранее определенного пользовательского сценария. Для сравнения: в OpenBSD hw.sensors мониторинг определяемых пользователем значений выполняется в пользовательском пространстве с помощью датчиковd
.
. По состоянию на 2019 год сам фреймворк не поддерживает управление вентилятором компьютера., хотя драйверы могут по-прежнему реализовывать взаимодействие с возможностями управления вентиляторами своих микросхем с помощью других средств, например, через специфичный для драйвера интерфейс sysctl, что является подходом, принятым в dbcool (4)
драйвер. Однако драйверы для наиболее популярных микросхем Super I / O, таких как lm (4)
и itesio (4)
, вообще не реализуют управление вентиляторами ( фактически, исторически во всех OpenBSD, NetBSD и DragonFly эти драйверы даже не сообщают о рабочем цикле вентиляторов - сообщаются только фактические значения числа оборотов в минуту).
Фреймворк претерпел два основных изменения: первая версия envsys.h
была зафиксирована 15 декабря 1999 г.; 20 лет назад (1999-12-15); с envsys.4
справочной страницей после 27 февраля 2000 г.; 20 лет назад (27.02.2000). Между 2000 и 2007 годами на странице руководства для envsys (4) в NetBSD говорилось, что «API является экспериментальным» и что «весь API должен быть заменен sysctl (8)», «если он будет разработан»; можно отметить, что в 2003 году именно такой подход использовался в OpenBSD с sysctl hw.sensors, когда некоторые драйверы envsys (4) были перенесены на OpenBSD.
Вторая ревизия произошла 1 июля 2007 г.; 13 лет назад (2007-07-01). Сериализация с пользовательской средой была повторно реализована с использованием списков свойств с помощью новой библиотеки NetBSD proplib (3) (нижележащий транспортный уровень между ядром и пользовательской средой все еще выполняется с помощью ioctl ).
Фреймворк envsys был предшественником фреймворка OpenBSD sysctl hw.sensors в 2003 году, и многие драйверы, а также некоторые типы датчиков были перенесены между NetBSD и OpenBSD и обратно. Поддержка датчиков типа диск
был добавлен в NetBSD 1 мая 2007 года, аналогично типу диск
в OpenBSD, который был в то же время, когда bio ( 4) и bioctl были перенесены из OpenBSD в NetBSD.