Я думал о том, как при программировании моей целевой платы PROGRAMMER программирует целевую плату на основе информации, присутствующей в исполняемом исполняемом файле, что, по моему мнению, выполняется с помощью сценария компоновщика, связывая различные файлы и создавая информацию .init, .text, .data, .fini и т. д.Каковы изменения, внесенные в сегмент кода, когда компании развертывают обновления программного обеспечения?
Мне было интересно, когда, например, Apple выпускает обновление iOS, которое составляет, например, 100 МБ, это обновление имеет свой собственный набор переменных - глобальный статический const, инициализированный, неинициализированный и т. д. Это приведет к новой карте памяти. Итак, теперь, когда это обновление устанавливается на процессоре, рассматривают iPhone, то как это работает? Есть ли дополнительная память в разделе .init, .text, .data и т. Д. Кода ОС для таких будущих обновлений?
PS: Я мог бы сделать некоторые технические ошибки в моем описании выше, я буду признателен за любые изменения к нему
Ум, обычно это просто заменяет старые вещи. Нет причин держать его вокруг, не так ли? Поэтому нет оснований хранить «пространство» для будущих вещей, потому что это будет просто написано в любом случае. – AbstractDissonance
Что вы подразумеваете под заменой старого? новое обновление, определенно, не такое же, как у более старого, а затем как? Я не думаю, что все программное обеспечение ОС переустановлено – Anurag
Вы когда-нибудь задумывались, почему вам обычно нужно перезагружаться после такого обновления? Нет необходимости обновлять текущую ОС в памяти, так как вы можете обновлять файлы на диске и перезагружаться, чтобы загружать новые файлы. – Macmade