Автор: Пользователь скрыл имя, 10 Апреля 2012 в 00:32, реферат
QNX (пpоизноcитcя как "queue nicks") - это *nix-подобная, POSIX-совместимая, многопользовательская, многопоточная, сетевая, мyльтизадачная, микроядеpная, иcпользyющая механизм передачи сообщений операционная система реального времени с возможностью встраивания, легко масштабируемая.
Кроме того, система QNX обладает большой гибкостью. Разработчики могут легко адаптировать ее под требования своих приложений. Настройка системы QNX может быть выполнена от минимальной (ядро и несколько небольших модулей) до полной сетевой конфигурации (обслуживание сотен пользователей), позволяя использовать в каждом конкретном случае только те ресурсы, которые необходимы.
Введение
1. Общие характеристики QNX
2. Ядро ОС QNX
3. Управление процессами
4. Особенности файловой системы
5.Область применения
Заключение
Литература
Министерство образования и науки Украины
Таврический национальный университет им. В.И. Вернадского
Физический факультет
Кафедра
компьютерной инженерии
QNX
(реферат
по дисциплине «Операционные
системы»)
Выполнил:
студент 3 курса, группа КСС 322,
направления подготовки 6.050102 «Компьютерная инженерия»
Суздал
Дмитрий Эдуардович
Симферополь 2010
Содержание
Введение
1. Общие характеристики QNX
2. Ядро ОС QNX
3. Управление процессами
4. Особенности файловой системы
5.Область применения
Заключение
Литература
Введение
На данный момент существует большое количество операционных систем, которые классифицируют по особенностям реализации алгоритмов управления ресурсами компьютера, областям использования. Так, в зависимости от областей использования многозадачные ОС подразделяются на три типа:
-Системы пакетной обработки;
-Системы с разделением времени;
-Системы реального времени;
В данном реферате пойдёт речь об операционной системе, которая относится к системам реального времени. То есть система, в которой результат зависит не только от пpавильноcти вычислений, но и от времени, за которое будет получен результат вычислений. Предметом нашего разговора пойдет ОС QNX.
QNX
изначально расшифровывалось
Одним
из плюсов является то, что QNX бесплатная
операционная система, если не использовать
ее в коммерческих целях. Исходники системы
открыты лишь в необходимом для разработчика
количестве. Так например "сердце"
системы - ядро и основные менеджеры закрыты,
чтобы сохранить "целостность" системы.
Открыты драйвера устройств и некоторые
графические приложения. Далее в реферате
более детально рассмотрим архитектуру
QNX.
1. Общие характеристики QNX
QNX
(пpоизноcитcя как "queue nicks") - это
*nix-подобная, POSIX-совместимая,
Кроме того, система QNX обладает большой гибкостью. Разработчики могут легко адаптировать ее под требования своих приложений. Настройка системы QNX может быть выполнена от минимальной (ядро и несколько небольших модулей) до полной сетевой конфигурации (обслуживание сотен пользователей), позволяя использовать в каждом конкретном случае только те ресурсы, которые необходимы.
Система реального времени - та система, в которой pезyльтат зависит не только от правильноcти вычислений, но и от времени, за которое будет получен pезyльтат вычислений. Если временные ограничения не выполняются, считается, что случился сбой в системе.
Отсюда получаем, что временные ограничения в системе должны гарантированно выполняться. Гарантирование временных параметров требует того, чтобы время реакции системы на внешнее событие было предсказуемым.
Версии QNX:
QNX
2.x - это ОС, выпущенная фирмой QSSL
в середине 80-х. В настоящее
время практически не
QNX
4.2x - наиболее популярная до
В QNX 6 используется GUI Photon 2.0, разделяемые библиотеки, расширена cовмеcтимоcть c Linux. Многие программы можно свободно переносить из одной системы в другую и обратно.
Реализована
поддеpжка мyльтипpоцеccоpных
В дистрибутив QNX версии 4.24 входит сам QNX, Watcom C/C++ 10.6, поддержка TCP/IP, графический интерфейс(GUI) Photon 1.12, средство для разработки встроенных приложений Embedded Kit, программа для связи из Windows с QNX+Photon по модему или по IP. Дополнительно существуют еще 2 GUI для QNX: QNX Window и X Window; QNX Window в настоящее время не пользуется ни популярностью, ни любовью фирмы-разработчика; Photon - родной GUI для QNX.
Итак, уникальная эффективность, модульность и простота системы QNX определяется:
2.Ядро ОС QNX
На рис 1 показана архитектура QNX [1].
Микроядро QNX имеет минимальный размер (всего 8 Кбайт), и в нем сосредоточены все операции, выполняемые в режиме ядра. Ядро не имеет процессов, его модули всегда выполняются в контексте процесса, их вызвавшего. Микроядро QNX отвечает за выполнение следующих функций:
Все
эти функции аппаратно-
3. Управление процессами
Порождение и планирование процессов обеспечивается менеджером процессов совместно с планировщиком в микроядре. Менеджер процессов выполняет порождение новых процессов, загрузку и завершение процессов. Для создания процессов имеются системные вызовы fork() и exec(), традиционные для Unix, а также spawn() - создание процесса-потомка с выполнением в нем новой программы.
QNX различает процессы, находящиеся в следующих состояниях:
Планирование процессов в QNX выполняется по абсолютным приоритетам, то есть, появившийся или разблокированный процесс с более высоким приоритетом вытесняет активный процесс немедленно. При наличии в состоянии готовности нескольких процессов с одинаковым высшим приоритетом разделение процессора между ними выполняется по одной из дисциплин на выбор:
FCFS;
RR;
динамическое изменение приоритета.
В последнем случае изменение приоритета производится по таким правилам:
если активный процесс полностью исчерпал квант времени и есть еще процессы с таким же приоритетом, приоритет активного процесса уменьшается на 1;
если процесс пробыл в очереди готовых процессов, не получая обслуживания на процессоре, 1 сек, его приоритет увеличивается на 1.
Всего в системе имеется 32 градации приоритетов.
В отличие от других систем, в которых процессы реального времени получают наивысший приоритет (в ущерб всем другим процессам), в QNX обеспечение работы в реальном времени состоит в том, что всем процессам обеспечивается высокая реактивность. То есть, если происходит какое-либо событие (прерывание), требующее выполнения определенного процесса, требуемый процесс становится активным после самой минимальной задержки. Реактивность обеспечивается за счет высокой реентерабельности модулей микроядра (то есть, возможности прервать выполнение модуля) и высокой эффективности средств взаимодействия процессов.
Внешнее
событие вызывает прерывание. Для
обеспечения высокой
Если первый вид задержек является объективным и оправданным, то второй является нежелательным. В QNX модули микроядра тщательно оптимизированы с целью минимизации размера участков нереентерабельного кода. В результате модули микроядра также являются прерываемыми почти в любом месте. Участки кода с запрещенными прерываниями составляют в среднем всего 9 команд на входе в модуль микроядра и 14 команд - на выходе из модуля.
4.Особенности файловой системы.
Администратор файловой системы (Fsys) позволяет стандартным образом организовать хранение и получение доступа к данным дисковых подсистем. Администратор Fsys отвечает за обработку всех запросов на открытие, закрытие, чтение и запись файлов.
В системе QNX под файлом понимается объект, над которым может быть выполнена либо операция записи, либо операция чтения, либо обе эти операции. В QNX имеется шесть типов файлов, пять из которых поддерживает администратор Fsys:
Несколько ключевых компонентов, находящихся в начале каждого раздела QNX, составляют основу файловой системы:
На рис 2 представлено структурирование диска QNX на физическом уровне [2]
Блок загрузчика – это первый физический блок раздела диска. Этот блок содержит программный код, который загружается и затем выполняется базовой системой ввода/вывода (BIOS) компьютера, при загрузке операционной системы из раздела.
Если диск не разбит на разделы (например, в случае гибкого диска), то этот блок является первым физическим блоком диска.
Корневой
блок имеет структуру стандартного
каталога. Он содержит служебную информацию
для следующих четырех