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