Из Википедии, бесплатной энциклопедии
  (Перенаправлено с Envstat )
Перейти к навигации Перейти к поиску

Envsys структура представляет собой ядро уровневый мониторинга аппаратных рамки датчиков в NetBSD . По состоянию на 4 марта 2019 года фреймворк используется примерно 85 драйверами устройств для экспорта различных датчиков мониторинга окружающей среды , о чем свидетельствуют ссылки на символ sysmon_envsys_register[1] в sysпути к NetBSD; с температурными датчиками, ENVSYS_STEMP, [2] является наиболее вероятным типом для экспорта любого данного драйвера. [3] : 32 Датчики регистрируются в ядре через sysmon_envsys(9)API. [4] Потребление и мониторинг датчиков от пользовательского уровня выполняется с помощью envstatутилиты через proplib(3)через ioctl(2)против псевдо-устройства файла, [5] управление питанием демона , который реагирует на событие ядра, запустив скрипты из , [6] [7] , а также сторонние инструменты , такие как и GKrellM от Pkgsrc ./dev/sysmon powerd/etc/powerd/scripts/symon

Особенности [ править ]

Инфраструктура позволяет пользователю изменять пределы мониторинга, указанные драйвером, а драйвер может выполнять мониторинг датчиков в пространстве ядра или даже программировать аппаратный чип для автоматического выполнения мониторинга системы. [3] : §7.1 Определены два уровня ограничений: критический и предупреждающий , оба из которых дополнительно распространяются на избыточную и недостаточную категоризацию. [3] : §7.1 Если пороговые значения превышены, может быть сгенерировано событие ядра, которое может быть обнаружено в пользовательском пространстве, powerdчтобы выполнить предварительно определенный пользовательский сценарий. [6] [7] Для сравнения, в OpenBSDhw.sensors , мониторинг пользовательских значений выполняется в пользовательском пространстве с помощью sensorsd.

По состоянию на 2019 год сам фреймворк не облегчает управление вентиляторами компьютера , хотя драйверы могут по-прежнему реализовывать взаимодействие с возможностями управления вентиляторами своих чипов с помощью других средств, например, через интерфейс sysctl для конкретного драйвера , что является принятым подходом от dbcool(4)водителя. [8] Однако драйверы для самых популярных микросхем Super I / O вроде lm(4)и itesio(4)не реализуют никакого управления вентилятором (фактически, исторически во всех OpenBSD, NetBSD и DragonFly эти драйверы даже не сообщают о долге цикл вентиляторов - сообщаются только фактические значения числа оборотов). [9] [10]

История [ править ]

Фреймворк претерпел два основных изменения: первая версия envsys.hбыла зафиксирована 15 декабря 1999 года ; 21 год назад ; с man-страницей, следующей 27 февраля 2000 г . ; 21 год назад . Между 2000 и 2007 годами на странице руководства для envsys (4) в NetBSD говорилось, что «API является экспериментальным» и что «весь API должен быть заменен sysctl (8)», «если он будет разработан»; [11] [12] можно отметить, что в 2003 году именно такой подход использовался OpenBSD с sysctl hw.sensors, когда некоторые драйверы envsys (4) были перенесены на OpenBSD. [3] : §6.1 ( 1999-12-15 )envsys.4  ( 2000-02-27 )

Вторая ревизия произошла 1 июля 2007 г . ; 13 лет назад . Сериализация с пользовательским пространством была повторно реализована с использованием списков свойств с помощью новой библиотеки NetBSD proplib (3) (нижележащий транспортный уровень между ядром и пользовательской средой все еще выполняется с помощью ioctl ). [13] [3] ( 2007-07-01 )

Фреймворк envsys был предшественником фреймворка OpenBSD sysctl hw.sensors в 2003 году, и многие драйверы, а также некоторые типы датчиков были перенесены между NetBSD и OpenBSD и обратно. Поддержка датчиков driveтипа была добавлена ​​в NetBSD 1 мая 2007 года , аналогично driveтипу датчиков в OpenBSD , что было в то же время, когда bio (4) и bioctl были перенесены с OpenBSD на NetBSD. [3] : §7.1

См. Также [ править ]

  • биоктл
  • hw.sensors
  • lm_sensors
  • SpeedFan

Ссылки [ править ]

  1. ^ " sysmon_envsys_register()" . Перекрестная ссылка BSD . NetBSD .
  2. ^ " " . Перекрестная ссылка BSD . NetBSD .ENVSYS_STEMP
  3. ^ a b c d e f Константин А. Муренин (21 мая 2010 г.). «7.1. NetBSD envsys / sysmon». Аппаратные датчики OpenBSD - мониторинг окружающей среды и управление вентиляторами ( тезис MMath ). Университет Ватерлоо : UWSpace. ЛВП : 10012/5234 . Идентификатор документа: ab71498b6b1a60 ff817 b29d56997a418.
  4. ^ Хуан Ромеро Пардинес; Фонд NetBSD, Inc. (2007–2008 гг.). «sysmon_envsys (9) - часть ядра фреймворка envsys 2» . Перекрестная ссылка BSD . NetBSD . Выложите резюме .
  5. ^ "_PATH_SYSMON в paths.h" . Перекрестная ссылка 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. ^ Поль Гойетт; Фонд NetBSD, Inc. (2008 г.). "dbcool (4): dev / i2c / dbcool.c" . Перекрестная ссылка BSD . NetBSD . Проверено 25 марта 2019 . Выложите резюме .
  9. ^ "lm (4): dev / ic / nslm7x.c" . Перекрестная ссылка BSD . NetBSD . Проверено 25 марта 2019 . Выложите резюме .
  10. ^ "itesio (4): dev / isa / itesio_isa.c" . Перекрестная ссылка BSD . NetBSD . Проверено 25 марта 2019 . Выложите резюме .
  11. ^ Тим Райтнур; Билл Сквайер (19 декабря 2007 г.). "envsys - API экологических систем" . NetBSD 4.0. Этот API является экспериментальным и может быть объявлен устаревшим в любое время ... Весь этот API должен быть заменен интерфейсом sysctl (8) или механизмом событий ядра, если он будет разработан.
  12. ^ Константин А. Муренин (2007-04-17). «3.5. NetBSD sysmon (4)». Обобщенное взаимодействие с аппаратными мониторами микропроцессорной системы . Материалы Международной конференции IEEE 2007 г. по сетям, зондированию и контролю, 15–17 апреля 2007 г. Лондон, Соединенное Королевство: IEEE . С. 901–906. DOI : 10.1109 / ICNSC.2007.372901 . ISBN 978-1-4244-1076-7. IEEE ICNSC 2007, стр. 901–906.
  13. ^ Hubert Feyrer (2007-06-21). "envsys2" . Проверено 4 марта 2019 .

Внешние ссылки [ править ]

  • /sys/sys/envsys.h