Marco de sensores de monitoreo de hardware
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]
Conductores
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]
driveSensores RAID
El 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]
timedeltaSensores OpenNTPD
OpenNTPD utiliza sensores de tipo timedelta
para sincronizar el tiempo. [9] Estos son proporcionados por NMEA y otros controladores. [10] [11]
Historia
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]
Véase también
Referencias
- ^ ab Constantine A. Murenin (21 de mayo de 2010). Sensores de hardware OpenBSD: monitoreo ambiental y control de ventiladores (MMath). Universidad de Waterloo , Waterloo, Ontario, Canadá: UWSpace. hdl :10012/5234. ID del documento: ab71498b6b1a60ff817b29d56997a418.
- ^ abcdef Constantine A. Murenin; Raouf Boutaba (17 de marzo de 2009). OpenBSD Hardware Sensors Framework (PDF) . Actas de AsiaBSDCon 2009, 12-15 de marzo de 2009. Universidad de Ciencias de Tokio, Tokio, Japón (publicado el 14 de marzo de 2009). Archivado (PDF) del original el 21 de febrero de 2009 . Consultado el 4 de marzo de 2019 .URL alternativa
- ^ Jeremy Andrews (7 de junio de 2008). «BSDCan 2008: Hardware Sensors Framework». KernelTrap . Archivado desde el original el 18 de diciembre de 2010. Consultado el 4 de marzo de 2019 .
- ^ "gkrellm-server-2.3.10p1 – pila de procesos única de monitores de sistema para GTK+2 (servidor)". Puertos OpenBSD . 1 de junio de 2018 . Consultado el 4 de marzo de 2019 .
- ^ ab David Gwynne; Marco Peereboom (3 de diciembre de 2006). bio and sensors in OpenBSD (PDF) . OpenCON 2006, 2-3 de diciembre de 2006. Courtyard Venice Airport, Venecia/Tessera, Italia . Consultado el 4 de marzo de 2019 .
- ^ abc Ingrid Marson (24 de marzo de 2006). «OpenBSD 3.9 agrega un marco de trabajo para sensores». ZDNet . Consultado el 4 de marzo de 2019 .
- ^ por Manolis Tzanidakis (28 de marzo de 2006). «Entrevista: Theo de Raadt de OpenBSD». Linux.com . Consultado el 4 de marzo de 2019 .
- ^ Theo de Raadt (29 de mayo de 2015). "/sys/dev/i2c/i2c_scan.c". Referencia cruzada BSD del superusuario . Consultado el 4 de marzo de 2019 .
- ^ Henning Brauer (3 de septiembre de 2016). «ntpd/sensors.c». Referencia cruzada de BSD de superusuario . Consultado el 4 de marzo de 2019 .
- ^ Marc Balmer (15 de marzo de 2007). Soporte para relojes de radio en OpenBSD (PDF) . Actas de AsiaBSDCon 2007, 8-11 de marzo de 2007. Tokio, Japón (publicado el 10 de marzo de 2007). Archivado (PDF) desde el original el 27 de agosto de 2008. Consultado el 4 de marzo de 2019 .
- Marc Balmer (16 de septiembre de 2007). "Compatibilidad con relojes de radio en OpenBSD" (PDF) . OpenBSD .
- ^ Marc Balmer (26 de enero de 2019). "/sys/kern/tty_nmea.c". Referencia cruzada de BSD de Super User . Consultado el 4 de marzo de 2019 .
- ^ Constantine A. Murenin (2007). Interfaz generalizada con monitores de hardware de sistemas de microprocesadores . Actas de la Conferencia internacional IEEE de 2007 sobre redes, detección y control, 15-17 de abril de 2007. Londres, Reino Unido. doi :10.1109/ICNSC.2007.372901. IEEE ICNSC 2007, págs. 901-906.
- ^ Constantine A. Murenin (30 de diciembre de 2006). Marco Peereboom (ed.). "Nueva API de sensor de dos niveles". Revista OpenBSD . Consultado el 4 de marzo de 2019 .
- ^ Constantine A. Murenin (14 de octubre de 2007). «GSoC2007/cnst-sensors». FreeBSD . Consultado el 4 de marzo de 2019 .
- ^ Federico Biancuzzi (1 de noviembre de 2007). «Puffy's Marathon: What's New in OpenBSD 4.2». O'Reilly Media . Archivado desde el original el 13 de octubre de 2011. Consultado el 3 de marzo de 2019 .
- "Maratón de Puffy: Novedades en OpenBSD 4.2 - ONLamp.com". Undeadly .
- ^ Federico Biancuzzi (3 de noviembre de 2008). «Source Wars - Return of the Puffy: What's New in OpenBSD 4.4». O'Reilly Media . Archivado desde el original el 24 de mayo de 2012. Consultado el 3 de marzo de 2019 .
- ^ Constantine A. Murenin (14 de marzo de 2010). "Computación silenciosa con BSD: control de ventiladores con sysctl hw.sensors y lm(4) en OpenBSD y DragonFly BSD" . Consultado el 4 de marzo de 2019 .
Enlaces externos
- cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/sys/sensors.h
- Documento sobre sensores de Asiabsdcon2009.pdf
- Diapositivas de sensores de Asiabsdcon2009.pdf