CPU usage is computed by the operating system's process/task scheduler. Indeed, if a CPU usage is 10%, that indicates that the task is actively running for 10% of the task scheduler's unit periods; other programs may run in the remaining 90% CPU time, or the OS will simply idle. Likewise, if the total CPU usage for all programs is 10%, that indicates that no programs on the system are being executed 90% of the time.
Since no programs run on the "bare metal" in a multitasked operating system (like Windows or Linux), CPU usage is a measure of what percentage your CPU's cycles are dedicated to running that one particular program. This is why if you have an infinite loop in a program, even though no "work" is being done, the CPU usage still approaches 100% (as the program is attempting to use every scheduling period offered to it by the operating system to execute some code).
Although processes are always running, they don't use 100% of the CPU in most cases since a process can wait for a particular event/interrupt to occur, or have indicated to the operating system to suspend/sleep its' operation for a short amount of time.
NOPinstructions, that would still technically classify as CPU use (during the time slices where the OS says to that program "Ok, it's your turn to run for the next X microseconds", even if my program is doing nothing, it is still running - and that's what CPU Usage Percentage describes.) – Breakthrough Nov 14 '13 at 19:15Xx86 operation instructions. How many insructions are actually performed depends on several different things. If you have a 2-core x86 CPU it means that you can perform 2 seperate instructions in the same amount of time. This means either 2 different processes have equal priority or a single process can perform an instruction twice as fast ( requires you to write said operation in a certain way in order to do so ). – Ramhound Nov 14 '13 at 19:22