The correct answer is C. interrupt signals.
An interrupt is a signal sent by an I/O device to the processor to request attention. The processor then stops what it is doing and handles the I/O request. This allows the processor to continue running at its full speed, even when it is waiting for an I/O operation to complete.
Buffer spaces are areas of memory that are used to store data temporarily. They can be used to overcome the lag in the operating speeds of the I/O device and the processor by storing data that is waiting to be processed by the processor.
Status flags are bits in the processor that are used to indicate the status of the processor and the I/O devices. They can be used to determine whether an I/O operation is complete or not.
Exceptions are events that occur during the execution of a program that can cause the program to stop running. They can be used to handle errors that occur during I/O operations.
In conclusion, interrupt signals are the most efficient way to overcome the lag in the operating speeds of the I/O device and the processor.