組み込み Linux ベースの製品を開発しています。Linux ユーザー空間は、製品の一部である複数のプロセスを実行します。ファームウェア バージョンのアップグレード (およびダウングレード) の巧妙な設計を実装したいと考えています。たとえば、新しいバージョンで構造を変更すると、新しいプロセスは古いデータ (フラッシュに保存されている) を読み取り、そこから新しい構造を構築する方法を知ることができますが、ダウングレードすると、古いプロセスが優先されます。フラッシュに保存されている新しい構造がわかりません。
では、ファームウェア バージョン全体のアップグレード (およびダウングレード) を処理するための最適な設計は何でしょうか?