HOME

TheInfoList



OR:

The envsys framework is a
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine lea ...
-level hardware monitoring sensors framework in
NetBSD NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is a ...
. , the framework is used by close to 85
device driver In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and o ...
s to export various
environmental monitoring Environmental monitoring describes the processes and activities that need to take place to characterize and monitor the quality of the environment. Environmental monitoring is used in the preparation of environmental impact assessments, as well a ...
sensors, as evidenced by references of the sysmon_envsys_register symbol within the sys path of NetBSD; with
temperature Temperature is a physical quantity that expresses quantitatively the perceptions of hotness and coldness. Temperature is measured with a thermometer. Thermometers are calibrated in various temperature scales that historically have relied on ...
sensors, ENVSYS_STEMP, being the most likely type to be exported by any given driver. Sensors are registered with the kernel through sysmon_envsys(9) API. Consumption and monitoring of sensors from the userland is performed with the help of envstat utility through proplib(3) through ioctl(2) against the /dev/sysmon pseudo-device file, the powerd power management
daemon Daimon or Daemon (Ancient Greek: , "god", "godlike", "power", "fate") originally referred to a lesser deity or guiding spirit such as the daimons of ancient Greek religion and mythology and of later Hellenistic religion and philosophy. The wo ...
that responds to kernel events by running scripts from /etc/powerd/scripts/, as well as third-party tools like symon and GKrellM from
pkgsrc pkgsrc (''package source'') is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD. Since then it has evolved independently; in 1 ...
.


Features

The framework allows the user to amend the monitoring limits specified by the driver, and for the driver to perform monitoring of the sensors in kernel space, or even to programme a hardware chip to do the monitoring for the system automatically. Two levels of limits are defined: ''critical'' and ''warning'', both of which additionally extend to an ''over'' and an ''under'' categorisation. If limit thresholds are crossed, a kernel event may be generated, which can be caught in the userland by powerd to execute a pre-defined user script. By comparison, in OpenBSD's hw.sensors, the monitoring of user-defined values is performed in userspace by sensorsd. , the framework itself does not facilitate
computer fan control A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as programs. These program ...
, although the drivers could still implement interfacing with the fan-controlling capabilities of their chips through other means, for example, through a driver-specific sysctl interface, which is the approach taken by the dbcool(4) driver. However, the drivers for the most popular
Super I/O Super I/O is a class of I/O controller integrated circuits that began to be used on personal computer motherboards in the late 1980s, originally as add-in cards, later embedded on the motherboards. A super I/O chip combines interfaces for a var ...
chips like lm(4) and itesio(4) do not implement any fan control at all (in fact, historically, in all of OpenBSD, NetBSD and DragonFly, these drivers don't even report the duty cycle of the fans — only the actual RPM values are reported).


History

The framework undergone two major revisions: the first version of envsys.h was committed on ; with envsys.4
man page A man page (short for manual page) is a form of software documentation usually found on a Unix or Unix-like operating system. Topics covered include computer programs (including library and system calls), formal standards and conventions, and ev ...
following on . Between 2000 and 2007, the manual page for envsys(4) in NetBSD stated that the "API is experimental", and that the "entire API should be replaced by a sysctl(8)", "should one be developed"; it can be noted that in 2003 this was the exact approach taken by
OpenBSD OpenBSD is a security-focused operating system, security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by fork (software development), forking N ...
with sysctl hw.sensors when some of the envsys(4) drivers were ported to OpenBSD. The second revision came about on . The serialisation with userland was reimplemented using property lists with the help of NetBSD's new proplib(3) library (the underlying transport layer between the kernel and userland still being done through ioctl). The envsys framework was the precursor to OpenBSD's sysctl hw.sensors framework in 2003, and many drivers, as well as some sensor types, have been ported back and forth between NetBSD and OpenBSD. Support for sensors of drive type has been added to NetBSD on , similar to drive type in OpenBSD, which was at the same time when
bio(4) Bio or BIO may refer to: Computing * bio(4), a pseudo-device driver in RAID controller management interface in OpenBSD and NetBSD * Block I/O, a concept in computer data storage Politics * Julius Maada Bio (born 1964), Sierra Leonean politici ...
and bioctl were ported from OpenBSD to NetBSD.


See also

* bioctl * hw.sensors * lm_sensors * SpeedFan


References


External links

* {{NetBSD 1999 software 2007 software BSD software Computer hardware tuning Computer performance Environmental data Environmental monitoring Free software programmed in C Free system software Motherboard NetBSD System administration System monitors