The first thing I want to address here is the concept of uninterruptable power. If you take that term literally, a power supply that goes out at all has been interrupted. In that case, many UPS are not correctly named because there is a brief moment (ca. 30 milliseconds) between the time the computer notices the power has gone out and the battery kicks in. This time is too short for the computer to notice, but it is there. (Normally, power must be out for at least 300 milliseconds before the computer will notice.) As a result, most UPS should be referred to as stand-by power supply (SPS) because they switch to the battery when the primary supply shuts off. Because Underwriters Laboratories uses UPS to describe both, that’s what I will do here.
The basic UPS provides limited power conditioning (keeping the voltage within a specific range) but no protection against surges and spikes. This is useful if the power goes out but doesn’t protect you if the voltage suddenly jumps (such as the result of a lightning strike). A double-conversion model provides the power when the main power fails and also provides protection against surges by first passing the power through the batteries. Although this does provide protection, it is less efficient because power is constantly drawn from the battery.
Although no UPS vendor directly supports Linux, there are several sources for programs that can take advantage of existing UPSs. The best place to start is the UPS HOWTO.