В вычислительной технике образ системы представляет собой сериализованную копию всего состояния компьютерной системы, хранящуюся в некоторой энергонезависимой форме, например, в виде двоичного исполняемого файла .
Если все состояние системы записано на диск (т. е. на образе диска ), то образ системы может быть создан путем копирования диска в файл в другом месте, часто с помощью приложений клонирования дисков . Во многих системах полный образ системы не может быть создан программой клонирования дисков, запущенной в этой системе, поскольку информация может храниться вне дисков и энергозависимой памяти, например, в энергонезависимой памяти, такой как загрузочные ПЗУ.
Говорят, что система способна использовать системные образы, если ее можно выключить и затем восстановить в то же самое состояние. В таких случаях системные образы можно использовать для резервного копирования .
Примером гибернации является использование образа всей оперативной памяти машины .
Образ процесса — это копия состояния данного процесса в данный момент времени. Он часто используется для создания постоянства в системе, которая в противном случае была бы нестабильной. Типичным примером является система управления базами данных (СУБД). Большинство СУБД могут сохранять состояние своей базы данных или баз данных в файле перед закрытием (см. дамп базы данных ). Затем СУБД можно перезапустить позже с нетронутой информацией в базе данных и продолжить работу так, как будто программное обеспечение никогда не останавливалось. Другим примером может служить функция спящего режима многих операционных систем. Здесь состояние всей оперативной памяти сохраняется на диске, компьютер переводится в режим энергосбережения, а затем позже восстанавливается до нормальной работы.
Некоторые эмуляторы предоставляют возможность сохранить изображение эмулируемой системы. В видеоиграх это часто называют savestate .
Другое применение — мобильность кода : мобильный агент может мигрировать между машинами, сохраняя свое состояние, а затем копируя данные на другую машину и перезапускаясь там.
Некоторые языки программирования предоставляют команду для получения системного образа программы. Это обычно стандартная функция в Smalltalk (вдохновленном FLEX) и Lisp , среди других языков. Разработка на этих языках часто сильно отличается от многих других языков программирования. Например, в Lisp программист может загружать пакеты или другой код в работающую реализацию Lisp с помощью цикла read-eval-print , который обычно компилирует программы. Данные загружаются в работающую систему Lisp. Затем программист может выгрузить системный образ, содержащий этот предварительно скомпилированный и, возможно, настроенный код, а также все загруженные данные приложения. Часто этот образ является исполняемым файлом и может быть запущен на других машинах. Этот системный образ может быть формой, в которой распространяются исполняемые программы — этот метод часто использовался программами (такими как TeX и Emacs ), в значительной степени реализованными на Lisp, Smalltalk или идиосинкразических языках, чтобы не тратить время на повторение одной и той же работы по инициализации при каждом запуске.
Аналогично, Lisp Machines загружались из Lisp-образов, называемых Worlds. World содержит полную операционную систему, ее приложения и ее данные в одном файле. Также было возможно сохранять инкрементные Worlds, которые содержали только изменения из некоторого базового World. Перед сохранением World операционная система Lisp Machine могла оптимизировать содержимое памяти (лучшее расположение памяти, сжатие структур данных, сортировка данных, ...).
Хотя его назначение иное, «образ системы» часто по структуре похож на дамп ядра .