после того как копирование завершено система просит не отключить устройство и так еще минут 5?
Пишет на флеху же
Так происходит, потому что так реализована работа с блочными устройствами (HDD, SSD, флешки, SD-карты и т.д.) в ядре: вся непосредственная низкоуровневая работа с блочными устройствами идёт асинхронно относительно действий пользователя. То есть, несмотря на то, что «копирование» с точки зрения юзерспейса закончилось, ядро всё ещё продолжает взаимодействовать с блочным устройством, записывая небольшими кусочками все запрошенные для копирования данные. Более того, само блочное устройство имеет свой контроллер, который реально записывает данные (например, в сами чипы флеш-памяти, которые лежат в основе SSD/USB-флешках/SD-карт), и ядро опрашивает этот контроллер и не даёт отмонтировать файловую систему блочного устройства до момента, пока контроллер не скажет «я всё записаль». Поэтому один из способов узнать, что система закончила свою работу, — это запустить команду sync в терминале и дождаться, пока ОС не скажет, что все данные уже записались (т.е. когда программа sync завершит работу). Скорее всего «система» (видимо, ты имеешь в виду графический интерфейс) делает то же самое, то есть использует тот же самый интерфейс, что команда sync, просто красиво пишет, что «диск ещё занят».
Оптимизация работы
Спасибо за развернутый ответ. Я просто нажимаю отмонтировать устройство жду когда появится табличка, что устройство можно отсоединить. Непонятно почему разрабы не привяжут время физического копирования к графическому. Я так пару раз флешку дергал, а потом оказывалось, что на ней пусто.
В теории нельзя предсказать, когда конкретно контроллер блочного устройства скажет, что данные таки записались. С другой стороны, говорят, в Windows 10 (https://thenextweb.com/news/windows-10-now-lets-you-pull-out-usb-drives-without-safely-removing-them) таки это реализовали, но в моей голове совершенно не укладывается как.
Скорость записи известна, объем тоже. Время по идее несложно найти =)
В винде как раз все ок. Как графическое копирование пропало, сразу дергаешь и инфа на флешке. А в лине ждёшь мин 5 еще😂
А если ты потом передумал копировать на флешку и удалил файл какой-то. Винда тебе две дырки протрет, а линукс скорее всего ни одной =)
Скорость записи неизвестна, есть огромная разница между random write и sequential write, предугадать время записи сложновато.
фрагментация ячеек сюда же
разве нет информации с какой скоростью пишется на флэшку?
Обсуждают сегодня