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