Что нового

[Файловая система] Механизм копирования файлов в Windows

joiner

Модератор
Локальный модератор
Сообщения
3,557
Репутация
628
Собственно меня интересует как система копирует..
Происходит считывание и запись? В каком режиме? Есть ли разница в копировании файлов с разным расширением и разного объема?
 

sngr

AutoIT Гуру
Сообщения
1,011
Репутация
409
Расширение на копирование никак не влияет, файл в 1 gb скопируется гораздо быстрее, чем стотыщмильонов мелких файлов, в сумме тогоже размера .
 

AZJIO

Меценат
Меценат
Сообщения
2,892
Репутация
1,196
Александр
Копирование мелких файлов требует обращение к файловой таблице и более итераций получается, головка прыгает то к таблице, то к данным файла. Для больших файлов дефрагментированность влияет. Кроме того буфер передачи данных небольшой. Программа TeraCopy увеличивает буфер, за счёт этого большие файлы на 30% быстрее копируются. Система видимо считывает часть файла, потом записывает и повторяет это в цикле, пока файл не закончится. Если копирование на другой физический диск, то происходит в 2 раза быстрее, так как одна головка читает, другая пишет, а на одном физическом одна читает она же и пишет.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,485
Есть подозрение, что замедляет процесс копирования также и вывод информации о самом копировании, т.е обработка информации и вывод на экран процесса копирования, замедляет это самое копирование :stars:.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Копирование файла(ов) происходит блоками (обычно по 4 КБ). Считывается очередная порция данных из файла источника, а затем записываеися в файл назначения, и т.д. Процесс копирования, естественно, запускается в Explorer'е в отдельном потоке (если речь идет о копировании в Windows), но после записи очередного блока данных обновляется прогресс в GUI. Да, GUI конечно тормозит копирование, но незначительно. К слову, с помощью XCOPY это будет происходить быстрее.



Добавлено:
Сообщение автоматически объединено:

А вообще, вопрос не очень понятен. Что конкретно интересует? Ты хочешь написать свою функцию копирования файлов?
 
Автор
joiner

joiner

Модератор
Локальный модератор
Сообщения
3,557
Репутация
628
Yashied [?]
Что конкретно интересует?
в принципе я услышал что хотел..мне так кажется.
насчет функции вряд ли смогу . хотя пробовал. интересно стало.
 
Верх