バイナリ ファイル (大きいと考えてください) といくつかのバイナリ BLOB が与えられ、ファイルの途中に挿入/置換する必要があります (オフセットはわかっています)。
同時に、ユーザーがファイルにアクセスできるようになる可能性があるため、「何もない」必要があります。すべてを更新する前にユーザーがファイルを開いた場合は古いバージョンのファイルを持っているか、成功した場合は新しいバージョンを持っている必要があります。
Linux、Windows、および OS X のソリューションに興味があります。もちろん、実装は異なる場合があります。