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

Version), которая содержит дополни- тельный код для проверки коррект- ности используемых параметров и функций, а также для вывода предуп- реждающих сообщений в процессе ис- полнения приложения. При использо- вании отладочной версии под управ- лением упомянутых отладчиков про- граммисту предоставляется обширный перечень средств отладки приложения. Например, в любой точке исходного кода в процессе пошаговой отладки возможно вывести на экран монитора список всех занятых ресурсов. Особен- но мощным отладочным средством яв- ляется трассировщик ядра (Kernel Tracer), который позволяет вести про- токол всех происшедших событий, свя- занных с ядром или приложением, для последующего анализа. Драйверы устройств RTKernel является аппаратнонезави- симой системой, осуществляющей только управление выполнением задач. Однако в приложениях реального вре- мени, как правило, интенсивно исполь- зуется обмен данными с периферий- ными устройствами. Хотя приложения RTKernel могут без какихлибо ограни- чений осуществлять указанный обмен через стандартные драйверы устройств, созданные для DOS, наличие специаль- но оптимизированных для функцио- нирования в многозадачной среде драйверов аппаратуры позволит су- щественно улучшить производитель- ность системы. В комплект поставки RTKernel входит приведенный далее перечень драйверов аппаратуры с пол- ными исходными текстами. Timer Позволяет осуществлять измерение любого количества независимых вре- менных интервалов с разрешением около 0,8 мкс. Длительность интервала может составлять до 3,7 лет. Кроме того, данный модуль предоставляет возмож- ность изменения частоты системного таймера, которая обычно равна 18,2 Гц. RTKeybrd Устанавливает собственную процеду- ру обслуживания прерывания от кла- виатуры, позволяя тем самым задачам, ожидающим ввода с клавиатуры, не за- нимать для этой цели процессор. KillKey Дает возможность избежать нежела- тельных последствий, к которым мо- жет привести нажатие клавиш <Pause>, <PrintScreen> и т. п. во время исполне- ния приложения реального времени. RTTextIO Содержит средства, обеспечивающие совместное использование видеопод- системы различными задачами путем предоставления каждой собственного окна ввода/вывода. Spooler Обеспечивает возможность вывода файлов на печатающее устройство (па- раллельный принтер) в фоновом ре- жиме. CPUMoni Позволяет критичным по времени исполнения приложениям реального времени контролировать степень за- груженности процессора. RTCom Содержит полную реализацию взаи- модействия с последовательными пор- тами. Прием и передача данных через последовательные порты COM1–COM4 может осуществляться как в режиме опроса, так и по прерыванию. Автома- тически распознает УАПП семейства 16C550 и использует его встроенный буфер FIFO. RTIPX Содержит полную реализацию прото- кола IPX фирмы Novell. Может исполь- зоваться на любой рабочей станции сети, в программной среде которой установлен стандартный драйвер IPX. Длина пакета передаваемых данных может составлять до 64 кбайт. В отличие от протокола Novell IPX обеспечивает гарантированную выдачу ответа на при- нятое сообщение. Обработка таймау- тов и формирование запросов повтор- ной передачи при обнаружении комму- никационных ошибок осуществляются непосредственно из приложения. IPC Облегчает реализацию взаимодейст- вия между разными DOSприложения- ми путем использования мультиплек- сного прерывания DOS. В основном это относится к резидентным програм- мам, передающим данные основному исполняемому приложению. Кроме то- го, посредством IPC может быть орга- низован обмен данными между прило- жением Windows и резидентной про- граммой DOS. RTKernel-32 Многозадачное ядро реального времени для 32-разрядных встраиваемых систем RTKernel32 представляет собой мощ- ную мультизадачную систему реально- го времени, предназначенную для раз- работки встраиваемых приложений, использующих 32разрядное линейное адресное пространство памяти. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ 2/97 88 Время, мкс Выполняемая операция RTKernel 486-33 МГц 386-20 МГц 286-12 МГц 6 27 58 Циклическое переключение задачи 10 42 89 Переключение задачи по сигналу 3 13 22 Освобождение семафора (операция V(S)) 2 8 13 Занятие семафора (операция P(S)) 14 65 115 Активизация задачи при освобождении семафора другой задачей 7 20 35 Помещение данных в очередь сообщений 7 21 39 Извлечение данных из очереди 18 63 114 Непосредственная передача данных между задачами (Message-Passing) 24 77 150 Передача данных между задачами с использованием очереди сообщений (Task-to-Mailbox-to-Task) Динамические характеристики

RkJQdWJsaXNoZXIy MTQ4NjUy