У меня есть 10 байтов данных для записи в файл после того, как моя программа записывает 9-битные и 7-битные данные на жесткий диск, если электричество сокращается, сколько байтов я могу прочитать из этого файла после поступления электроэнергии? 9 байтов или 10 байтов?Принцип работы жесткого диска
ответ
Вы ничего не можете сказать. Здесь слишком много слоев абстракции. Ваша программа часто буферизует, буферы ОС, буферы набора микросхем, сам накопитель буферов, и в какой-то момент данные будут записаны.
Когда вы просите жесткий синхронизации по данным через что-то вроде fsync
все, что вы получаете подтверждение того, что по крайней мере ваши данные не были написаны, нет гарантии, что ничего не было.
Для этих данных требуется ненулевое количество времени, чтобы эти данные могли проходить через все эти слои и физически заканчиваться на вашем диске, SSD или иным образом. Если в какой-то момент этого процесса отключится питание, и вы не получили подтверждения о записи, то можете предположить, что вы не знаете, сколько было написано. Вам придется проверять все файлы, которые вы писали раньше, и посмотреть, какие данные имеются.
При перезагрузке системы, вероятно, придется в любом случае восстановить журнал, и любые незафиксированные изменения будут отменены. В вашем примере количество фактически записанных байтов: .
- 1. Каков принцип динамического жесткого диска VirtualBox?
- 2. C# bool принцип работы принцип
- 3. Как избежать жесткого диска
- 4. Значок жесткого диска Android
- 5. Копирование внешнего жесткого диска
- 6. создание виртуального жесткого диска
- 7. выключение жесткого диска
- 8. Обозначение жесткого диска BSD
- 9. Мембранный эквивалент жесткого диска
- 10. Расчет Емкость жесткого диска
- 11. Уникальный идентификатор жесткого диска
- 12. производительность жесткого диска
- 13. Расположение жесткого жесткого диска на UIImageView
- 14. Принцип работы Array.sort()
- 15. адрес жесткого диска при разборке
- 16. css изображение с жесткого диска
- 17. загрузочный сектор чтения жесткого диска
- 18. Как избежать фрагментации жесткого диска?
- 19. Программная идентификация сбоя жесткого диска
- 20. Идентификатор жесткого диска SATA-накопителей
- 21. Формат жесткого диска с javascript
- 22. FInding емкость жесткого диска программно
- 23. Понимание размера сектора жесткого диска
- 24. Изменение уникального идентификатора жесткого диска
- 25. Отключить поддержку жесткого диска Linux
- 26. Расчет пропускной способности жесткого диска
- 27. Дефрагментация виртуального жесткого диска (.vhd)?
- 28. Получить серийный номер жесткого диска
- 29. Git после протирки жесткого диска
- 30. Локальные ссылки жесткого диска сломаны
Вы не можете записать отдельные биты на диск. Минимальный размер блока. – Thilo
И даже это мало связано с тем, что файловая система думает, где начинается и заканчивается файл, и какие меры он имеет для защиты от неполных обновлений. – Thilo
Могу ли я сказать, что если минимальный размер блока составляет 512 байт, я могу читать нулевые байты. Я прав? – codeator