Мы все слышали предупреждение о безопасном удалении USB-устройств, когда мы закончили с ними, но что, если операционная система будет приостановлена, и вы все равно решите просто отключить USB-устройство? Сегодняшний пост SuperUser Q & A содержит ответ на любопытный вопрос читателя.
Сегодняшняя сессия Вопросов и Ответов приходит к нам благодаря SuperUser — подразделению Stack Exchange, объединенной группой веб-сайтов вопросов и ответов.
Вопрос
Считыватель SuperUser IQAndreas хочет знать, безопасно ли извлекать USB-носитель при зависании компьютера:
Мы часто предостерегаем от отключения USB-накопителей в случае, если они в настоящее время считываются или записываются на них. Когда компьютер приостановлен, находится в спящем режиме или спит, он явно не записывает никаких данных. Однако, возможно, он находился в середине операции чтения или записи, и такая операция будет отложена.
Поскольку никакие руки не движутся (для жестких дисков USB), или байты на диске мерцают и выключаются (для флэш-накопителей), тогда «безопасно» ли отсоединять диск, о котором идет речь?
Верно ли это, даже если в него были записаны данные, но операция была временно приостановлена? (Предполагая, что вы не возражаете, этот конкретный файл был наполовину записан на USB-накопитель.)
Безопасно ли извлекать USB-носитель при зависании компьютера?
Ответ
SuperUser вкладчик kinokijuf имеет ответ для нас:
Хотя передачи действительно не выполняются, причина, по которой вы исполняете танец «Безопасное извлечение устройства», заключается не в передаче. Вы делаете это для чистого размонтирования файловой системы. Программы по-прежнему могут использовать USB-накопитель, и некоторые файлы могут быть записаны на диск даже после закрытия приложения, использующего их. Это та же самая причина, по которой вы не просто переводите компьютер в спящий режим и переключаете операционные системы. Смонтированная файловая система никогда не будет находиться в согласованном состоянии.
Когда-нибудь задумывались, почему операционная система замедлилась до отказа при использовании дискет? Это связано с тем, что кэш был очищен после записи каждого сектора, так что дискета может быть удалена в любое время, когда она не используется.
Вы по-прежнему будете получать диалоговое окно, и ваша программа будет зависать, если вы попытаетесь получить доступ к дискете, которая была удалена за вашей спиной. Просто вставьте дискету обратно и все готово. Это не будет работать с USB-накопителями, потому что они каждый раз получают разные идентификаторы. Программа просто рухнет, и операционная система тоже может, если драйвер обращался к файлу.
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других опытных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь .
Изображение предоставлено: Ambuj Saxena (Flickr)