What kind of oscillator is used for CMOS CPU clocks?
Typically, a CPU will be driven by a clock generator, which is a crystal oscillator and a PLL. The PLL will be configurable (sometimes dynamically configurable). The CPU itself will typically have an internal clock multiplier, causing the CPU to run at a multiple of the system buss clock frequency.

As a result, there are often two ways to increase or decrease CPU clock speed (if enabled): the front-side bus speed can be changed via the clock generator, causing the entire buss and CPU to change speeds; or the CPU multiplier can be changed, which changes the relationship between the FSB and the CPU internals.

Systems designed for low power consumption will often be able to decrease the clock speed (via the clock generator) of the entire system when system load is low in order to save power, and then increase clock speed when more performance is desired.

As an aside, it's worth pointing out that it is very difficult to design an accurate, stable ring oscillator. Because a ring oscillator relies on propagation delay, it is very sensitive to temperature and voltage changes of the silicon (as well as other changes). In fact, it is possible to use ring oscillators as temperature sensors or even pressure sensors!.