КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Введение. В течение последних нескольких лет интерес к практическому использованию систем реального времени (РВ) стремительно рос
В течение последних нескольких лет интерес к практическому использованию систем реального времени (РВ) стремительно рос, и это вызвало не только появление новых практических систем, но и породило ряд новых требований, предъявляемых к системам реального времени. Естественно, что это вызвало новую волну научных работ в области систем РВ [79]. В классическом понимании, система реального времени − это система, работа которой каким-то образом должна быть связана с реальным (а не машинным) временем. Зачастую в таких системах необходимо взаимодействовать с реальными процессами, происходящими во внешнем мире. Типичным примером систем РВ являются системы, осуществляющие контроль за физическими устройствами. Как правило, такие системы состоят из контролирующей и контролируемой систем. Контролируемая система часто рассматривается как среда, с которой взаимодействует контролирующая система, извлекая данные из среды с помощью различных датчиков. На основе этих данных контролирующая система выполняет определенные действия и поэтому важно, чтобы состояние среды, воспринимаемое контролирующей системой, как можно лучше соответствовало реальному состоянию среды. В случае большой погрешности действия контролирующей системы могут быть неадекватными. На первый взгляд кажется, что в системе реального времени наибольшее значение имеет скорость выполнения исполняемого кода. Однако это ошибочное предположение. Даже если приложение, которое отслеживает состояние отдельного датчика, работает очень быстро, то это не гарантирует своевременного обновления информации о состоянии этого датчика в системе. Ведь нет никакой гарантии, что это приложение получит управление в течение определенного промежутка времени. Поэтому наиболее важный критерий в системе РВ − предсказуемость [79]. Зачастую в системах реального времени необходимо манипулировать большими объемами разделяемых данных, и это естественным образом приводит к необходимости использования СУБД. Однако классические системы управления базами данных не очень пригодны для применения в системах РВ, поскольку к СУБД в таких системах предъявляется ряд новых требований, и многие из методов, применяемых в классических СУБД, их совершенно не учитывают [79]. Типичными системами реального времени, в которых используются системы управления базами данных, являются информационные системы управления и системы управления процессами в реальном времени. Информационные системы управления иллюстрируют одно из новых требований, предъявляемых к СУБД в системах реального времени, − наличие директивных сроков у выполняемых задач. Однако, в отличие от систем управления процессами в реальном времени, в таких системах временные ограничения менее жесткие, задачи поступают апериодически и запросы к базе более сложные. Примером системы управления процессами в реальном времени является система автоматического пилотирования. Для расчета направления полета необходимо учитывать текущую информацию о направлении и силе ветра. Чем больше времени прошло с момента получения данных о ветре, тем менее достоверными могут оказаться результаты вычислений. Этот пример иллюстрирует другое требование к СУБД в системах реального времени − работа с устаревающими данными, т.е. данными, которые с течением времени теряют свою значимость. Эти примеры иллюстрируют две наиболее распространенных особенности, присущие СУБД в системах реального времени: · задачи должны быть завершены к определенным моментам времени; · данные в базе всегда должны оставаться относительно свежими. Методы, применяемые в классических CУБД, совершенно не учитывают этих особенностей, и для полноценного использования системы управления базами данных в системах реального времени зачастую необходимо использовать совершенно другие алгоритмы, опираясь на предоставляемые системой реального времени возможности. Таким образом, системы управления базами данных, предназначенные для работы в системах реального времени (СУБДРВ), представляют из себя отдельный специфический класс СУБД. Новые проблемы появляются в поддержке целостности, журнализации и восстановлении данных [79]. Еще одной областью, требующей новых исследований, является управление доступом к данным, в частности управление буферами [79]. Для поддержки временных аспектов возможностей SQL недостаточно, в настоящее время завершена работа над Real-Time SQL, хотя он еще не утвержден как стандарт. Дополнительные исследования ведутся также в областях: моделирования БД, алгебры процессов. В последнем случае традиционные алгебры процессов, используемые для работы с параллельными системами, расширяются для поддержки временных характеристик. Идет работа также над вопросами, связанными с производительностью систем. Кроме изучения стоимостных моделей, есть много возможных требований к предсказуемости системы, таких как множественные уровни гарантии и QоS. Отдельный интерес представляет использование распределенных БД в реальном времени [79], а также мультимедийные базы данных [79]. В данном разделе мы затронем только вопросы касающиеся поддержки целостности баз данных в системах реального времени.
|