ЖУРНАЛ СТА 2/1997

С уверенностью можно сказать, что ссылки на красивое слово- сочетание «реальное время» ста- ли общим местом на различных се- минарах, конференциях и в специали- зированной печати. С неменьшей уве- ренностью можно сказать, что смысл этого термина трактуется специали- стами поразному в зависимости от области их профессиональных инте- ресов, от того, являются они теорети- ками или практиками, и даже просто от личного опыта и круга общения. В этой статье мы сконцентрируемся на рассмотрении данного вопроса применительно к цифровой вычис- лительной технике, используемой в системах управления и сбора данных. Основное внимание будет уделено программному обеспечению, так как оно является наиболее слабым звеном в системах реального времени. Мно- гопроцессорные системы для прос- тоты рассматриваться не будут. Статья не претендует на исчерпывающее из- ложение предмета и является скорее заметками на тему основных понятий и терминологии в этой области. ТАК ЧТО ЖЕ ТАКОЕ РЕАЛЬНОЕ ВРЕМЯ Если попытаться дать короткое оп- ределение, то 1. Система называется системой ре- ального времени, если правильность ее функционирования зависит не только от логической корректности вычислений, но и от времени, за кото- рое эти вычисления производятся. То есть для событий, происходящих в такой системе, то, КОГДА эти события происходят, так же важно, как логи- ческая корректность самих событий. 2. Говорят, что система работает в реальном времени, если ее быстродей- ствие адекватно скорости протекания физических процессов на объектах контроля или управления. Так как ок- ружающий нас мир весьма многооб- разен, здесь уместно добавить, что име- ются в виду именно те процессы, кото- рые непосредственно связаны с функ- циями, выполняемыми конкретной системой реального времени. То есть система управления должна собрать данные, произвести их обработку в соответствии с заданными алгоритма- ми и выдать управляющие воздействия за такой промежуток времени, кото- рый обеспечивает успешное решение поставленных перед системой задач. Из приведенных определений следу- ет несколько интересных выводов. Вопервых, практически все системы промышленной автоматизации явля- ются системами реального времени. Вовторых, принадлежность систе- мы к классу систем реального времени никак не связана с ее быстродействием. Например, если ваша система предна- значена для контроля уровня грунто- вых вод, то даже выполняя измерения с периодичностью один раз за полчаса, она будет работать в реальном времени. Исходные требования к времени реакции системы и другим временным параметрам определяются или техни- ческим заданием на систему, или про- сто логикой ее функционирования. Например, шахматная программа, ду- мающая над каждым ходом более года, работает явно не в реальном времени, так как шахматист скорее всего не до- живет до конца партии. Однако точное определение «приемлемого времени реакции» не всегда является простой задачей, а в системах, где одним из звеньев служит человек, подвержено влиянию субъективных факторов. Впрочем, человек — это своеобразная вычислительная машина, а мы дого- ворились многопроцессорных конфи- гураций не рассматривать. Интуитивно понятно, что быстро- действие системы реального времени должно быть тем больше, чем больше скорость протекания процессов на объекте контроля и управления. Что- бы оценить необходимое быстродей- ствие для систем, имеющих дело со стационарными процессами, часто используют теорему Котельникова, из которой следует, что частота дискре- тизации сигналов должна быть как минимум в 2 раза выше граничной частоты их спектра. При работе с широкополосными по своей природе переходными процес- сами (транзиентанализ) часто приме- няют быстродействующие АЦП с бу- ферной памятью, куда с необходимой скоростью записывается реализация сигнала, которая затем анализируется и/или регистрируется вычислитель- ной системой. При этом требуется за- кончить всю необходимую обработку до следующего переходного процесса, иначе информация будет потеряна. Подобные системы иногда называют системами квазиреального времени. Принято различать системы «жест- кого» и «мягкого» реального времени. Читатель наверное догадался, что эти различия не связаны с органолепти- ческими свойствами систем. Тогда что же это такое? 1. Системой «жесткого» реального времени называется система, где не- способность обеспечить реакцию на какиелибо события в заданное время является отказом и ведет к невозмож- ности решения поставленной задачи. Последствия таких отказов могут быть разные, от пролива драгоценной влаги на линии по розливу алкоголь- ных напитков до более крупных не- приятностей, если, например, вовремя не сработала система аварийных бло- кировок атомного реактора. Многие теоретики ставят здесь точ- ку, из чего следует, что время реакции в «жестких» системах может состав- лять и секунды, и часы, и недели. Одна- ко большинство практиков считают, что время реакции в системах «жест- кого» реального времени должно быть всетаки минимальным. Идя на пово- ду у практиков, так и будем считать. Ра- зумеется, однозначного мнения о том, какое время реакции свойственно «жестким» системам, нет. Более того, с увеличением быстродействия микро- процессоров это время имеет тенден- цию к уменьшению, и если раньше в качестве границы называлось значе- ние 1 мс, то сейчас, как правило, назы- вается время порядка 100 мкс. 2. Точного определения для «мягко- го» реального времени не существует, поэтому будем считать, что сюда отно- сятся все системы реального времени, не попадающие в категорию «жестких». Так как система «мягкого» реального времени может не успевать ВСЁ делать ОБЗОР Программное обеспечение 2/97 22 ОПЕРАЦИОННЫЕ СИСТЕМЫ Сергей Сорокин СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ '

RkJQdWJsaXNoZXIy MTQ4NjUy