19

Все ли данные, которые я копирую, проходят через это или есть другой, более прямой путь?

3 ответа3

29

Хитрый! Данные на самом деле не проходят через процессор как таковой.

Данные и критические 1 и 0 проходят через набор микросхем или выделенные микросхемы ввода-вывода и память, однако при копировании файлов команда, выполняющая копирование, запускается процессором.

Представьте себе объект перед вами (данные), ваши руки (чипсет / чип ввода / вывода) и ваш мозг (процессор). Вы на самом деле не используете свой мозг для перемещения объекта, ваш мозг запускает "команду" на руки, чтобы переместить объект.

5

Процессор должен запустить программу, которая читает исходный файл, а затем записывает файл назначения.

Прочитанные данные будут (обычно) считываться в основную память порциями, но на самом деле не проходят через ЦП.

4

На мэйнфрейме с интеллектуальными каналами процессор просто скажет каналам сделать копию. Очень эффективный и позволяет быстро создавать большие резервные копии с минимальной нагрузкой на процессор.

К сожалению, у нас нет интеллектуальных каналов, поэтому ЦП оказывается в цикле, похожем на:

for each file(dev1); do 
   createfile(dev2);
   copyfilecontent(dev1, dev2);
end;

Загрузка ЦП не так велика, если в нем много маленьких файлов, особенно много файлов в одном каталоге. Операция создания файла обычно имеет самые высокие издержки. Копирование с диска на диск просто обрабатывает каждый диск как существующий файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .