Файловые системы не должны прибегать к циклам записи / переименования для атомарных записей. Файловые системы, которые имеют семантику блокировки, позволяют вам «блокировать» части или весь файл, а в некоторых случаях даже делать что-то вроде добавления к файлу, чтобы помочь с атомарностью.
@ Рэнди, оба твоих предположения о фрагментации могут быть неверными. В большинстве файловых систем запись всего файла и его закрытие приведет к менее фрагментированному файлу, а запись большого файла за одну запись определенно приведет к лучшему использованию больших блоков. Если вы имели в виду, что файловые блоки с большей вероятностью «ползут» по диску, это зависит от предпочтений макета в вашей файловой системе. Если вы пишете на флэш-память, вы, вероятно, захотите, чтобы файловая система проскальзывала по доступному хранилищу как своего рода самовыравнивание записей.