Articulo de referencia

envsys

El framework envsys es un framework de sensores de monitorización de hardware a nivel de kernel en NetBSD . A fecha de 4 de marzo de 2019. , el marco es utilizado por cerca ...

El framework envsys es un framework de sensores de monitorización de hardware a nivel de kernel en NetBSD . A fecha de 4 de marzo de 2019.  , el marco es utilizado por cerca de 85 controladores de dispositivos para exportar varios sensores de monitoreo ambiental , como lo demuestran las referencias del símbolo sysmon_envsys_register[ 1 ]sys dentro de la ruta de NetBSD. Con los sensores de temperaturaENVSYS_STEMP , , [ 2 ] siendo el tipo más probable para ser exportado por cualquier controlador dado. [ 3 ] : 32 Los sensores se registran con el kernel a través de sysmon_envsys(9)la API. [ 4 ] El consumo y monitoreo de sensores desde el espacio de usuario se realiza con la ayuda de envstatla utilidad a través proplib(3)del ioctl(2)archivo de pseudodispositivo , [ 5 ] el demonio de administración de energía que responde a los eventos del kernel ejecutando scripts de , [ 6 ] [ 7 ] así como herramientas de terceros como y GKrellM de pkgsrc ./dev/sysmonpowerd/etc/powerd/scripts/symon

Características

El marco permite al usuario modificar los límites de monitorización especificados por el controlador, y que este realice la monitorización de los sensores en el espacio del kernel, o incluso programar un chip de hardware para que realice la monitorización del sistema automáticamente. [ 3 ] : §7.1 Se definen dos niveles de límites: crítico y advertencia , ambos con una categorización adicional de sobre y bajo . [ 3 ] : §7.1 Si se superan los umbrales de límite, se puede generar un evento del kernel, que puede ser capturado en el espacio de usuario para powerdejecutar un script de usuario predefinido. [ 6 ] [ 7 ] En comparación, en hw.sensors de OpenBSD , la monitorización de los valores definidos por el usuario se realiza en el espacio de usuario mediante sensorsd.

A partir de 2019El marco en sí no facilita el control del ventilador de la computadora , aunque los controladores aún podrían implementar la interfaz con las capacidades de control del ventilador de sus chips a través de otros medios, por ejemplo, a través de una interfaz sysctl específica del controlador , que es el enfoque adoptado por el dbcool(4)controlador. [ 8 ] Sin embargo, los controladores para los chips Super I/O más populares como lm(4)y itesio(4)no implementan ningún control de ventilador en absoluto (de hecho, históricamente, en todos los OpenBSD, NetBSD y DragonFly, estos controladores ni siquiera informan el ciclo de trabajo de los ventiladores, solo se informan los valores reales de RPM). [ 9 ] [ 10 ]

Historia

El marco sufrió dos revisiones importantes: la primera versión envsys.hse publicó el 15 de diciembre de 1999 ( 1999-12-15 ) ; con la página de manual el 27 de febrero de 2000 ( 2000-02-27 ) . Entre 2000 y 2007, la página de manual de envsys(4) en NetBSD indicaba que la "API es experimental" y que "toda la API debería ser reemplazada por un sysctl(8)", "en caso de que se desarrollara"; [ 11 ] [ 12 ] cabe señalar que en 2003 este fue el enfoque exacto adoptado por OpenBSD con sysctl hw.sensors cuando algunos de los controladores envsys(4) se portaron a OpenBSD. [ 3 ] : §6.1  envsys.4  

La segunda revisión se produjo el 1 de julio de 2007 ( 2007-07-01 ) . La serialización con el espacio de usuario se reimplementó utilizando listas de propiedades con la ayuda de la nueva biblioteca proplib(3) de NetBSD (la capa de transporte subyacente entre el kernel y el espacio de usuario todavía se realiza a través de ioctl ). [ 13 ] [ 3 ]  

El marco envsys fue el precursor del marco sysctl hw.sensors de OpenBSD en 2003, y muchos controladores, así como algunos tipos de sensores, se han portado entre NetBSD y OpenBSD. El soporte para sensores de drivetipo se agregó a NetBSD el 1 de mayo de 2007 , de forma similar al drivetipo en OpenBSD , lo que coincidió con la portabilidad de bio(4) y bioctl de OpenBSD a NetBSD. [ 3 ] : §7.1

Véase también

Referencias

  1. " sysmon_envsys_register()" . Referencia cruzada de BSD . NetBSD .
  2. " " . Referencia cruzada de BSD . NetBSD .ENVSYS_STEMP
  3. 1 2 3 4 5 6 Constantine A. Murenin (2010-05-21). "7.1. NetBSD envsys / sysmon". Sensores de hardware de OpenBSD: monitorización ambiental y control de ventiladores ( tesis de MMath ). Universidad de Waterloo : UWSpace. hdl : 10012/5234 . ID del documento: ab71498b6b1a60ff817b29d56997a418.
  4. Juan Romero Pardines; The NetBSD Foundation, Inc. (2007–2008). "sysmon_envsys(9) — parte del kernel del marco envsys 2" . Referencia cruzada de BSD . NetBSD .
  5. "_PATH_SYSMON en paths.h" . Referencia cruzada de BSD . NetBSD .#define _PATH_SYSMON "/dev/sysmon"
  6. 1 2 Wasabi Systems, Inc. (2003). "powerd(8) — demonio de administración de energía para sysmon" . Referencia cruzada de BSD . NetBSD .
  7. 1 2 "/etc/powerd/scripts/" . Referencia cruzada de BSD . NetBSD .
  8. Paul Goyette; The NetBSD Foundation, Inc. (2008). "dbcool(4): dev/i2c/dbcool.c" . Referencia cruzada de BSD . NetBSD . Consultado el 25 de marzo de 2019 .
  9. "lm(4): dev/ic/nslm7x.c" . Referencia cruzada de BSD . NetBSD . Consultado el 25-03-2019 .
  10. "itesio(4): dev/isa/itesio_isa.c" . Referencia cruzada de BSD . NetBSD . Consultado el 25 de marzo de 2019 .
  11. Tim Rightnour; Bill Squier (19 de diciembre de 2007). "envsys -- API de sistemas ambientales" . NetBSD 4.0. Esta API es experimental y puede quedar obsoleta en cualquier momento... Esta API completa debería ser reemplazada por una interfaz sysctl(8) o un mecanismo de eventos del kernel, si se desarrolla alguno.
  12. Constantine A. Murenin (17 de abril de 2007). "3.5. Sysmon(4) de NetBSD". 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: IEEE . págs. 901-906 . doi : 10.1109/ICNSC.2007.372901 . ISBN  978-1-4244-1076-7IEEE ICNSC 2007, págs. 901-906.
  13. Hubert Feyrer (21-06-2007). "envsys2" . Consultado el 04-03-2019 .
  • /sys/sys/envsys.h