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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Работа № 92962


Наименование:


Реферат Архитектура системы реального времени QNX

Информация:

Тип работы: Реферат. Добавлен: 7.12.2015. Сдан: 2012. Страниц: 27. Уникальность по antiplagiat.ru: < 30%

Описание (план):


Содержание

1)Концепция QNX

2)Микроядро

3)Менеджер процессов

4)Пространство имен ввода/вывода

5)Менеджер файловой системы

6)Менеджер устройств

7)Менеджер сети


Концепция QNX

Введение
Главная обязанность операционной системы состоит в управлении
ресурсами компьютера. Все действия в системе - диспетчеризация
прикладных программ, запись файлов на диск, пересылка данных по сети и
т.п. - должны выполняться совместно настолько слитно и прозрачно,
насколько это возможно.

Некоторые области применения предъявляют более жесткие требования
к управлению ресурсами и диспетчеризации программ, чем другие.
Приложения реального времени, например, полагаются на способность
операционной системы обрабатывать многочисленные события в пределах
ограниченного интервала времени. Чем быстрее реагирует операционная
система, тем большее пространство для маневра имеет приложение
реального времени в пределах жестких временных рамок.

Операционная система QNX идеальна для приложений реального
времени. Она обеспечивает все неотъемлемые составляющие системы
реального времени: многозадачность, диспетчеризацию программ на
основе приоритетов и быстрое переключение контекста.

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

QNX достигает своего уникального уровня производительности,
модульности и простоты благодаря двум фундаментальным принципам:

· архитектура на основе микроядра;
· связь между процессами на основе сообщений.

QNX состоит из небольшого ядра, координирующего работу взаимодействующих процессов. Как показано на рисунке, структура больше напоминает не иерархию, а команду, в которой несколько игроков одного уровня взаимодействуют между собой и со своим "защитником"-ядром.



Микроядро системы QNX координирует работу системных менеджеров.
Настоящее ядро
Ядро - это "сердце" любой операционной системы. В некоторых операционных системах на него возлагается так много функций, что ядро, по сути, заменяет всю операционную систему!
В QNX же Микроядро - это настоящее ядро. Во-первых, как и следует ядру реального времени, ядро QNX имеет очень маленький размер. Во-вторых, оно выполняет две важнейшие функции:
· передача сообщений - Микроядро обеспечивает маршрутизацию всех сообщений между всеми процессами в системе;
· диспетчеризация - планировщик - это часть Микроядра, и он получает управление всякий раз, когда процесс изменяет свое состояние в результате получения сообщения или прерывания.
В отличие от всех остальных процессов, ядро никогда не получает управления в результате диспетчеризации. Входящий в состав ядра код выполняется только в результате прямых вызовов из процесса или аппаратного прерывания.
Системные процессы
Все услуги операционной системы, за исключением тех, которые выполняются ядром, в QNX предоставляются через стандартные процессы. Типичная конфигурация QNX имеет следующие системные процессы:
· Менеджер процессов (Proc);
· Менеджер файловой системы (Fsys);
· Менеджер устройств (Dev);
· Менеджер сети (Net).
Системные и пользовательские процессы

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

Именно за счет такой системной архитектуры QNX обладает
уникальной наращиваемостью. Так как большинство услуг операционной
системы предоставляются стандартными процессами QNX, то расширение
операционной системы требует всего лишь написания новой программы,
обеспечивающей новую услугу!

Фактически, граница между операционной системой и прикладной
программой может быть очень размыта. Единственный критерий, по которому
мы можем отличить прикладные процессы и системные сервисные процессы,
состоит в том, что процесс операционной системы управляет каким-либо
ресурсом в интересах прикладного процесса.

Предположим, что вы написали сервер базы данных. Как же должен
быть классифицирован этот процесс?

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

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


Драйверы устройств

Драйверы устройств - это процессы, которые являются посредниками
между операционной системой и устройствами и избавляют операционную
систему от необходимости иметь дело с особенностями конкретных
устройств.

Так как драйверы запускаются как обычные процессы, добавление
нового драйвера в QNX не влияет на другие части операционной системы.
Таким образом, добавление нового драйвера в QNX не требует ничего,
кроме непосредственно запуска этого драйвера.

После запуска и завершения процедуры инициализации, драйвер может
выбрать один из двух вариантов поведения:

стать расширением определенного системного процесса;
продолжать выполнение как независимый процесс.


Микроядро

Общее
Микроядро QNX отвечает за выполнение следующих функций:
1)связь между процессами - Микроядро управляет маршрутизацией
сообщений; оно также поддерживает две другие формы IPC -
прокси и сигналы;

2)сетевой интерфейс низкого уровня - Микроядро осуществляет
доставку всех сообщений, предназначенных для процессов на других узлах сети;

3)диспетчеризация процессов - входящий в состав Ядра
планировщик решает, какому из запущенных процессов должно быть
передано управление;

4)первичная обработка прерываний - все аппаратные прерывания и
исключения сначала проходят через Микроядро, а затем передаются соответствующему драйверу или системному менеджеру.








Внутри микроядра QNX.


Связь между процессами

Микроядро QNX поддерживает три важнейшие формы связи между
процессами: сообщения, прокси и сигналы.


1)Сообщения - это основополагающая форма IPC в QNX.
Они обеспечивают синхронную связь между взаимодействующими процессами, когда процессу, посылающему сообщение, требуется получить
подтверждение того, что оно получено и, возможно, ответ.

2)Прокси - это особый вид сообщения. Они больше всего
подходят для извещения о наступлении какого-либо события, когда процессу,
посылающему сообщение, не требуется вступать в диалог с получателем.

3)Сигналы - это традиционная форма IPC. Они
используются для асинхронной связи между процессами.


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

Давайте снова рассмотрим приведенный выше рисунок. После того как
процесс A вызвал функцию Send(), он не может продолжать выполнение
до тех пор, пока не получит ответ на посланное сообщение. Это
гарантирует, что выполняемая процессом B по запросу процесса A
обработка данных будет завершена прежде, чем процесс A продолжит
выполнение. Более того, после вызова процессом B запроса на получение
данных Receive(), он не может продолжать выполнение до тех пор,
пока не получит следующее сообщение.


Блокированные состояния
Когда процессу не разрешается продолжать выполнение, т.к. он
должен ожидать окончания определенной стадии протокола передачи
сообщения, - процесс называется блокированным.

Возможные блокированные состояния процессов приведены в следующей
таблице:

Если процесс выдал: То процесс:
Запрос Send(), и отправленное им сообщение еще не получено процессом-получателем SEND-блокирован
Запрос Send(), и отправленное им сообщение получено про........



Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть похожие работы

* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.