Autor(es) original(es) | Constantino A. Murenin (2006), Alexander Yurchenko (2003-2004) |
---|---|
Desarrollador(es) | El proyecto OpenBSD |
Lanzamiento inicial | 25 de abril de 2003 ( 25 de abril de 2003 ) |
Repositorio |
|
Escrito en | do |
Sistema operativo | OpenBSD y DragonFly |
Tipo | Monitoreo del sistema |
Licencia | CSI |
El marco hw.sensors es un marco de sensores de hardware a nivel de kernel que se originó en OpenBSD , que utiliza la interfaz de kernel sysctl como capa de transporte entre el kernel y el espacio de usuario . A partir de 2019 [actualizar], el marco es utilizado por más de cien controladores de dispositivos en OpenBSD para exportar varios sensores ambientales, siendo los sensores de temperatura el tipo más común. [1] [2] El consumo y monitoreo de sensores se realiza en el espacio de usuario con la ayuda de sysctl , systat , sensorsd, OpenBSD NTP Daemon ( OpenNTPD , ntpd), Simple Network Management Protocol (snmpd), ports/sysutils/symon y GKrellM . [3] [4]
En OpenBSD, el marco está integrado con ESM de Dell , Intelligent Platform Management Interface (IPMI) y I 2 C , [5] [6] además de varios chips Super I/O populares a través de lm(4) . [2]
Una diferencia importante en comparación con otras soluciones como lm_sensors es la simplicidad y un enfoque de "funciona por defecto" en los controladores, que no necesitan ni admiten ninguna configurabilidad; el administrador del sistema no requiere acciones de instalación o configuración para poner en funcionamiento los sensores. [7] [6] Esto se combina con un procedimiento de escaneo de solo lectura ad-hoc ajustado con precisión en el bus I 2 C , escrito por Theo de Raadt de manera centralizada con un caché, lo que hace posible dejarlo habilitado de forma predeterminada en todo momento, a diferencia de las soluciones de la competencia. [7] [6] [8]
drive
Sensores RAIDEl soporte para el monitoreo automático de unidades RAID también se proporciona a través del marco de sensores, [5] este concepto de sensores de drive
tipo fue retroportado por NetBSD a envsys en 2007. [2]
timedelta
Sensores OpenNTPDOpenNTPD utiliza sensores de tipo timedelta
para sincronizar el tiempo. [9] Estos son proporcionados por NMEA y otros controladores. [10] [11]
El framework fue ideado originalmente en 2003 por Alexander Yurchenko, cuando estaba portando varios controladores basados en envsys desde NetBSD . En lugar de portar envsys de NetBSD, se desarrolló un mecanismo más simple basado en sysctl . [2]
El uso del framework por parte de los controladores de dispositivos aumentó drásticamente con el lanzamiento de OpenBSD 3.9. Luego, en sólo 6 meses, el número de controladores individuales que usaban el framework aumentó de 9 en OpenBSD 3.8 (lanzado el 1 de noviembre de 2005 ) a 33 en OpenBSD 3.9 (lanzado el 1 de mayo de 2006 ). [2]
A partir del 23 de diciembre de 2006 [actualizar], el marco de trabajo fue utilizado por 44 controladores de dispositivos. En ese momento, se envió un conjunto de parches que convertían un esquema de direccionamiento simple de un nivel en un direccionamiento multicapa más estable. [12] [13]
En 2007, el marco fue portado a FreeBSD como parte de una subvención de Google Summer of Code . Fue adoptado por DragonFly BSD más tarde ese año. [14] La usabilidad de sensorsd(8) , el demonio de monitoreo de sensores , fue mejorada enormemente en 2007, en parte a través de la misma subvención de GSoC. [15]
A partir del 1 de noviembre de 2008 [actualizar], el número total de controladores era de 68 en OpenBSD 4.4; creciendo a un ritmo de 7 controladores en un ciclo de lanzamiento de 6 meses. [16] Esta tasa de crecimiento, de un nuevo controlador por mes en promedio, ha sido común a lo largo de la historia del marco desde OpenBSD 3.9. [2]
Los valores exportados por los controladores a través del marco son de sólo lectura; sin embargo, existe un parche externo que implementa las funciones de control del ventilador tanto en el marco como en uno de los controladores de la familia más popular de chips Super I/O . Este conjunto de parches se proporcionó tanto para OpenBSD como para DragonFly BSD. [17] [1]