Здравствуйте, watchmaker, Вы писали: W>В первую очередь, зачем вообще тебе нужно соблюдать порядок записи? Почему бы не оставить эту задачу на усмотрение ОС?
Ну задачка очень простая. Файл содержит две вресии данных и заголовок, который определяет какая версия данных является актуальной. Версии данных по очереди периодически обновляются и указатель в заголовке переключается на новую актуальную версию. Соответсвенно если в первую очередь изменится указатель на версию данных, а во время записи данных произойдет ошибка, соответственно указатель будет указывать на версию с ошибочными данными, и определить эту ситуацию никак нельзя, CRC не вычислить — объем данных слишком большой. Соответсвенно всегда нужно: сначала гаранитрованно выполнить сохранение новой версии данных, затем переключить указатель в заголовке. В принципе указатель можно переключать и асинхронно.