Supervised Master's theses
Gustav Ek, Björn Boyd Isacsson:
An Evaluation of Dynamic Software Updating Techniques for Embedded Systems in C,
summary, report, June 2017.
Software updating is typically a quite costly process. Most programs need to be restarted during an update, causing downtime and commonly also a loss of its state. To avoid this downtime, a principle called dynamic software updating can be used.
This is a general principle in which the state of the program is transferred from an older version of the program to an updated one. The transfer of state means that the updated program will start back up at the same place as the old version stopped.
In this paper, we looked at three possible implementations of DSU. These three options are dynamic updates via systemd, the system command exec, and a library called Kitsune. We concluded that in an embedded system use-case, exec is the best option if you require fast update times, and systemd if there are significant memory restrictions.