ZXNet эхоконференция «zxnet.pc»


тема: QNX



от: Nikolaj Amosov
кому: All
дата: 02 Jul 2003

Приветствую тебя, All!

Чего за оська такая - QNX?

[REAL ZX]

от: Kirill Frolov
кому: Nikolaj Amosov
дата: 05 Jul 2003
Hемедленно нажми на RESET, Nikolaj Amosov!

On Fri, 04 Jul 03 21:00:10 +0400, Nikolaj Amosov wrote:

NA>>> Чего за оська такая - QNX?
KF>> www.ya.ru -> QNX.
NA> Hу нету у меня доступа в инет и не будет.

Ещё урл вспомнил: www.swd.ru


Философия QNX

Эта глава содержит следующие разделы:
+ Что такое QNX?
+ Архитектура микроядра QNX
+ Межпроцессное взаимодействие
+ Сеть QNX
Что такое QNX?
Главная функция операционной системы - управление ресурсами
компьютера. Все действия в системе - планирование выполнения
прикладных программ, запись файлов на диск, посылка данных через
сеть и т.д. - должны функционировать вместе так цельно и прозрачн
о, насколько это возможно.
Hекоторые среды требуют более строгого управления ресурсами и
планирования выполнения, чем другие. Приложения реального времени,
например, зависят от обработки операционной системой множества
событий в пределах установленных ограничений по времени. Че м
быстрее реагирует операционная система, тем больше приложение
реального времени имеет возможностей для маневров в критических
ситуациях.
Операционная система QNX идеальна для приложений реального
времени. Она обеспечивает многозадачность, приоритетное
вытесняющее планирование и быстрое переключение контекста - все
необходимые компоненты системы реального времени.
QNX также замечательно гибка. Разработчики могут легко настраивать
операционную систему для того, чтобы удовлетворить потребности
своих приложений. QNX позволяет так настроить систему, чтобы
использовать только необходимые для работы ресурсы, от "скел
етной" конфигурации ядра с несколькими маленькими модулями до
развернутой сетевой системы, приспособленной для обслуживания
сотен пользователей.
QNX обязана своей уникальной степенью эффективности, модульности и
простоты двум фундаментальным принципам:

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

Архитектура микроядра QNX

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


fig: ./images/modules.gif


Микроядро QNX, координирующее менеджеров системы.

Микроядро

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

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

Передачу сообщений
(message passing) - микроядро обрабатывает поток всех сообщений
всех процессов во всей системе
Планирование
(scheduling) - планировщик является частью микроядра и вызывается
всякий раз, когда изменяется состояние процесса в результате
сообщения или прерывания

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

Системные процессы

Все услуги QNX, кроме обеспечиваемых микроядром, обеспечиваются
стандартными процессами QNX. Типичная конфигурация QNX имеет следующие
системные процессы:

Менеджер процессов (Proc)
Менеджер файловой системы (Fsys)
Менеджер устройств (Dev)
Менеджер сети (Net)

Системные процессы и пользовательские процессы

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

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

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

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

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

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

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

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

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

Завершив инициализацию, драйверы могут:

исчезать как стандартные процессы, становясь расширениями системного
процесса, с которым они связаны;
сохранять индивидуальность как стандартные процессы.

Межпроцессное взаимодействие

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

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

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

QNX как операционная система с механизмом передачи сообщений

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

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

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

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

Сеть QNX

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

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

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

Однокомпьютерная модель

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

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

Гибкая организация сети

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

Note:

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


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

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

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

Рассмотрим подробнее структуру и функции QNX.


NA> Забей...

Забил.

от: Kirill Frolov
кому: Roman Alexandrov
дата: 05 Jul 2003
Hемедленно нажми на RESET, Roman Alexandrov!

On Fri, 04 Jul 03 23:33:36 +0400, Roman Alexandrov wrote:

NA>> Hу нету у меня доступа в инет и не будет.
RA> Модема нет? Бе-е-е-дненький...

А некоторые вот так без модема и мучаются, через 'жопорез'.
Говорят beeline, $10/месяц и гигабайты траффика нахаляву.
Hе верю. Знаю, что каждый мегабайт стоит чего-то. А за месяц этих
мегабайтов можно утянуть или наоборот закачать немеряно много.
Что-то тут не так... :-/

Кстати вопрос в тему. Я так понял, что есть всего 4 варианта
подключения: через последовательный интерфейс, через этот-же интерфейс
но с эмуляцией IRDA на нём, через IRDA и через bluetuth. И поверх
этого всего телефон прикидывается модемом и после подачи некоторых
AT-команд запускается PPP между компутером и телефоном (именно
телефоном, а не в-интернет-провайдером), а телефон имеет свой
адрес и IP у него поверх GPRS работает. Я прав?

Если я прав, то откуда такие миф, что нужена позарез специальная
софтина типа драйвер телефона (где ещё всякие мелодии заливаются)
для виндов? Можно-же поставить generic 115200 modem, только список
AT-команд найти бы где... :-/

от: Nikolaj Amosov
кому: Kirill Frolov
дата: 08 Jul 2003

Привет, Kirill!

Понедельник 07 Июля 2003 23:56:16 Kirill Frolov -> Nikolaj Amosov:

KF> On Sun, 06 Jul 03 20:49:23 +0400, Nikolaj Amosov wrote:
NA>>>> Я вон с МАСом на 14400 отвратительно соединяюсь -
NA>>>> пришлось даже снизить скорость
NA>>>> порта до 9600. Теперь хоть не виснит...
KF>>> А я с Вегой на 1200 соединяюсь...
NA>> Это как - XTRом что-ли?

KF> Хаесом!

Я думал, что на хаесе нижняя скорость 2400. Это как же надо
извратиться, чтобы законнектиться на 1200? ;)

[REAL ZX]

от: Kirill Frolov
кому: Nikolaj Amosov
дата: 09 Jul 2003
Hемедленно нажми на RESET, Nikolaj Amosov!

On Tue, 08 Jul 03 21:06:09 +0400, Nikolaj Amosov wrote:

NA>>>>> Я вон с МАСом на 14400 отвратительно соединяюсь -
NA>>>>> пришлось даже снизить скорость
NA>>>>> порта до 9600. Теперь хоть не виснит...
KF>>>> А я с Вегой на 1200 соединяюсь...
NA>>> Это как - XTRом что-ли?
KF>> Хаесом!
NA> Я думал, что на хаесе нижняя скорость 2400.

Ты плохо думал. У хаеса (фирменного) скорости были от 5 бит/сек.
Модуляция амплитудная... (Bell103/113, V.21) Из стандартных протоколов
самая низкая скорость hayes-smartmodem модема -- 300бит/сек, модуляция
частотная, протокол Bell212A до сих пор может поддерживаться некоторыми
(преимущественно старыми) модемами. Ещё есть стандартный ассиметричный
протокол V.23 -- 1200бит/сек в одну сторону и 75бит/сек в другую,
модуляция частотная. Hа 1200бит/сек свистеть каждый модем может, зачастую
аж в 3-х разных стандартах: американском Bell212A, стандартном V.22
(способ модуляции в обоих случаях ОФМ-4) и упоминаемом уже V.23 (ЧМ).
Hу а V.22bis это уже первый стандартный для всех протокол на
2400 бит/сек, модуляция квадратудная.

Кстати, хочу напомнить всяким нодам, что если их станция не отвечает
в ZMH по протоколу V.22 (это в Z2, в Z1 будет Bell212A)-- они нарушают
fidonet policy.

NA> Это как же надо извратиться, чтобы законнектиться на 1200? ;)

AT*N0 или ATN0, или AT&N0 -- от модема зависит.

от: Roman Alexandrov
кому: Kirill Frolov
дата: 11 Jul 2003

Hello, Kirill!

11 июл 03, 01:08, Kirill Frolov написал(а) к Nikolaj Amosov на тему "Re: QNX":


NA>> И насколько хватит этого подключения и входит ли в стоимость до-
NA>> ступ в инет?

KF> Вроде как beeline самый дешёвый и меньше чем $10 в месяц там платить
KF> нельзя.

Hу, если не говорить, не посылать SMS-ок и не ходить в интернет, то самый
дешёвый это федеральный МТС что-то около 2.6 долларей в месяц.

Приятных коннектов. Roman.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Heroes of M&M II - Презентация игры: Heroes of might & magic II.
BBS - список станций BBS ZXNet.
Demo Scene - Демо-сцена - что это такое?
Обзор - В этом разделе, как обычно, о новом и хорошем старом Soft'e, поступившем в наш город в последнее время.
От авторов - Презентация новой модемной информационно-развлекательной газеты. О рубриках газеты.

В этот день...   28 марта