- •Системы реального времени
- •Глава 1 Виды и стандарты осрв………………………….……………...…7
- •Глава 2 Аппаратная реализация осрв……………………………………61
- •Глава 3 Многопоточность осрв……………………………………………87
- •Глава 4 Языки программирования и работа с файлами в осрв……103
- •Глава 1. Виды и стандарты осрв.
- •1.1. Общие характеристики осрв
- •Гарантированное время отклика.
- •1.2. Технические параметры осрв
- •1.3. Особенности систем реального времени.
- •1.4. Распределение задач по времени (планирование выполения).
- •2. Операционные системы реального времени
- •2.1. Стандарты осрв
- •3. Осрв
- •3. 1 Краткие характеристики различных осрв
- •3.2. Windows nt – осрв?
- •Глава 2. Аппаратная реализация осрв.
- •1.Аппаратурная среда.
- •Типы компьютеров, применяемых в срв;
- •“Обычные” компьютеры
- •Промышленные компьютеры
- •Рабочие станции
- •2. Кросс-системы
- •Модель оперативной памяти
- •Модель процессора
- •Модель времени
- •Модель системы прерываний
- •Модель системы ввода/вывода
- •Устройство связи с объектом
- •3. Методы и средства обработки асихронных событий.
- •Глава 3. Многопоточность осрв.
- •Концепция процесса многозадачности.
- •Ядро операционной системы реального времени.
- •Основные службы ядра ос.
- •Дополнительная синхронизация: переменные-условия
- •Адресация
- •Длина сообщения
- •Глава 4. Языки программирования и работа с файлами в осрв.
- •1.Языки программирования систем реального времени.
- •1.2. Модула-2.
- •2.Асинхронный файловый ввод-вывод.
Модель регистров Модель регистров включает в себя, как минимум: - регистры общего назначения (РОНы) , - регистр-счетчик адреса (PC) , - регистр состояния (PSW) . Регистры моделируются переменными Интерпретатора.
Модель оперативной памяти
Объем адресного пространства памяти, к которому теоретически могут выполняться обращения к программе, определяется разрядностью представления адреса. Однако, реально в целевой ВС может быть значительно меньший объем памяти. Интерпретатор должен "знать" конфигурацию реальной памяти в целевой ВС. Возможные варианты задания такой конфигурации: - любая ячейка памяти, к которой обращается программа, описана в программе (директивой DD или BSS); - конфигурация памяти описана в отдельном файле, являющимся входным для Интерпретатора. Этот подход используется чаще.
Внешнее описание памяти считывается Интерпретатором в начале работы и превращается в таблицу фрагментов. Каждый байт целевой памяти представляется двумя байтами исходной памяти. В первом байте представления хранятся собственно данные, а во втором - ряд признаков, характеризующих ячейку целевой памяти. Модель предоставляет разработчикам дополнительную информацию о памяти, которая после анализа поможет организовать оптимальное размещение модулей СРВ.
Модель процессора
Работа процессора моделируется алгоритмом работы Интерпретатора. Основной алгоритм работы модели состоит из цикла, в каждой итерации которого моделируется выполнение одной команды целевой программы. Алгоритм соответствует общей схеме выполнения команды на процессоре: I. Выборка байта, записанному в модели памяти по адресу, содержащемуся в модели регистра-счетчика адреса. первый байт команды содержит код операции, позволяющий однозначно идентифицировать команду. II.Поиск по коду операции в таблице команд. При этом может использоваться либо таблица команд Ассемблера, либо ее модификация с расширениями и с возможностью быстрого поиска по коду операции. III.Распознав команду, Интерпретатор выбирает ее остальные байты (их количество определено в таблице команд) и выделяет из нх операнды команды (их количество и кодировка определяется типом команды). IV.Алгоритм Интерпретатора разветвляется, в общем случае число ветвей равно числу возможных кодов операции. В каждой ветви вычисляется значение, являющееся результатом выполнения определенной выше команды. Вычисленное значение заносится в объект, являщийся для данной команды приемником результата. Кроме того, если требуется, устанавливаются значения признаков в регистре состояния. V. Вычисляется новое значение регистра-счетчика адреса. Конец итерации.
При реализации алгоритмов выполнения отдельных команд возможны два подхода, называемыми RISC и CISC-моделями, по аналогии с архитектурами процессоров. Но выбор программной RISC или CISC-модели не означает совпадение с реальной архитектурой процессора. Смысл RISC-модели состоит в том, что разветвление алгоритма выполняется сразу же после распознавания команды и выполнение каждой команды полностью реализуется кодами соответствующей ветви. Смысл CISC-модели состоит в том, что выполнение каждой команды представляется в виде последовательности выполнения простых процедур ("микрокоманд"). RISC-модель будет выполняться быстрее, но CISC-модель гибче, так как активные элементы (команды) в ней превращены в пассивные (данные). В аппаратных архитектурах предпочтение отдается RISC из-за высокой эффективности, но при отладке критерии гибкости, возможности изменения являются более важными.