Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек СРВ от Анн.doc
Скачиваний:
11
Добавлен:
09.11.2019
Размер:
2.26 Mб
Скачать

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 с.

Дополнительная

  1. Мартин Дж. Программирование для вычислительных систем реального времени.- М.:Наука, 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 поддерживает два интерфейса:

  1. Пользовательский интерфейс (РOSIХ/SVID — System V Interface Definition), реализованный на уровне стандартных сис­темных функций, соответствующих стандартам SVID и Р0SIХ.

  2. Внутренний интерфейс для взаимодействия ядра с систем­ными процессами, осуществляемый с помощью специальных си­стемных вызовов (usixcalls) (прежде всего используется драйвера­ми и серверами) и, дополнительно, с помощью механизма управ­ления сообщениями и объектами памяти.

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

Для управления общими структурами данных используется системная структура — объект памяти, который содержит инфор­мацию о физических характеристиках (физический адрес и раз­мер объекта); об отображении и защите объекта памяти; об иден­тификации объекта памяти; о синхронизации доступа, а также спецификацию о создании и удалении объекта памяти.

Адресное пространство процесса включает совокупность объ­ектов памяти, к которым программа может иметь доступ.

Ядро USIX поддерживает следующие типы объектов памяти:

  • текст программы;

  • инициализированные данные;

  • неинициализированные данные;

  • модифицированные данные;

  • стек;

  • буфер FIFО (First In, First Out);

  • буфер сообщений IРС ( InterProcess Communication);

  • открытый файл;

  • разделяемые данные;

  • разделяемые библиотеки и т.д.

Идентификация объектов памяти поддерживается через структуру «регион» (region). Регион определяет место физическо­го размещения объекта памяти: оперативная память, файл на

(страницы 182-183)

диске, область выгрузки. Когда создается объект памяти, струк­тура region заполняется соответствующими данными.

Каждый процесс имеет возможность отобразить необходи­мый объект памяти (полностью или частично) в свое адресное пространство, установив виртуальный адрес и смещение от нача­ла региона. Такое отображение устанавливается с помощью опи­сания сегмента памяти. При этом определяются также права про­цесса относительно объекта памяти. Описания сегментов памяти индивидуальны для каждого процесса и управляются ядром. Ото­бражение объекта памяти может выполняться ядром или пользо­вателем.

Для синхронизации доступа к объекту памяти применяются различные механизмы синхронизации. Так, в случае работы с разделяемой памятью используется механизм семафоров, а для синхронизации доступа к общим внутренним структурам данных используется механизм спинлоков.

Концепция объекта памяти имеет следующие преимущества:

  • оперативная память используется как общий ресурс и назнача­ется объектам памяти только на определенный период времени;

  • сервер файловой системы не используется при операциях вво­да-вывода. Его главное назначение - управление дисковым пространством и его распределение для вновь создаваемых файлов;

  • упрощается алгоритм работы драйвера диска, основной функ­цией которого остается обмен между оперативной памятью и диском.