
- •1. Системы реального времени. Основные понятия. Системы «жесткого» реального времени. Системы «мягкого» реального времени.
- •Режим передачи данных.
- •5. Линии связи. Линии для передачи данных. Способы передачи данных. Стандарты на модемы. Характеристики условий пользования линиями связи.
- •7. Стандарт на интерфейсы связи. Mkkt v24.
- •8. Контроль и управление сетями передачи данных. Цели. Системы обнаружения ошибок arq и другие. Стандартизация протоколов. Семиуровневая модель. Перспективы развития стандартов на передачу данных.
- •11. Операционные системы реального времени (ос рв). Основные понятия о системах реального времени. Состав программного обеспечения систем реального времени (срв).
- •16. Ос рв «os-9». Общие сведения и основные характеристики. Архитектура. Менеджеры. Графическая подсистема и логические конфигурации. Инструментальные средства.
- •17. Windows nt в роли осрв. Суть проблемы. Архитектура nt. Варианты использования для разработки срв.
- •19. Тенденции развития ос рв.
11. Операционные системы реального времени (ос рв). Основные понятия о системах реального времени. Состав программного обеспечения систем реального времени (срв).
Операционные системы реального времени (ОС РВ).
(такие есть… да….) В сфере промышленной автоматизации существует свой мир операционных систем - ОС реального времени (ОС РВ). В ранних отечественных цифровых СРВ (например, в контроллерах Микродат, Ремиконт) использованы оригинальные, то есть нестан-дартизированные ОС. В последних разработках (контроллерах ТКМ-51, МФК-В08) применены модификации западных стандартизированных ОС. За рубежом только для VME-процессоров, например, существует 17 коммерческих ОС РВ (OS-9/OS-9000, VRTX/Spectra, VxWorks, PDOS, pSOS+, LynxOS, VMEexec, iRMX, C-Exec, QNX и т. д.), самая распространенная из которых - OS-9. Поскольку крупные компании-производители обеспечивают для своих процессоров и устройств ввода/вывода поддержку сразу нескольких ОС РВ, можно найти версии ОС из приведенного списка для многих платформ: 68000 (Motorola), PowerPC, ix86, Pentium, microPC.
Основные понятия о системах реального времени.
Жесткие /мягкие СРВ (смотри начало).
Система называется жесткой, если она "не должна опаздывать никогда", и мягкой, если "не должна опаздывать, как правило". Характерной особенностью СРВ является способность одновременной обработки нескольких событий.
Состав программного обеспечения систем реального времени (СРВ).
Некоторые функции СРВ:
выполнение программы пользователя (ПрП);
выдача управляющих сигналов на исполнительные устройства;
программируемая или штатная обработка внешних (по сети или аппаратных) прерываний
обмен информацией по локальной сети и радиальным каналам связи;
защита (пароли, ключи) от несанкционированного доступа к управлению параметрами процесса вручную или по сети;
обеспечение возможности резервирования блоков, контроллеров и источников питания;
Всё ПО СРВ условно можно разделить на 3 части:
1. Системное ПО. куда входят:
операционная система - диспетчер (ОС РВ);
базовая система ввода-вывода (BIOS);
драйверы;
сетевое ПО.
2. Прикладное ПО:
языки программирования;
библиотеки алгоритмов;
программы пользователя (ПрП).
3. Технологическое ПО:
сервисные программы отладки оборудования;
тестовые и диагностические программы,
12. Специфические особенности ОС РВ. Основные требования к ОС РВ. Логическая структура. Базовые архитектуры.
Основные требования к ОС РВ
Время отклика равно 3-600 мкс
Должна гарантировать время выполнения задач, т.е. то, что при выполнении любого набора задач, все задачи останутся внутри своих временных границ (быть предсказуемой).
ОС РВ, используемая при работе СРВ, должна обеспечивать мультизадачность.
Для эффективного обслуживания прерываний ОС РВ должна использовать алгоритм диспетчеризации, например, обеспечивающий вытесняющее планирование, основанное на приоритетах.
Необходима поддержка сетевых коммуникаций и взаимодействия между процессами.
Желательно, чтобы ОС поддерживала множественные нити управления, а также симметричную мультипроцессорпость.
ОС РВ должна быть способна работать на ограниченных аппаратных ресурсах.
СРВ должны иметь высокую степень живучести и надежность.
Базовые архитектуры.
1. Системы с ядром реального времени (Real Time Kernel). В этот класс входят системы, выполненные по технологии микроядра (ядра с ограниченным набором функций), где и реализованы механизмы реального времени. Большинство современных ОС РВ - многопользовательские, многозадачные ОС с микроядром. Наиболее популярные из них - OS9 и QNX.
2. UNIX реального времени - просто переписанное ядро UNIX, сохранившее, сколько возможно, интерфейс пользовательских процессов с системой. Получилось и реальное время, и весь набор пользовательских приложений — компиляторы, пакеты, инструментальные системы.Недостатки: немалый объем и низкая скорость реакции. Представителем систем этого класса является ОС PB LynxOS.
3. Расширения РВ для Windows NT – суть та же что в РВ UNIX. Огромный набор прикладных программ под Windows, мощный программный интерфейс Win32 и большое число специалистов; знающих систему. Она получилась непредсказуема: время выполнения системных вызовов и время реакции на прерывания зависят от загрузки, велик объем, нет механизмов защиты от зависаний и пр.
4. Исполнительные ОС - признак систем этого типа - различные платформы для разработки и исполнения. Приложение реального времени разрабатывается на хост-компьютере (компьютер ведения разработки), затем компонуется с ядром и загружается в целевую систему для исполнения. Высокая реактивность достигается благодаря тому, что в системе имеются только нити, требующие мало времени на переключение контекста. Очень дорогие (десятки тыр доларей). Характерный представитель таких систем - VxWorks - компактная ОС РВ с хорошим временем реакции.
13. Обслуживание задач в ОС РВ. Свойства задач. Подсистема управления задачами. Алгоритмы планирования задач.
Свойства задач.
Вся важная для ОС информация о задачах обычно хранится в управляющем блоке ТСВ (Task Control Block). В блоке хранятся:
имя и номер задачи;
верхняя и нижняя границы стека;
ссылка на очередь сообщений;
статус задачи;
приоритет и т.п.
Приоритет - выражается целым числом, которое используется планировщиком задач для определения того, какая из готовых к работе задач должна получить управление. Различают системы с динамической и статической приоритетностью.
Состояние (статус) задачи. С точки зрения ОС, задача может находиться в нескольких состояниях. Число и название этих состояний различаются от одной ОС к другой.
Основные:
Активная задача - задача, выполняемая в текущий момент времени.
Готовая задача - задача, готовая к выполнению и ожидающая у планировщика своей «очереди».
Блокированная задача - задача, выполнение которой приостановлено до наступления определенных событий.
Пустая задача (Idle Task) - это задача, запускаемая ОС при инициализации и выполняемая тогда, когда в системе нет готовых для выполнения задач.
Реентерабельность (повторная входимость) - возможность без негативных последствий прервать выполнение какой-либо подпрограммы, а затем вызвать эту подпрограмму снова. Частным проявлением реентерабельности является рекурсия, когда тело подпрограммы содержит вызов самой себя.
Подсистема управления задачами.
Подсистема управления задачами занимается:
созданием и уничтожением задач;
обеспечивает задачи системными ресурсами;
поддерживает взаимодействие между задачами;
планирует выполнение задач, то есть распределяет процессорное время между несколькими одновременно существующими в системе задачами.
Важной частью подсистемы управления является планировщик задач. Он может называться менеджер задач, диспетчер задач; супервизор и т. п. Чтобы выполнять функции планировщика, операционной системе необходимо иметь более высокий статус по сравнению с прикладными программами.
Алгоритмы планирования задач.
можно выделить три группы наиболее часто встречающихся алгоритмов:
алгоритмы, основанные на циклах – самые простые. Достоинства: простота и прозрачность, недостатки: нету очередей и приоритетов, задачи вызываются автоматом;
алгоритмы, основанные па квантовании - каждой задаче ОС периодически выделяет квант процессорного времени, в течение которого она занимает процессор. По истечении кванта задача освобождает процессор, даже если она не завершила все необходимые ей вычисления, и снова возвращается в очередь к процессору, где ожидает, когда ей будет предоставлен новый квант времени, кванты м.б. как одинаковые, так и различные. Очереди на выдачу квантов могут быть циклические, FIFO, LILO;
алгоритмы, основанные на приоритетах – использующие основные или абсолютные приоритеты.
Алгоритмы с вытеснением – снятие задачи с выполнения при приходе из очереди или более высокого приоритета или кванта (или по решению системы управления).
Кооперативная многозадачность – задача сама выбирает дальнейшую, при своем окончании.
14. Синхронизация задач в ОС РВ. Связанные задачи. Общие ресурсы. Синхронизация с внешними событиями. Синхронизация по времени.
Синхронизация задач в ОС РВ.
Синхронизация необходима в следующих случаях.
Связанные задачи. Функции, выполняемые различными задачами, связаны друг с другом. Например, одна задача подготавливает исходные данные для другой, и последняя не выполняется до тех пор, пока не получит от первой соответствующего сообщения.
Общие ресурсы. Необходимо упорядочить доступ нескольких задач к разделяемому ресурсу (например, к процессорному времени, физическое устройство, область памяти). Может осуществляться независимо, по очереди, или, создавая тупиковые ситуации, блокируя друг друга. Под «гонками» условимся понимать ситуации, при которых две или более задачи считывают или записывают разделяемые данные и конечный результат зависит от порядка выполнения этих процессов. Участки кода, где происходит обращение к разделяемым ресурсам и данным называется «критическими секциями». Для предотвращения «гонок» и возможности работы приложений в реальном времени необходимо, чтобы: две задачи не находились в критической секции одновременно; ни одна задача вне критической секции не могла заблокировать другую задачу; никакая задача бесконечно долго не ожидала входа в свою критическую секцию.
Необходима синхронизация задачи с внешними событиями. Обычно для этого используется механизм аппаратных прерываний (3 тенденции: максимально быстрая и точная реакция системы на внешние события, минимизация времени запрета на прерывания, максимально быстрое выполнение минимального количество операций обработчиками прерываний). Как правило, закончив элементарно необходимые действия, подпрограмма обработки прерываний генерирует в той или иной форме сообщение для задачи, с которой это прерывание связано, и немедленно возвращает управление. Если это сообщение перевело задачу в разряд готовых к исполнению, планировщик, в зависимости от используемого алгоритма и приоритета задачи, принимает решение о том, необходимо или нет немедленно передать управление получившей сообщение задаче.
Необходима синхронизация задачи по времени. Раньше использовались циклы задержек/ускорений, потом таймеры и автономные источники на систему временного учета. Для точной синхронизации таймера вычислительной системы с астрономическим временем могут применяться специальные часы с подстройкой по радиосигналам точного времени или навигационные приемники GPS.
15. ОС РВ «QNX». Общие сведения. Микроядро и планировщик задач. Менеджеры. Графические подсистемы. Базы данных и инструментальные средства.
QNX разработана канадской фирмой QNX Software Systems LTD (QSSL) и используется в Америке и Европе, в различных областях автоматизации, где требуется мультизадачность, надежность и способность работать в реальном времени (часто при ограниченных аппаратных ресурсах). QNX похожа на UNIX. В ней присутствует почти весь набор стандартных утилит и сохраняется большая часть семантики. Поддерживается X Window и, конечно, TCP/IP. Разработана на основе стандартов POSIX. QNX - гибрид 16 и 32-разрядной ОС, которую пользователь может конфигурировать по своему усмотрению. Весит 10мб.
Микроядро и планировщик задач.
Размер микроядра в QNX - всего около 10 Kb и оно отвечает только за (см. картинку):
Поддерживается диспетчеризация до 300 задач с 32 уровнями приоритетов и 4 алгоритма планирования:
FIFO,
Round-Robin,
Adaptive,
Message-Priority.
QNX функционирует в "защищенном режиме", то есть все задачи в системе защищены друг от друга и "фатальная" ошибка в одной из задач не приводит к "краху" всей системы
Менеджеры.
М
енеджер
ФС.
QNX позволяет работать с несколькими файловыми системами одновременно.. В стандартный комплект входят менеджеры файловых систем POSIX, DOS (FAT-12, FAT-16, все виды разделов) и IS09660 (CD-ROM, включая расширения Rock Ridge).
Менеджер устройств.
Поддерживает байт-ориентированные устройства со скоростью обмена 115200 baud в мультизадачной среде на любом процессоре не ниже i386. Использование буферизованных портов (UART) является необходимым при скоростях выше 2400 baud.
Менеджер сети.
Особенностью локальной сети QNX по сравнению с Netware или Lantastic является то, что в QNX доступны все ресурсы, имеющиеся на каждом узле (естественно имеются и средства защиты ресурсов, разграничения привилегий и прав доступа). В качестве ресурса, доступного задачам, могут выступать: файловое пространство (на дисках), процессор, клавиатура, экран, порты, любой программный ресурс. Высокая устойчивость сети QNX к сбоям обеспечивается собственной сетевой технологией FLEET и протоколом FTL (FLEET Transport Layer).
Менеджер сбора данных обеспечивает стандартизованный интерфейс для всевозможных устройств сбора и преобразования данных (ЦАП, АЦП и т.п.). Его основная область применения -АСУ и встроенные системы.
Графические подсистемы.
X Window System – верхний уровень. экспортирована из Unix. обладает самыми широкими возможностями и обеспечивает переносимость ПО практически на (с) любую(й) платформу(ы). Поддерживается около 100 наименований видеоплат.
QNX Windows - графическая система среднего звена, самая старая из трех рассматриваемых и единственная, способная работать в 16-разрядном режиме.
Photon - самая компактная и молодая из рассматриваемых систем. Идеально подходит для переносных и встроенных систем. Разработана фирмой QSSL с учетом возможностей, предоставляемых QNX и ограничений по памяти, присущих встроенным системам.
Базы данных и инструментальные средства.
В качестве представителя сетевых баз выступает небезызвестная db-Vista, а реляционные базы представлены продуктами Waicom SQL и Faircom C-trec.
QNX содержит набор инструментальных средств. Работая в среде QNX, пользователь остается в похожей на другие ОС среде, включающей в себя текстовые редакторы, файл-менеджеры, большое количество утилит, табличные процессоры и т.д., языки программирования (С, Ассемблер, C++, Fortran, Pascal, Basic), базы данных. Многие из них имеют абсолютно такой же внешний интерфейс, как в DOS или UNIX.
Дополнительным достоинством QNX является то, что пользователь может на одном мониторе иметь несколько консолей в текстовом режиме и переключаться с одной на другую по "горячей клавише". Недостатком QNX является то, что она работает только на платформе IBM PC, в то время как многие другие ОС РВ функционируют сразу на нескольких платформах.