robespierre wrote:
When emulating a computer, there is usually no upper limit to the amount of CPU consumed.
The emulator works on a "best-effort" basis, and runs the virtual CPU as fast as it can. This is not related to the useful work on the virtual CPU, since it probably busy-waits for something to happen (interrupts). In hardware you would keep the clock running all the time, and be ready to service an interrupt as soon as it happened. The only way to limit the (useless) consumption of host CPU resources is to engineer a completely new virtual "device" that does not exist in the original hardware at all, which stops the clock and everything else until something happens. This almost always requires a new device driver in the emulated OS.
I'm afraid (and foetz will be happy) that this statement is simply not true
I have ultrix running in SIMH on Linux (ULTRIX V4.0 (Rev. 161) - and yes, SIMH exists on OSX as well) and it doesn't consume 100% CPU. It all comes down to how the emulator implements the idle instructions of the emulated OS/chip. I'm far from an expert on how these things get implemented, but rest assured, I've made sure none of my emulated VAXen had the 100% CPU issue before setting them loose 24/7.