Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Каким инструментарием должны обладать ЯП РВ




– описание параллельных процессов;

– переключение процессов на основе динамических приоритетов, которые могут изменяться, в том числе и прикладными процессами;

– синхронизацию процессов;

– обмен данными между процессами;

– функции, связанные с часами и таймером, абсолютное и относительное время ожидания;

– прямой доступ к внешним аппаратным портам;

– обработку прерываний;

– обработку исключений.

136. Последний стандарт ЯП Ада датирован каким годом?

Стандарт Ада 2005

137. Что такое Ravenscar Profile?

Профиль Ravenscar является подмножеством Ада с набором функций, предназначенных для обеспечения безопасности критически важных вычислений жесткого реального времени. Он был определен отдельный технический отчет в Ada 95, он сейчас является частью Ада 2005 Standard.

138. Какие средства для программирования приложений РВ содердит ЯП Ада?

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

· Подпрограммы - Являются основным средством описания алгоритмов. Различают два вида подпрограмм: процедуры и функции. Процедура - это логический аналог некоторой именованной последовательности действий. Функция - логический аналог математической функции - используется для вычисления какого-либо значения.

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

· Задача или задачный модуль - Средство для описания последовательности действий, причем, при наличии нескольких таких последовательностей они могут выполняться параллельно. Задачи могут быть реализованы на многомашинной или многопроцессорной вычислительной конфигурации, либо на единственном процессоре в режиме разделения времени. Синхронизация достигается путем обращения ко входам, которые подобно подпрограммам могут иметь параметры, с помощью которых осуществляется передача данных между задачами.

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

 

139. Почему self-hosted версия QNX Neutrino 6.5 не содержит IDE Momentics?

Self-Hosted ОСРВ — это системы, в которых пользователи могут разрабатывать приложения, работая в самой ОСРВ. Обычно это предполагает, что ОСРВ поддерживает файловую систему, средства ввода-вывода, пользовательский интерфейс, имеет компиляторы, отладчик, средства анализа программ, текстовые редакторы, работающие под управлением ОСРВ.

Интегрированная среда разработки (англ. Integrated Development Environment) — система программных средств, используемая программистами для разработки программного обеспечения.

Self-hosted системы не нуждаются в ide т. К. разработка может вестись внутри самой системы.

140. Какие недостатки стандартного ЯП Java модифицированы Real-Time Java Specification(RTJS)?

Первое важное нововведение RTSJ это предоставление новых классов потоков реального времени: RealtimeThread и NoHeapRealtimeThread, для которых должен использоваться алгоритм планировки, при котором гарантируется, что потоку с наибольшим приоритетом всегда будет предоставлено процессорное время (fixed priority pre-emptive scheduling), при этом минимальный приоритет для потоков реального времени выше максимального приоритета обычных потоков Java. Это довольно серьёзное отличие от обычной реализации Java, о котором обязательно следует помнить при использовании этих классов.

 

Другая важная часть RTSJ—это введение новых областей памяти, отличных от обычной кучи (heap), используемой в Java. Работа с этими областями памяти осуществляется с помощью класса ScopedMemory. Объекты ScopedMemory должны создаваться непосредственно программистом.

 

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

Для гарантии выполнения этого ограничения RTSJ вводит ряд правил, которые должны выполняться при работе со ссылками. Так, объекты, созданные в куче и ImmortalMemory, не могут ссылаться на объекты, созданные в ScopedMemory. То есть объекты с большим временем жизни не могут ссылаться на объекты с потенциально меньшим временем. Нарушение этого правила во время выполнения приведёт к генерации исключения javax.realtime.IllegalAssignmentError.

 

Виртуальная машина Sun Java™ Real-Time System 2.0 предоставляет два сборщика мусора:

последовательный сборщик мусора (SerialGC): при его использовании отсутствие пауз, связанных с очисткой памяти, гарантируется только для потоков NoHeapRealtimeThread

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

 




Поделиться с друзьями:


Дата добавления: 2014-12-24; Просмотров: 432; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.