- •Тула 2010
- •1.1 Принципы построения и основные требования. Особенности.
- •1.2 Ос рв qnx. Поддержка срв ос Linux.
- •1. 3 Функциональные требования к осрв
- •2. "Жесткие" и "мягкие" системы реального времени
- •3. Нити и приоритеты
- •4. Предсказуемость системных вызовов Win32 api
- •5. Управление прерываниями в nt
- •6. Управление памятью в nt
- •7. Может ли Windows nt использоваться в качестве ос рв?
- •Лекция №2.
- •Коммерческие решения, расширяющие nt возможностями обработки в реальном времени
- •Использование nt
- •3. Реализация Win32 api над другой ос рв
- •4. Совместная работа на одном процессоре nt и ос рв
- •5. Использование многопроцессорной архитектуры
- •6. Необходимые требования к ос для обеспечения предсказуемости
- •Лекция №3.
- •Лекция №4.
- •1. Разработка приложений жесткого реального времени
- •2. Модификация ядра
- •3. Модификация уровня аппаратных абстракций Windows nt (hal)
- •4. Применение ос рв
- •Лекция №5. Операционная система qnx. Системная архитектура.
- •Лекция № 6.
- •Лекция №7. Связь между процессами по сети посредством виртуальных каналов.
- •Лекция №8. Построение очереди процессов
- •Лекция №9. О работе в реальном времени
- •Лекция №10. Сопоставление и передача путей между процессами.
- •2. Префиксы управления вводом – выводом
- •5. Передача путей между процессами
- •2. Префиксы управления вводом – выводом
- •5. Передача путей между процессами
- •2. Относительные пути
- •3. Текущий рабочий каталог
- •Примечание относительно cd
- •4. Описатели файлов пространства
- •Лекция №12 Аппаратное и программное обеспечение промышленных систем реального времени (псрв)
- •Введение
- •1. Организация промышленных систем
- •2. Аппаратная архитектура
- •3. Стандарты шин
- •4. Технологии vme и pci
- •5. Мезонинные технологии
- •6. Полевые системы
- •7. Программное обеспечение промышленных систем
- •8. Управление производством
- •Лекция №13 Использование средства nt в качестве Web-сервера для iis (Internet Information Server)
- •Введение
- •Общие черты intranet-систем
- •3. Система управления доступом
- •4. Прикладное программирование в intranet
- •Лекция 14 Операционная система ос рв см эвм (rsx-11)
- •Введение
- •Основные компоненты системы ос рв
- •2. Диспетчер памяти
- •3. Многопользовательская защита
- •4. Выполнение задач под управлением ос рв
- •5. Внешние устройства и файловая система на дисках
- •Лекция 15 Управление прерываниями.
- •Вектора прерываний
- •Программирование контроллера прерываний 8259.
- •Запрет/разрешение отдельных аппаратных прерываний
- •Лекция 16 Управление Тема: прерываниями (продолжение).
- •Написание собственного прерывания
- •Дополнение к существующему прерыванию
- •Лекция 17 Синхронные методы проектирования срв
- •Система упорядоченного опроса
- •Основной цикл с прерываниями
- •Лекция 18 Синхронные методы проектирования срв (продолжение)
- •1 . Циклические планировщики
- •2. Выбор метода построения системы
- •3. Измерение быстродействия компьютера
- •4. Мультизадачный режим в операционной системе ms-dos
- •5. Условия существования мультизадачного режима в персональном компьютере ibm pc/at
- •X. Библиографический список рекомендуемой литературы
- •13.1 Ос рв usix: основные принципы построения и структура.
- •13.2 Поддержка рв в usix
- •13.3 Управление виртуальной памятью в usix
- •14.1 Процессы, связанные с выполнением программ
- •14.2 Функции ос рв usix, не связанные с управлением процессами
- •15.1 Программирование коммуникационных устройств.
- •15.2 Драйверы коммуникационных устройств
- •16.1 Файловая система
- •16.2 Средства защиты от несанкционированного доступа
- •16.3 Поддержка протоколов и окружений usix
X. Библиографический список рекомендуемой литературы
Основная
1. http://www.qnx.com/
2. www.microware.com
3. http://lynuxworkc.com
4. Зыль С.Н. Операционная система реального времени QNX. От теории к практике. СПб.: БХВ – Петербург. 2004. – 192 с.
5. Кознов Д. В. Основы визуального моделирования. – М: Интернет-Университет Информационных технологий; БИНОМ. Лаборатория знаний, 2008-246 с.
6. Алексеев Дмитрий, Ведревич Евгений и др. – М. Издательский Дом «КомБук», 2004. – 432 с.
7. Гургенидзе А.Т., Кореш В.И. Мульисервисные сети и услуги широкополосного доступа. СПб.: Наука и техника. 2003. – 400 с.
8. Фатуев В. А., Щепакин К. М. Многофункциональные информационно-вычислительные сети. Тула, ТулГУ, 2008. -182 с.
Дополнительная
Мартин Дж. Программирование для вычислительных систем реального времени.- М.:Наука, 1975. – 360 с.
Лекция 13. Проектирование ОС РВ
13.1 Ос рв usix: основные принципы построения и структура.
Рассмотрим принципы проектирования операционных систем реального времени на примере отечественной UNIX-подобной операционной системы USIХ [5].
Операционная система USIХ является лицензионно чистой операционной системой, разработанной коллективом Института электронных управляющих машин. Это обеспечивает технологическую независимость в использовании системы и гарантирует сопровождение на всем жизненном цикле ее существования. При этом достигаются такие преимущества относительно соответствия принципам и стандартам открытых систем, как расширяемость и масштабируемость.
Расширяемость системы связана с более длительным сроком жизни программного обеспечения УВК (около 10 лет) по сравнению с аппаратным обеспечением (1 — 3 года) и отсюда — с необходимостью постоянного расширения функциональных возможностей системы.
Масштабируемость в данном случае рассматривается как развитие расширяемости:
• возможности генерации и конфигурации системы под различные технические требования (от встраиваемых применений до использования в качестве серверов); « возможности настройки и адаптации системы, в наилучшей степени удовлетворяющей и соответствующей особенностям как аппаратной платформы, так и прикладной области. В настоящее время ОС USIХ реализована на однопроцессорных и многопроцессорных SМР-системах с архитектурой Intel.
К основным отличительным особенностям USIХ относятся [34]:
полностью прерываемое ядро;
поддержка многопроцессорности;
устойчивая файловая система;
ядро небольшого размера;
динамически загружаемые драйверы внешних устройств;
динамически выделяемые буферы для ввода-вывода и выгрузки процессов;
реализация процессов-серверов с возможностью динамического погружения в адресное пространство ядра;
средства обеспечения безопасности уровня ВЗ;
развитые средства поддержки реального времени;
открытость и переносимость.
Рассмотрим принципы построения USIХ. В операционной системе USIX основными понятиями являются:
Процесс - единица потребления ресурсов.
Порт - точка поступления сообщений и их идентификации.
Объект памяти - связанное множество страниц оперативной или внешней памяти, объединенных общими характеристиками.
Сервер -вспомогательный процесс, реализующий
одну из функций операционной системы (например, файловый сервер).
Семафор -двоичный семафор, обеспечивающий синхронизацию доступа к общим ресурсам.
Спинлок —точка синхронизации многопроцессорного
доступа к ресурсу. Если ресурс занят, процессор, как правило, ожидает его освобождения.
Регион —физические страницы объекта памяти, которые могут находиться на диске, в оперативной памяти или в специально резервируемой на диске области выгрузки.
Сегмент -виртуальное окно в адресном пространстве процесса, отображающее какой-либо регион.
На рис. 4.1 представлена структура ядра современных ОС UNIХ, а на рис. 4.2 - структура USIХ, базирующаяся на концепции микроядра. Из сравнения этих структур видно, что ядро USIХ выполняет только самые необходимые функции: управление памятью; планирование и взаимодействие процессов; обработку системных вызовов; службу времени. Драйверы, файловая система и другие функции системы реализованы в виде специальных процессов-серверов.
Ядро USIX поддерживает два интерфейса:
Пользовательский интерфейс (РOSIХ/SVID — System V Interface Definition), реализованный на уровне стандартных системных функций, соответствующих стандартам SVID и Р0SIХ.
Внутренний интерфейс для взаимодействия ядра с системными процессами, осуществляемый с помощью специальных системных вызовов (usixcalls) (прежде всего используется драйверами и серверами) и, дополнительно, с помощью механизма управления сообщениями и объектами памяти.
Сообщения являются средством обмена данными между системными компонентами ядра, а также средством синхронизации такого обмена. Сообщения также обеспечивают коммуникации между пользовательскими задачами и пользователя с ядром. Сообщения могут приниматься только из портов и посылаться в порты.
Для управления общими структурами данных используется системная структура — объект памяти, который содержит информацию о физических характеристиках (физический адрес и размер объекта); об отображении и защите объекта памяти; об идентификации объекта памяти; о синхронизации доступа, а также спецификацию о создании и удалении объекта памяти.
Адресное пространство процесса включает совокупность объектов памяти, к которым программа может иметь доступ.
Ядро USIX поддерживает следующие типы объектов памяти:
текст программы;
инициализированные данные;
неинициализированные данные;
модифицированные данные;
стек;
буфер FIFО (First In, First Out);
буфер сообщений IРС ( InterProcess Communication);
открытый файл;
разделяемые данные;
разделяемые библиотеки и т.д.
Идентификация объектов памяти поддерживается через структуру «регион» (region). Регион определяет место физического размещения объекта памяти: оперативная память, файл на
(страницы 182-183)
диске, область выгрузки. Когда создается объект памяти, структура region заполняется соответствующими данными.
Каждый процесс имеет возможность отобразить необходимый объект памяти (полностью или частично) в свое адресное пространство, установив виртуальный адрес и смещение от начала региона. Такое отображение устанавливается с помощью описания сегмента памяти. При этом определяются также права процесса относительно объекта памяти. Описания сегментов памяти индивидуальны для каждого процесса и управляются ядром. Отображение объекта памяти может выполняться ядром или пользователем.
Для синхронизации доступа к объекту памяти применяются различные механизмы синхронизации. Так, в случае работы с разделяемой памятью используется механизм семафоров, а для синхронизации доступа к общим внутренним структурам данных используется механизм спинлоков.
Концепция объекта памяти имеет следующие преимущества:
оперативная память используется как общий ресурс и назначается объектам памяти только на определенный период времени;
сервер файловой системы не используется при операциях ввода-вывода. Его главное назначение - управление дисковым пространством и его распределение для вновь создаваемых файлов;
упрощается алгоритм работы драйвера диска, основной функцией которого остается обмен между оперативной памятью и диском.