Многоядерные процессоры мало используются без нескольких головок чтения / записи, что, вероятно, означает наличие нескольких дисков. Поскольку ваш вопрос не зависит от платформы, я не стесняюсь предложить использовать систему параллельного ввода-вывода и заставить все эти ядра выполнять свою часть работы вместо простоя.
Если вы ограничиваете себя одним диском с одним рычагом для чтения / записи и одной головкой на поверхность, вам нужно минимизировать движения руки. Вы, вероятно, хотите читать с дорожки на одной поверхности и писать на ту же дорожку на другой поверхности. Или вы можете прочитать сектор с одной поверхности и скопировать его в другой сектор на той же дорожке на той же поверхности.
Однако все это включает в себя операции очень низкого уровня (на мой взгляд, они выглядят очень низкоуровневыми). Кажется, что общая тенденция в вычислениях общего назначения постоянно заключается в том, чтобы предоставить программисту простые в использовании инструменты, за счет устранения легкого доступа к операциям низкого уровня. Задача, которую вы поставили перед собой, примерно такая:
Уловка C # для доступа к диску так, как я хочу, а не так, как он хочет.
Удачи с этим: -)
Mark
PS Ваше упоминание о CD / DVD предполагает, что вы, хотя и не утверждаете, что вы пытаетесь сделать быструю копию с диска на CD / DVD. Если это так, вы можете подумать о том, чтобы сначала сделать копию на диск, вернуть копировальный аппарат в рабочее состояние и переместить копирование с копии на CD / DVD на другое ядро.