Instruction Scheduling (D) is a machine-dependent optimization technique. It involves reordering the instructions in a program to better utilize the CPU’s execution units, reduce pipeline stalls, and improve overall performance. The effectiveness of instruction scheduling depends on the specific architecture of the machine, such as the number of execution units, the pipeline depth, and other hardware characteristics.