Настойчивость (информатика)

редактировать

В информатике, настойчивость относится к характеристике состояние, которое переживает процесс, который его создал. На практике это достигается сохранением состояния в виде данных в компьютерном хранилище данных. Программы должны передавать данные на устройства хранения и с них, а также обеспечивать сопоставления из собственного языка программирования структур данных в структуры данных устройства хранения.

Редактирование изображений. программы или текстовые процессоры, например, достигают сохраняемости состояния, сохраняя свои документы в файлах.

Содержание
  • 1 Ортогональное или прозрачное сохранение
    • 1.1 Принятие
  • 2 Методы сохраняемости
    • 2.1 Образы системы
    • 2.2 Журналы
    • 2.3 Грязные записи
  • 3 Уровни сохраняемости
  • 4 Распространенность системы
  • 5 Системы управления базами данных (СУБД)
  • 6 Постоянная работа систем
  • 7 См. также
  • 8 Ссылки
Ортогональная или прозрачная персистентность

Персистентность называется «ортогональной » или «прозрачной», когда она реализована как внутренняя свойство среды выполнения программы. Среда с ортогональной персистентностью не требует каких-либо конкретных действий со стороны запущенных в ней программ для извлечения или сохранения их состояния.

Неортогональная персистентность требует, чтобы данные записывались и считывались в хранилище и из хранилища с использованием определенных инструкций в программе, в результате в использовании persist как переходного глагола: по завершении программа сохраняет данные.

Преимущество сред с ортогональной персистентностью - это более простые и менее подверженные ошибкам программы.

Принятие

Ортогональная персистентность широко применяется в операционных системах для гибернации и в системах виртуализации платформы, таких как VMware и VirtualBox для сохранения состояния.

Исследования языков-прототипов, таких как PS-algol, Napier88, Fibonacci и pJama, успешно продемонстрировали концепции наряду с преимуществами для программистов.

Методы сохраняемости

Системные образы

Использование системных образов - простейшая стратегия сохранения. Блокнот гибернация - это пример ортогонального сохранения с использованием образа системы, поскольку он не требует каких-либо действий со стороны программ, запущенных на машине. Примером неортогонального сохранения с использованием образа системы является простая программа редактирования текста, выполняющая определенные инструкции для сохранения всего документа в файл.

Недостатки : Требуется ОЗУ, достаточное для хранения всего состояния системы. Изменения состояния, внесенные в систему после сохранения ее последнего образа, теряются в случае сбоя или завершения работы системы. Сохранение образа для каждого отдельного изменения может занять слишком много времени для большинства систем, поэтому образы не используются в качестве единственного метода сохранения для критически важных систем.

Журналы

Использование журналов - второй простейший метод настойчивости. Ведение журнала - это процесс сохранения событий в журнале до того, как каждое из них будет применено к системе. Такие журналы называются журналами.

При запуске журнал читается, и каждое событие повторно применяется к системе, что позволяет избежать потери данных в случае сбоя или выключения системы.

Вся история "Отменить / Повторить" пользовательских команд в программе редактирования изображения, например, при записи в файл, составляет журнал, способный восстанавливать состояние отредактированного изображения в любой момент времени.

Журналы используются файловыми системами журналирования, распространенными системами и системами управления базами данных, где они также называются «журналами транзакций» или «повторением». журналы ".

Недостатки : Когда журналы используются исключительно, вся (потенциально большая) история всех системных событий должна повторно применяться при каждом запуске системы. В результате журналы часто комбинируются с другими методами настойчивости.

Грязные записи

Этот метод представляет собой запись в хранилище только тех частей состояния системы, которые были изменены (загрязнены) с момента их последней записи. Например, сложные приложения для редактирования документов будут использовать грязные записи для сохранения только тех частей документа, которые были фактически изменены с момента последнего сохранения.

Недостатки: Этот метод требует, чтобы изменения состояния перехватывались в программе. Это достигается непрозрачным способом, требуя определенных вызовов API хранилища, или прозрачным способом с помощью автоматического преобразования программы. Это приводит к тому, что код работает медленнее, чем собственный код, и его труднее отлаживать.

Уровни сохраняемости

Любой уровень программного обеспечения, который упрощает для программы сохранение своего состояния, обычно называется уровнем сохраняемости. Большинство уровней сохраняемости не достигают устойчивости напрямую, но будут использовать базовую систему управления базами данных.

Распространенность системы

Распространенность системы - это метод, который объединяет образы системы и журналы транзакций, упомянутые выше, для преодоления их ограничений.

Недостатки: Распространенная система должна иметь достаточно RAM для хранения всего состояния системы.

Системы управления базами данных (СУБД)

СУБД используют комбинацию упомянутых выше методов «грязной» записи и ведения журнала транзакций. Они обеспечивают не только постоянство, но и другие услуги, такие как запросы, аудит и контроль доступа.

Постоянные операционные системы

Постоянные операционные системы - это операционные системы, которые остаются постоянными даже после сбоя или неожиданного завершения работы. Операционные системы, использующие эту возможность, включают

См. также
Ссылки
  1. ^Бальцер, Стефани (17 ноября 2005 г.). «Программирование постоянных объектов по контракту» (PDF). Университет Глазго - Школа CS - Исследования. ETH Zürich. Архивировано из исходного (PDF) 31 декабря 2006 г. Получено 21 сентября 2015 г.
Последняя правка сделана 2021-06-01 09:54:39
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте