ХАРАКТЕРИСТИКИ QNX 4.0 "Если бы только мы могли использовать UNIX для наших приложений, работающих в реальном времени..." Вам нужна мощь стандартной операционной системы разработчика. Но вам также нужна эффективность операционной системы реального времени. Каким путем вы пойдете? Представляем QNX 4.0. Операционная система, достаточно быстро реагирующая для приложений, работающих в реальном времени, достаточно компактная для платформ на ПК, достаточно гибкая для прозрачной (незаметной для пользователя) работы в сети и достаточно модульная для наиболее требовательных конфигураций. POSIX означает переносимость. Появляющиеся операционные системы имеют больше оттенков вкуса, чем мороженое. Именно поэтому стандарт IEEE ( института инженеров по электротехнике и радиоэлектронике, прим. перев.) POSIX является сейчас таким важным гарантом переносимости. QNX - это эффективная операционная система реального времени со своей собственной уникальной архитектурой микроядра. Но ее интерфейс прикладного программирования (АРI) основан на последних стандартах POSIX, поэтому вы получаете одновременно выдающиеся характеристики и переносимость для всех ваших прикладных программ. Эффективность при работе в реальном времени, при разработке, всегда. Только QNX объединяет рабочие характеристики специализированного исполнителя, работающего в реальном времени, с экономящими время преимуществами обширной среды разработчика, включая множество утилит, выдающийся компилятор языка СИ и поставляемый по дополнительному заказу графический пакет OPEN LOOK. QNX является распределенной Операционная система QNX позволяет вам преодолеть ограничения отдельного микропроцессора. Работаете ли вы в сети, состоящей из четырех или из 400 компьютеров, благодаря QNX это выглядит как работа на одном компьютере. Связи между процессорами охватывают всю сеть, поэтому каждый процесс может прозрачно (неощутимо для пользователей) обращаться к любому ресурсу - программам, файлам, устройствам и даже к центральным процессорам повсюду в сети. Кроме того, вы можете создавать сеть, используя любую смесь персональных компьютеров, базирующихся на микропроцессорах Intel. Быстрореагирующее техническое обслуживание. Благодаря поддерживающей QNX специальной "горячей линии", вы можете вступить в прямой контакт с самой группой разработчиков. И вы можете обратиться к нашей круглосуточной системе электронных - 2 - конференций и доработки, где время ответа на ваши вопросы почти соответствует работе в реальном масштабе времени. "Если бы только..." Если вы полагаете, что вам надо выбирать между стандартной операционной системой разработчика и высокоэффективной операционной системой реального времени, подумайте снова. Теперь вы можете пойти сразу двумя путями. Технические данные Операционная система QNX 4.0 - 8К микроядро. - Работа в реальном времени. - Многозадачность. - Многопользовательская организация. - Встроенная возможность сетевой работы по принципу "равный с равным". - Соответствие стандарту POSIX 1003.1. - Модульность, расширяемость, легкость обслуживания. - До 255 одновременных процессов. - Более 100 пользователей одновременно на один узел и тысячи во всей сети. Микроядро. - Только 12 возможных вызовов микроядра. - Ядро управляет только разделением времени между процессами и передачей сообщений. Менеджер процессов. - Распределение ресурсов для процессов соответствует стандарту POSIX 1003.4. - Имеются 32 уровня приоритета. - Имеются три алгоритма разделения времени: FIFO ("первым начал - первым закончил" - в порядке поступления), RR (круговой) и адаптивный. - Приоритет серверов может изменяться получаемыми ими сообщениями. Часы и таймеры соответствуют стандарту POSIX 1003.4 - Несколько таймеров для процесса. - Таймеры могут быть синхронными и асинхронными, однократного действия или повторяющимися. - Таймеры имеют наносекундное разрешение по времени (если позволяет аппаратная часть). - 3 - Дополнительные сведения - Вложенные прерывания. - Полный набор примитивов памяти для работы с LDT (таблицами локальных дескрипторов) и совместно используемой памятью. - Поддерживается полное наследование окружения процессов через сеть. - Встроенные примитивы отладки для удаленной отладки, откуда угодно через сеть. - Настраиваемые пользователем пределы и ресурсы системы. - Возможность присвоения имен процессам по сети. Сетевой менеджер - Прозрачный (неощутимый пользователями) доступ ко всем системным ресурсам через сеть. - Модульные сетевые драйверы. - Автоматическое изменение числа виртуальных связей. - Совместно используемые виртуальные связи. - Полная поддержка сигналов по всей сети. - Поддерживаются специальные синхронные сигналы. - Полное наследование окружения процессов через сеть. - Программы могут посылать и принимать необработанные сетевые пакеты. - Распределенная система опроса. Менеджер устройств. - Размер кванта ввода/вывода может быть в пределах от 512 байт до 32 К. - Полностью буферизованная запись. - Входной буфер может иметь объем от 256 байт до 64 К. - Запросы ввода могут обрабатываться с таймаутом или по символам, идущим впереди данных. - Может запускать поручения (proxy) или устанавливать сигналы для процесса, если происходит важное событие. Менеджер файловой системы. - Надежная эффективная файловая система. - Эвристическая буферизация операций чтения и записи с элеваторным поиском. - Вся необходимая информация по файловой системе пишется на диск. - "Подписи" на диске и специальная ключевая информация для быстрого восстановления данных в случае системных сбоев. - Файловая система с множественными связями. - Одновременный ввод/вывод на флоппи-, жесткие и ОЗУ- диски. - Блочная корректировка (для быстрого доступа к базам данных). - Максимальный размер кванта ввода/вывода от 512 байт до 32 К. - Полная поддержка для каналов (PIPE) и именованных каналов (FIFO), как местная так и через сеть. - Встроенная поддержка ОЗУ-дисков размером до 8 мегабайт. - Программы могут обходить файловую систему и обращаться непосредственно к драйверам устройств. - Имена файлов могут иметь до 48 символов в длину. - 4 - - Пределы и ресурсы файловой системы изменяются пользователями. Менеджер файловой системы DOS - Полностью прозрачная (неощутимая пользователем) поддержка файловой системы DOS. - Поддержка флоппи-дисков и всех типов разделов DOS. - Полный доступ через сеть. Системная буферизация входных и выходных потоков (Spooling) - Набор управляющих утилит, включая: lp, lpc, lpq, lprm, lpsrvr. - Множественные очереди. - Полный доступ через сеть. - Гибкая конфигурация. Утилиты. - Более 150 утилит, включая: awk, grep, lex, make, sed, sh, sort, tar и yacc. Редактор программиста VEDIT. - Поддерживается "мышь". - Раскрывающиеся меню. - Колоночные блоки. - 1000 уровней отката (отмены ошибочных действий). - Регулярные выражения. - Быстрый. - Эмулирует vi, Brief и другие. - Редактирует текстовые и двоичные файлы любого размера и длины строки. - Мощный язык макропрограммирования. Система разработчика. - Оптимизирующий компилятор ANSI Си WATCOM (версия 8.5). - Редактор связей, менеджер библиотек и дизассемблер. - Полноэкранный символьный отладчик. - Поддержка оригинальных микропроцессоров 80х87 или эмуляция их. - Распределенная по сети параллельная утилита "make". - Более 500 ANSI, POSIX и QNX библиотечных программ. Графический интерфейс пользователя. - Объектно-ориентированная оконная среда. - Чувство трехмерности. - Соответствие OPEN LOOK. - Полная система разработки. - Интерфейсный редактор и символьный редактор. - 5 - Коммуникационные связи - Поддеpжка пpотоколов TCP/IP, X.25, IEEE 488, SIEMENS HI, L1, 3964, LSV2 и других PLC-пpотоколов. Требования к памяти Модуль ОС Размер кода -------------------------------------------------------- Микроядро 8 К Менеджер процессов 63 К Совместно используемая библиотека 18 К Менеджер файловой системы 62 К Драйвер флоппи-дисководов 12 К Драйвер WD 8 K Драйвер Adaptec SCSI 10 K Драйвер PS/2 MFM 9 K Драйвер PS/2 ESDI 9 K Драйвер PS/2 SCSI 9 K Менеджер устройств 25 К Драйвер консоли 20 К Драйвер последовательного ввода/вывода 10 К Драйвер параллельного ввода/вывода 7 К Менеджер сети Arcnet 16 K Утилита работы с файлами DOS Dosfsys 30 K -------------------------------------------------------- Требования к памяти сегментов данных операционной системы изменяются в зависимости от конфигурации операционной системы. Обычно эти сегменты занимают от 16 К до нескольких сотен килобайт. В случае файловой системы сегменты данных могут иметь размер до нескольких мегабайт. Требования к оборудованию - Рабочие платформы: IBM AT или PS/2. - Центральные процессоры: 8088, 80286, 80386 или 80486 - Объем памяти: менее 640К (для исполняющей системы - runtime) 2M (для системы пpогpаммиpования) - Объем дискового пространства: нет (для станции ЛВС) или 5М (для ОС и утилит) +4М (для системы пpогpаммиpования) Техническое обслуживание - Постоянно действующая "горячая линия". - BBS (включая электронные конференции, частную почту, систему доработки и некоммерческое программное обеспечение). - Информационные бюллетени. - 6 - Задержки прерываний и процессов ------------------------------------------------------------------ Типичная Время задержка завершения Задержка Контекстное Процессор прерывания прерывания диспетчера переключение (Т il) (T iret) (T sl) ------------------------------------------------------------------ 33 МГц 486 6 мкс 5 мкс 14 мкс 17 мкс 25 МГц 486 8 мкс 7 мкс 18 мкс 22 мкс 33 МГц 386 11 мкс 10 мкс 27 мкс 33 мкс 20 МГц 386 19 мкс 17 мкс 45 мкс 55 мкс 16 МГц 386SX 32 мкс 29 мкс 77 мкс 94 мкс 8 МГц 286 65 мкс 59 мкс 163 мкс 188 мкс ------------------------------------------------------------------ Запускается Завершается Прерванный про- Происходит обработчик обработчик цесс продолжает прерывание прерываний прерываний выполнение Ё Ё Ё Ё V V V V +------------------------------------------------------------- 19.0 мкс 17.4 мкс +---------------+ +--------------+ T il T iret +-------------------+ T int T il - задержка прерывания; T int - время обработки прерывания; T iret - время завершения прерывания Рис.1 Обработчик прерывания завершается просто. (Времена пpиведены для 20 МГц 386-го микропроцессора в защи- щенном режиме) Запускается Обработчик прерыва- Прерванный про- Происходит обработчик ния завершается и цесс продолжает прерывание прерываний включает поручение выполнение Ё Ё Ё Ё V V V V +------------------------------------------------------------- 19.0 мкс 45.2 мкс +---------------+ +------------------------+ T il T sl +---------+ T int T il - задержка прерывания; T int - время обработки прерывания; T sl - задержка диспетчера Рис.2 Обработчик прерывания завершается и включает поручение (proxy). (Времена пpиведены для 20 МГц 386-го микропро- цессора в защищенном режиме) - 7 - На приведенных рисунках задержки прерываний (Т il) минимальны, если в момент запpоса пpеpываний пpеpывания полностью pазpешены. В худшем случае, задержка прерывания будет равняться указанному времени плюс самое длительное время, когда QNX или работающий процесс QNX запрещает прерывания процессора.