Почему Safely Remove Hardware так медленно?

5576
Stewie Griffin

Я никогда не использовал компьютер, на котором нажатие кнопки «Безопасное извлечение устройства и извлечение носителя» привело к немедленному ответу. Большинство других функций реагируют почти мгновенно, тогда как для появления окна «Извлечь строку USB-продукта» почти всегда требуется несколько секунд. (Я признаю, иногда это происходит быстро, но это очень редко, даже на новых компьютерах.)

Есть ли причина, почему это должно быть медленнее, чем другие команды? Это связано с тем, что компьютеру требуется время, чтобы понять, что можно удалить?

Почему Safely Remove Hardware так медленно?

19
система должна опросить шину, чтобы увидеть, какие устройства на ней, и ждать, пока они ответят, и перечислить ресурсы, связанные с ними. Frank Thomas 10 лет назад 15
Это хорошее объяснение, но оно по-прежнему занимает столько же времени, даже если используется только один диск. Похоже, он всплывает немного быстрее, если вы щелкнете по нему второй раз, но все равно это займет некоторое время. Synetech 10 лет назад 2
@ Synetech, я полагаю, что алгоритмы опроса шины используют установленное время ожидания, поэтому они отправляют сигнал запроса и ждут X времени ответа. это объяснило бы, казалось бы, статическое отставание. однако не канонический ответ; Я не инженер. Frank Thomas 10 лет назад 2
Запустите ProcMon в фоновом режиме и посмотрите, что медленно: http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-3-Process-Monitor magicandre1981 10 лет назад 1
Также могут быть некоторые программы или ресурсы, которые не желают отказываться от контроля над оборудованием USB или требуют времени для ответа. По моему опыту (с Vista), если бы я запустил Explorer на устройстве (например, на примере флешки), это заняло бы больше времени, чем если бы на нем не было ничего (даже автозапуска Explorer), где удаление было бы мгновенным. Doktoro Reichard 10 лет назад 0
Если вы зайдете в `diskmgmt.msc`, то также произойдет задержка, когда апплет MMC будет перечислять тома. «Подключение к службе виртуальных дисков» и т. Д. Возможно, это как-то связано. LawrenceC 6 лет назад 0

1 ответ на вопрос

8
M.Abooali

Это связано с тем, что Windows для повышения производительности использует технику, называемую «отложенная запись», при которой Windows не всегда сразу записывает все на внешний диск каждый раз, когда вы его используете. Скорее, он объединяет множество мелких записей в одну большую запись, удерживая данные в памяти.

Это как мытье посуды; гораздо эффективнее загружать одну посудомоечную машину в день, чем загружать ее каждый раз, когда вы используете одну чашку или тарелку.

Но недостатком является то, что некоторые данные, которые, как вы думаете, вы перенесли на USB-накопитель, на самом деле все еще находятся в памяти вашего компьютера. Вот почему вы не должны просто извлекать диск, а сначала использовать значок «Безопасное извлечение устройства», чтобы заставить Windows записывать на диск все, что находится в памяти.

Это достаточно легко сказать, но функция Windows «Безопасное извлечение устройства» вводит в заблуждение, особенно если у вас несколько USB-устройств. Что еще хуже, значок часто пропадает с панели задач.

Для более быстрого удаления вы можете изменить настройки USB-диска для защиты режима. но в этом режиме передача медленнее.

Но другой способ - использовать « usb-disk-ejector ». Это программное обеспечение является бесплатным и портативным. быстро и безопасно.

Я не думаю, что это объясняет, почему функция «Безопасное извлечение устройства» * такая медленная *. Я не наблюдал никакой разницы между использованием его на USB-накопителе, где я «писал» данные, и где я «только читал» данные. Я не верю, что это из-за отложенных записей * только *. Honza Zidek 10 лет назад 5
Это не отвечает на вопрос. Ploni 6 лет назад 0
Упомянутая программа может быть хорошим обходным путем, хотя и не строго отвечая на вопрос. LawrenceC 6 лет назад 0