9. Языки разработки для систем реального времени
2.
8.5.4. Component Integrator
Система Component Integrator выпускается фирмой VenturCom, Inc. В отличие от предыдущих систем,
здесь не вводится новое ядро, а предлагаются пакеты, расширяющие ряд узких мест Windows NT.
1. Embedded Component Kit (ECK), включающий: поддержку работы без дисплея и клавиатуры,
уменьшение потребности в памяти, отключение страничного обмена, поддержку флеш-памяти
(возможность загрузки с флеш-памяти объемом ЮМЬ) и шины VME.
1. Real-time Extension (RTX), включающий: поддержку таймеров (разрешение - 1 микросекунда,
минимальный квант времени - 100 микросекунд), отключение виртуальной памяти, работа с
физической памятью (т.е. тождественное отображение виртуальной памяти на физическую), 128
новых уровней привилегий. Время задержки реакции на прерывание: 5-20 микросекунд,
8.5.5. Willows RT
Система Willows RT выпускается фирмой Willows Soft Ware, Inc. В отличие от предыдущих систем,
здесь приложение вообще не будет запускаться в Window NT. Windows NT используется только как
платформа разработки, приложение же будет работать под управлением настоящей ОСРВ (QNX, VxWorks,
...). Система состоит из трех частей.
1. Библиотеки TWIN32 и TWIN16, заменяющие библиотеки Microsoft и реализующие API.
1. TWIN Platform Abstraction Layer, ядро, обеспечивающее системные вызовы Microsoft.
1. TWIN Binary Interface, обеспечивающий трансляцию вызовов Platform Abstraction Layer в API
используемой ОСРВ.
9. Языки разработки для систем реального времени
Основными критериями при выборе языка для разработки приложения реального времени являются:
1. Получение наивысшей производительности приложения реального времени. Из этого требования
как правило вытекает, что язык должен быть компилируемого (как С, С++), а не интерпретируемого
(как Java) типа, и для него должен существовать компилятор с высокой степенью оптимизации кода.
Отметим, что для современных процессоров качество компилятора особенно важно, поскольку для
них оптимизация может ускорять работу программы в несколько раз по сравнению с
неоптимизирован-ным вариантом, причем часто оптимизирующий компилятор может породить код
более быстрый, чем написанный на ассемблере человеком. Технологии оптимизации развиваются
достаточно медленно и часто требуются годы на разработку высокоэффективного компилятора.
Поэтому обычно для более старых и с более простой структурой языков имеются более качественные
компиляторы, чем для достаточно молодых и сложно устроенных языков.
1. Получение доступа к ресурсам оборудования либо посредством языковых конструкций, либо
посредством имеющихся для выбранного языка библиотечных функций.
1. Возможность вызова процедур, написанных на другом языке, например, на языке ассемблера.
Из этого требования вытекает, что последовательность вызова подпрограмм (механизм именования
объектов, передачи аргументов и получения возвращаемого значения) должна быть документирована
для выбранного языка.
4. Переносимость приложения, под которой обычно понимают как возможность его скомпилировать
другим компилятором, имеющимся на той же платформе, так и возможность его скомпилировать на
другой платформе и/или другой операционной системе.
4. Поддержка объектно-ориентированного подхода стала в последнее время необходимостью,
зачастую выходя в списке требований на первое место. Это объясняет использование языка Java в ОСРВ.
60