Английская Википедия:Hw.sensors

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Short description Шаблон:Lowercase Шаблон:Use mdy dates Шаблон:Infobox software The hw.sensors framework is a kernel-level hardware sensors framework originating from OpenBSD, which uses the sysctl kernel interface as the transport layer between the kernel and the userland. Шаблон:As of, the framework is used by over a hundred device drivers in OpenBSD to export various environmental sensors, with temperature sensors being the most common type.[1][2] Consumption and monitoring of sensors is done in the userland with the help of sysctl, systat, sensorsd, ntpd, snmpd, ports/sysutils/symon and GKrellM.[3][4]

Drivers

In OpenBSD, the framework is integrated with Dell's ESM, IPMI and I2C,[5][6] in addition to a number of popular Super I/O chips through Шаблон:URL.[2]

A major difference compared to other solutions like lm_sensors is simplicity and a works-by-default approach in the drivers, which don't require nor support any configurability; no installation or configuration actions are required by the system administrator in order to get the sensors going.[7][6] This is coupled with a fine-tuned ad-hoc read-only scan procedure on the I2C bus, written by Theo de Raadt in a centralised way with a cache, making it possible to leave it enabled by default at all times, unlike the competing solutions.[7][6][8]

RAID drive sensors

Шаблон:Anchor Support for automatic monitoring of RAID drives is also provided through the sensors framework,[5] this concept of sensors of drive type has been backported by NetBSD back into envsys in 2007.[2]

OpenNTPD timedelta sensors

Шаблон:Anchor OpenNTPD uses sensors of type timedelta in order to synchronise time.[9] These are provided by NMEA and other drivers.[10][11]

History

The framework was originally devised in 2003 by Alexander Yurchenko, when he was porting several envsys-based drivers from NetBSD. Instead of porting NetBSD's envsys, a simpler sysctl-based mechanism was developed.[2]

The framework received a major uptick in usage by the device drivers with the release of OpenBSD 3.9, where in a period of merely 6 months, the number of individual drivers using the framework went from 9 in OpenBSD 3.8 (released Шаблон:Dts) to 33 in OpenBSD 3.9 (released Шаблон:Dts).[2]

Шаблон:As of, the framework was used by 44 devices drivers; it is at this time that a patchset has been committed converting a simple one-level addressing scheme into a more stable multi-layer addressing.[12][13]

In 2007, the framework was ported to FreeBSD as part of a Google Summer of Code grant; it has been adopted by DragonFly BSD later that year.[14] The usability of the Шаблон:URL, the sensors monitoring daemon, has been vastly improved in 2007, partly due to same GSoC grant.[15]

Шаблон:As of, the total number of drivers stood at 68 in OpenBSD 4.4; growing by 7 drivers in a 6-month release cycle.[16] This level of growth, of one new driver per month on average, has been common throughout the history of the framework since OpenBSD 3.9.[2]

The values exported by the drivers through the framework are read-only; however, an external patch exists that implements the fan control functionality in both the framework as well as one of the drivers for the most popular family of Super I/O chips; this patchset was provided for both OpenBSD and DragonFly BSD.[17][1]

See also

Шаблон:Portal

References

Шаблон:Reflist

Шаблон:Refbegin Шаблон:Refend

External links

Шаблон:OpenBSD Шаблон:DragonFly

  1. 1,0 1,1 Ошибка цитирования Неверный тег <ref>; для сносок mmath не указан текст
  2. 2,0 2,1 2,2 2,3 2,4 2,5 Ошибка цитирования Неверный тег <ref>; для сносок abc2009 не указан текст
  3. Ошибка цитирования Неверный тег <ref>; для сносок kerneltrap08 не указан текст
  4. Ошибка цитирования Неверный тег <ref>; для сносок gkrellm не указан текст
  5. 5,0 5,1 Ошибка цитирования Неверный тег <ref>; для сносок opencon06 не указан текст
  6. 6,0 6,1 6,2 Ошибка цитирования Неверный тег <ref>; для сносок zdnet06 не указан текст
  7. 7,0 7,1 Ошибка цитирования Неверный тег <ref>; для сносок linux06 не указан текст
  8. Ошибка цитирования Неверный тег <ref>; для сносок i2c_scan не указан текст
  9. Ошибка цитирования Неверный тег <ref>; для сносок ntpd не указан текст
  10. Ошибка цитирования Неверный тег <ref>; для сносок mbalmer07 не указан текст
  11. Ошибка цитирования Неверный тег <ref>; для сносок nmea не указан текст
  12. Ошибка цитирования Неверный тег <ref>; для сносок ieee07 не указан текст
  13. Ошибка цитирования Неверный тег <ref>; для сносок undeadly06 не указан текст
  14. Ошибка цитирования Неверный тег <ref>; для сносок gsoc не указан текст
  15. Ошибка цитирования Неверный тег <ref>; для сносок onlamp-42 не указан текст
  16. Ошибка цитирования Неверный тег <ref>; для сносок onlamp-44 не указан текст
  17. Ошибка цитирования Неверный тег <ref>; для сносок fanctl не указан текст