The correct answer is: C. contains the address of the next instruction to be executed.
The program counter (PC) is a register in a computer processor that contains the address of the instruction that the processor is currently executing. The PC is incremented after each instruction is executed, so it always points to the next instruction to be executed.
Option A is incorrect because the operating system decides which program to run.
Option B is incorrect because the instruction counter counts the number of instructions that have been executed, not the number of instructions that have been decided to be run.
Option D is incorrect because the arithmetic logic unit (ALU) is where arithmetic is done in a computer.
Option E is incorrect because the program counter is a real component of a computer, not a hypothetical one.