software1_2000_1.pdf
(
289 KB
)
Pobierz
ОБЗОР/ПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ
Сергей Прожоги�½
Neutrino:
быстрее, выше и… ме�½ьше
В�½има�½ию читателей предлагается описа�½ие особе�½�½остей и возмож�½остей операцио�½�½ой системы
реаль�½ого време�½и QNX/Neutrino.
QNX/Neutrino появилась �½е �½а пус
том месте: ей предшествовала ОС
QNX, которая была первой коммерче
ской ОС, построе�½�½ой �½а при�½ципах
микроядра и обме�½а сообще�½иями.
Да�½�½ая ОС реализова�½а в виде взаимо
связа�½�½ых, �½о в то же время �½езависи
мых (взаимодействие посредством об
ме�½а сообще�½иями) процессов раз
лич�½ых уров�½ей. ОС QNX содержит в
себе предсказуемость, что край�½е �½е
обходимо для реше�½ия задач жесткого
реаль�½ого време�½и, масштабируемость
и эффектив�½ость в управле�½ии ресур
сами, расширяемость, проявляющую
ся в добавле�½ии своего драйвера уст
ройства без перекомпилирова�½ия яд
ра, собстве�½�½ый сетевой протокол
FLEET, по скорости приближающийся
к физической скорости передачи да�½
�½ых. Тем �½е ме�½ее, QNX имеет ряд �½е
достатков и огра�½иче�½ий из за своей
орие�½тации �½а аппарат�½ую архитекту
ру Intel x86, а также из за строгого со
ответствия требова�½иям ОС реаль�½ого
време�½и (ОС РВ). В число этих �½едо
статков входят:
G
отсутствие поддержки SMP (м�½ого
процессор�½ых систем);
G
отсутствие свопи�½га виртуаль�½ой па
мяти �½а диск;
G
�½еста�½дарт�½ая поддержка �½итей;
G
м�½ого огра�½иче�½ий файловой систе
мы;
G
отсутствие Unix domain sockets.
Если обобщить все проблемы QNX,
то получатся четыре ос�½ов�½ых пу�½к
та:
1)�½едостаточ�½ая поддержка POSIX;
2)отсутствие меха�½изма поддержки
ста�½дарт�½ых �½итей;
3)отсутствие поддержки SMP;
4)�½епере�½осимость �½а другие аппарат
�½ые платформы.
www.cta.ru
После з�½акомства с этими пу�½ктами
ста�½овится очевид�½о, что цель, кото
рой
пытается
достичь
QSSL
(http://www.qnx.com) — разработчик
QNX/Neutrino, состоит в созда�½ии
POSIX совместимой ОС, пригод�½ой
для использова�½ия как в и�½теллекту
аль�½ых ко�½троллерах, так и в мощ�½ых
серверах и кластерах.
G
G
G
П
ОДДЕРЖКА
POSIX
СТАНДАРТА
семейство x86 — 386, i386 EX,
Am386SE/DE, AMD ElanSC400/410,
486, Cyrix MediaGX, Pentium,
Pentium Pro, Pentium II, STPC;
семейство PowerPC — 401, 403, 603e,
604e, 750, MPC860, MPC821,
MPC823;
семейство MIPS — R4000, R5000,
NEC VR4300/4102/4111, VR5000,
IDT R4700, QED RM5260/5270/
5261/5271.
При�½ято считать, что поддержка
POSIX ста�½дарта операцио�½�½ой сис
темой делает ее слишком громоздкой
для встраиваемых систем. Тем �½е ме
�½ее, QNX/Neutrino является POSIX
совместимой ОС (в отличие от QNX,
слабо поддерживающей POSIX) для
встраиваемых систем реаль�½ого време
�½и. QNX/Neutrino обладает высокой
эффектив�½остью, присущей предыду
щим версиям QNX, и включает в себя
ста�½дарт�½ый программ�½ый и�½тер
фейс, что долж�½о существе�½�½о облег
чить разработку приложе�½ий и пере
�½ос их с других платформ.
В микроядре Neutrino реализова�½ы
ос�½ов�½ые фу�½кции POSIX:
1003.1, 1003.1a – управле�½ие процесса
ми, вводом выводом и файловой си
стемой;
1003.1b – выпол�½е�½ие в реаль�½ом мас
штабе време�½и;
1003.1c – созда�½ие и управле�½ие �½итя
ми в рамках процесса;
1003.1d – расшире�½ия ОС РВ (обра
ботчики прерыва�½ий и т.п.).
О
СНОВНЫЕ ПОНЯТИЯ
QNX/N
EUTRINO
Ключевыми свойствами, делающи
ми ОС QNX/Neutrino край�½е привле
катель�½ой для использова�½ия во
встрое�½�½ых системах, являются:
G
м�½огозадач�½ость;
G
управляемая приоритетами диспет
черизация;
G
ми�½ималь�½ые �½аклад�½ые расходы �½а
обработку аппарат�½ых прерыва�½ий и
переключе�½ие задач;
G
масштабируемость;
G
прозрач�½ая сетевая поддержка;
G
соответствие ста�½дарту POSIX;
G
поддержка м�½огопроцессор�½ых сис
тем;
М
ИКРОЯДРО
QNX/N
EUTRINO
У�½икаль�½ость QNX/Neutrino заклю
чается в эффектив�½ости использова
�½ия вычислитель�½ых ресурсов, в мо
дуль�½ости и простоте. Ос�½ов�½ые
при�½ципы построе�½ия ОС:
G
архитектура «микроядро»;
G
межпроцессор�½ое взаимодействие, в
ос�½ову которого положе�½ при�½цип
обме�½а сообще�½иями.
Архитектура «микроядро» оз�½ачает,
прежде всего, построе�½ие ОС по при�½
ципу модуль�½ости, а размер ядра игра
П
ОДДЕРЖИВАЕМЫЕ
АППАРАТНЫЕ ПЛАТФОРМЫ
32
На да�½�½ый моме�½т QNX/Neutrino
поддерживает ос�½ов�½ые аппарат�½ые
платформы, используемые во встраи
ваемых системах, включая
СТА 1/2000
© 2000 CTA Тел.: (095) 234 0635 Факс: (095) 330 3650 http://www.cta.ru
О Б З О Р
/
П Р О Г РА М М Н О Е О Б Е С П Е ЧЕ Н И Е
Микроядро Neutrino обеспечивает
щих версиях ОС QNX, од�½ако о�½а, в
ет �½е глав�½ую роль. Фу�½кцио�½аль�½ые
перераспределе�½ие процессор�½ого вре
отличие от Neutrino, �½е могла работать
возмож�½ости такой системы �½аращи
ме�½и между потоками (процессами) за
без ме�½еджера процессов. Так как ядро
ваются �½е путем добавле�½ия �½овых
счет различ�½ых меха�½измов диспетче
QNX/Neutrino обеспечивает достаточ
фу�½кций в ядро, а за счет подключе
ризации. Испол�½е�½ие потока приоста
�½ый �½абор фу�½кций для управле�½ия
�½ия �½овых процессов, обеспечиваю
�½авливается всякий раз при воз�½ик�½о
потоками, то пользователь имеет воз
щих допол�½итель�½ый сервис. Поэтому
ве�½ии од�½ого из следующих условий:
мож�½ость создать ко�½фигурацию, со
поддержка файловой системы, сетевой
стоящую из од�½их только пользова
обработки, графического и�½терфейса
G
поток вызывает фу�½кцию ядра;
тельских потоков, �½е включая в ядро
и других сервисов �½е является фу�½кци
G
происходит аппарат�½ое прерыва�½ие;
ме�½еджер процессов (рис. 1).
ей микроядра, как в больши�½стве ОС.
G
воз�½икает исключе�½ие.
Все это �½еобходимо для реализации
Эти сервисы обеспечиваются отдель
встрое�½�½ых систем реаль�½ого време
�½ыми процессами. Целью созда�½ия
П
ОДДЕРЖКА
ОС �½а ос�½ове микроядра яв
МУЛЬТИПРОЦЕССОРНОСТИ
ляется �½е жела�½ие сделать ее
При работе QNX/Neutrino мы уви
как мож�½о ме�½ьше по разме
дим почти ли�½ей�½ый рост производи
ру, а стремле�½ие обеспечить
тель�½ости при добавле�½ии допол�½и
'
бо льшую гибкость за счет
тель�½ых процессоров (всего до 8). Это
модуль�½ости структуры. Не
достигается за счет того, что все сис
большой размер является,
тем�½ые вызовы QNX/Neutrino могут
�½есом�½е�½�½о, положитель
вытес�½яться при �½еобходимости обра
�½ым, �½о все таки побоч�½ым
ботать вызов от �½ити с более высоким
эффектом.
приоритетом даже в процессе переда
Компакт�½ое ядро Neutrino
чи сообще�½ий. Такое качество микро
имеет оче�½ь �½ебольшой раз
ядра в совокуп�½ости со срав�½итель�½ой
мер — ме�½ее 32 кбайт, вы
простотой и малым размером позволя
пол�½яя �½ескольких ос�½ов
ет ми�½имизировать �½евытес�½яемые
�½ых служб операцио�½�½ой си
последователь�½ости кода в системе.
стемы:
Это влечет за собой ряд положитель
�½ых последствий. Во первых, улучша
G
службы обме�½а сообще�½и
Рис. 1. Микроядро QNX/Neutrino
ются време�½�½ые характеристики сис
ями между потоками всей
темы. Во вторых, �½евысокие требова
системы;
�½и. Допол�½итель�½о к этим фу�½кциям в
�½ия к памяти упрощают разработку
G
службы си�½хро�½изации потоков;
ядре реализова�½ меха�½изм обме�½а со
встрое�½�½ых систем �½изшего уров�½я.
G
службы диспетчеризации потоков;
обще�½иями, являющийся отличитель
В третьих, уме�½ьшается количество
G
службы управле�½ия таймерами и ап
�½ой чертой ОС QNX. Введе�½о �½овое
блокировок в коде, �½еобходимых для
парат�½ыми прерыва�½иями.
по�½ятие «пульс» — краткое служеб�½ое
поддержки симметрич�½ых мультипро
В отличие от потоков (процессов),
сообще�½ие, �½е требующее ответа и ис
цессор�½ых архитектур (SMP) и повы
само ядро Neutrino �½е подлежит дис
пользуемое для аси�½хро�½�½ых передач.
шается эффектив�½ость использова�½ия
петчеризации. Код ядра испол�½яется
Ядро управляет объектами и поддер
допол�½итель�½ых процессоров (рис. 2).
только при вызове фу�½кции ядра ка
живает 57 вызовов для поддержки по
Кроме того, реализация SMP
ким �½ибудь потоком или при обработ
токов, сообще�½ий, сиг�½алов, тайме
QNX/Neutrino допускает руч�½ое рас
ке аппарат�½ого прерыва�½ия. Все ос
ров, обработчиков прерыва�½ий, при
пределе�½ие процессов между процес
таль�½ые службы операцио�½�½ой систе
митивов си�½хро�½изации (семафоров,
сорами, что позволяет добиться еще
мы реализова�½ы посредством ста�½
критических секций, услов�½ых пере
большей эффектив�½ости в ко�½троли
дарт�½ых процессов. Пользователь
ме�½�½ых). Все вызовы ядра являются
руемой среде испол�½е�½ия.
имеет возмож�½ость создавать �½еобхо
пол�½остью прерываемыми. Прерыва
димую ему ко�½фигурацию операцио�½
�½ия отключаются �½а 8 кома�½д при вхо
�½ой системы путем добавле�½ия или
Д
ИСПЕТЧЕРИЗАЦИЯ
де в код ядра, �½а 14 кома�½д при выходе
удале�½ия �½еобходимых в да�½�½ой реа
ПРОЦЕССОВ
из �½его и �½а 40 кома�½д при воз�½ик�½о
лизации процессов. В QNX/Neutrino
Реше�½ие о том, какой поток в�½овь
ве�½ии исключе�½ия.
�½е существует различия между пользо
получит
управле�½ие,
при�½имает
вательскими и систем�½ыми процесса
ми: и те и другие используют
оди�½аковые меха�½измы взаи
модействия с ядром ОС. Драй
веры устройств в QNX/Neutri
no �½е отличаются от осталь
�½ых процессов в системе, и их
мож�½о создавать и отлажи
вать, как обыч�½ые пользова
тельские приложе�½ия.
Микроядер�½ая структура
Рис. 2. Поддержка м�½огопроцессор�½ых ко�½фигураций в QNX/Neutrino
присутствовала и в предыду
СТА 1/2000
www.cta.ru
33
© 2000 CTA Тел.: (095) 234 0635 Факс: (095) 330 3650 http://www.cta.ru
О Б З О Р
/
П Р О Г РА М М Н О Е О Б Е С П Е ЧЕ Н И Е
34
вии с приоритетами потоков, которым
QNX/Neutrino. Если уп
о�½и при�½адлежат.
равле�½ие получает по
ток, отлич�½ый от теку
щего, то производится
С
ОСТАВ
ОС QNX/N
EUTRINO
переключе�½ие ко�½текста
В
операцио�½�½ую
систему
актив�½ой задачи. Пере
QNX/Neutrino �½аряду с микроядром
ключе�½ие
ко�½текста
Neutrino входят следующие компо�½е�½
производится в том слу
ты:
чае, если текущий поток
G
ме�½еджер процессов — procnto;
блокируется (�½апример,
G
ме�½еджеры файловых систем —
в результате вызова
io blk, fs nfs, fs cifs;
фу�½кции ожида�½ия со
G
ме�½еджеры символь�½ых устройств;
обще�½ий), доброволь�½о
G
графический и�½терфейс пользовате
передает управле�½ие (�½а
ля — Photon;
пример,
посредством
G
ме�½еджер очередей;
вызова
фу�½кции
G
ме�½еджер TCP/IP.
sched_yield()), или если в
Модуль procnto (рис. 4) служит для
системе существует по
поддержки определе�½�½ых POSIX про
ток, выпол�½е�½ие которо
цессов, каждый из которых может со
го по ряду причи�½ явля
держать м�½ожество потоков. Ме�½ед
Рис. 3. Состоя�½ия и приоритеты �½итей в очереди
ется более предпочти
жер процессов добавляет к фу�½кциям,
тель�½ым (рис. 3).
обеспечиваемым ядром, три �½овые:
что существует готовый к выпол�½е
Каждый поток имеет определе�½�½ый
�½ию поток с таким же приоритетом;
G
управле�½ие процессами — созда�½ие,
приоритет от 0 (�½аиме�½ьший) до 31
у�½ичтоже�½ие процессов и управле
G
если поток переходит в заблокиро
(�½аивысший). QNX/Neutrino выбира
�½ие их атрибутами;
ва�½�½ое состоя�½ие, то его приоритет
ет для выпол�½е�½ия поток, готовый к
восста�½авливается до перво�½ачаль
G
управле�½ие памятью — обеспече�½ие
выпол�½е�½ию (�½езаблокирова�½�½ый) и
�½ого з�½аче�½ия.
различ�½ых меха�½измов защиты па
имеющий �½аивысший приоритет.
мяти, поддержка разделяемых биб
Для обеспече�½ия большей гибкости
лиотек и работа с общей памятью для
У
ПРАВЛЕНИЕ АППАРАТНЫМИ
при перераспределе�½ии процессор�½о
межпроцесс�½ого взаимодействия;
ПРЕРЫВАНИЯМИ
го време�½и QNX/Neutrino использует
QNX/Neutrino пол�½остью обеспечи
G
управле�½ие простра�½ством име�½, ис
3 алгоритма диспетчеризации для каж
вает управле�½ие аппарат�½ыми прерыва
пользуемым ме�½еджерами ресурсов.
дой очереди потоков с оди�½аковым
�½иями. Для обработки прерыва�½ия
приоритетом:
приложе�½ию требуется привязать �½еоб
Ф
АЙЛОВЫЕ СИСТЕМЫ
ходимую фу�½кцию обработки к иско
G
FIFO,
QNX/N
EUTRINO
мому прерыва�½ию, используя вызовы
G
Round robin,
QNX/Neutrino поддерживает �½е
ядра. Да�½�½ый обработчик прерыва�½ия
сколько типов файловых систем. Каж
G
адаптив�½ый алгоритм.
�½е содержит кода, связа�½�½ого с аппа
дому типу файловой системы соответ
Поток может уста�½овить для себя
рат�½ой реализацией прерыва�½ия (вход в
ствует свой ме�½еджер, который может
любой из да�½�½ых алгоритмов, од�½ако
прерыва�½ие, выход из прерыва�½ия, со
быть запуще�½ или выгруже�½ в любой
о�½ будет приме�½яться в том случае, ес
хра�½е�½ие текущего ко�½текста), и �½ичем
моме�½т време�½и.
ли существует хотя бы еще оди�½ поток
�½е отличается от обыч�½ой фу�½кции.
Файловая система QNX �½аряду с вы
с таким же приоритетом и да�½�½ым ал
К од�½ому прерыва�½ию может быть
сокой производитель�½остью обеспе
горитмом диспетчеризации. Перерас
привяза�½о �½есколько обработчиков,
чивает �½еобходимый урове�½ь �½адеж
пределе�½ие време�½и процессора, со
получающих управле�½ие в соответст
�½ости.
глас�½о од�½ому из приведе�½�½ых алго
ритмов, �½арушается в том
случае, если поток с боль
шим приоритетом ста�½овит
ся готовым к выпол�½е�½ию, в
этом случае о�½ �½емедле�½�½о
получает управле�½ие, преры
вая выпол�½е�½ие ме�½ее при
оритет�½ого потока. Алгорит
мы FIFO и Round robin в
комме�½тариях �½е �½уждаются.
Адаптив�½ый алгоритм дис
петчеризации подразумевает
следующее:
G
если поток исчерпал выде
ле�½�½ый ему и�½тервал вре
ме�½и, то его приоритет по
Рис. 4. Модуль�½ость архитектуры QNX/Neutrino позволяет легко добавлять любые модули
�½ижается �½а 1 при условии,
для поддержки устройств
www.cta.ru
СТА 1/2000
© 2000 CTA Тел.: (095) 234 0635 Факс: (095) 330 3650 http://www.cta.ru
О Б З О Р
/
П Р О Г РА М М Н О Е О Б Е С П Е ЧЕ Н И Е
Из рис. 5 вид�½о, что
файловые системы вы
пол�½е�½ы как разделяе
мые библиотеки. В отли
чие от больши�½ства сис
тем, где драйверы уст
ройств загружаются опе
рацио�½�½ой системой в
самом
�½ачале,
в
QNX/Neutrino разделяе
мые библиотеки загружа
ются позже. Библиотека
fs cd.so
обеспечивает
прозрач�½ый доступ к
файловой системе CD
ROM, удовлетворяющей ста�½дарту
ISO 9660 с расшире�½иями High
Sierra. Кроме файлов, поддержива
ются аудиодиски и фото CD в
формате Kodak.
Модули fs cifs и fs nfs позволяют
рабочей ста�½ции QNX осуществлять
доступ к файлам �½а компьютере под
управле�½ием Windows NT/95 и в сете
вых файловых системах (Network File
System) по протоколу TCP/IP. Запросы
к файлам преобразуются в запросы
протокола CIFS (Common Internet File
System) или NFS и посылаются соот
ветствующему серверу. В качестве про
токола тра�½спорт�½ого уров�½я fs cifs и
fs nfs используют TCP/IP, поэтому для
выпол�½е�½ия CIFS и NFS в системе �½е
обходимо �½аличие ме�½еджера TCP/IP,
который поддерживается разделяемой
библиотекой npi ttcpip.so.
Рис. 5. Файловая модуль�½ая система
QNX/Neutrino
грамм�½ый код. Ме�½еджер TCP/IP мо
жет обслуживать �½есколько клие�½тов
од�½овреме�½�½о, в порядке их приорите
тов, что приводит к более рацио�½аль
�½ой загрузке процессора (рис. 6).
Г
РАФИЧЕСКАЯ ПОДСИСТЕМА
P
HOTON
M
ICRO
GUI
Neutrino имеет свою графическую
подсистему Photon. Существует �½емало
ОС, пригод�½ых для созда�½ия систем
реаль�½ого време�½и, тем �½е ме�½ее, в
больши�½стве из �½их �½ет сколько �½и
будь удоб�½ого и отвечающего требова
�½иям реаль�½ого време�½и графического
и�½терфейса пользователя (GUI). Те �½е
м�½огие системы, которые способ�½ы
поддержать пол�½оце�½�½ый GUI, �½е
позволяют использовать это �½а прак
тике, поскольку реализация традици
о�½�½ых GUI, �½апример типа X11, связа
�½а с оче�½ь высокими затратами ресур
сов, особе�½�½о памяти.
Micro GUI Photon является графиче
ской подсистемой, по в�½еш�½ему виду и
структуре похожей �½а X11/Motif, �½о
куда ме�½ее требователь�½ой к ресурсам.
Графический и�½терфейс Photon пост
рое�½ по при�½ципу модуль�½ости с при
ме�½е�½ием меха�½изма обме�½а сообще
�½иями, что и сделало его пригод�½ым к
использова�½ию во встраиваемых сис
темах реаль�½ого време�½и.
Низкие требова�½ия к оператив�½ой
памяти являются отличитель�½ой чер
С
ЕТЕВОЙ
ПРОТОКОЛ
QNX/N
EUTRINO
QNX/Neutrino имеет собстве�½�½ый
�½адеж�½ый и эффектив�½ый сетевой
протокол
тра�½спорт�½ого
уров�½я
FLEET, который используется для ор
га�½изации обме�½а в сети и �½е зависит
от аппарат�½ой реализации сети. Эта
�½езависимость обеспечивается за счет
использова�½ия сетевых драйверов. В
QNX/Neutrino имеются драйверы для
таких сетей, как Ethernet, Arcnet, Token
Ring. Кроме этого, есть возмож�½ость
орга�½изации сети через последователь
�½ый ка�½ал или модем.
TCP/IP
В
QNX/N
EUTRINO
36
www.cta.ru
Ме�½еджер TCP/IP выпол�½е�½ в виде
разделяемой библиотеки, что позволя
ет м�½огократ�½о использовать про
СТА 1/2000
© 2000 CTA Тел.: (095) 234 0635 Факс: (095) 330 3650 http://www.cta.ru
О Б З О Р
/
П Р О Г РА М М Н О Е О Б Е С П Е ЧЕ Н И Е
той Photon по срав�½е
�½ию с другими графиче
скими средами.
Photon имеет оче�½ь
удоб�½ую, гибкую и рас
ширяемую архитектуру,
которая позволяет раз
работчикам GUI при
ложе�½ий существе�½�½о
сокращать сроки созда
�½ия программ�½ого обес
пече�½ия.
trino, работающая �½епосредстве�½�½о
под управле�½ием Neutrino (self hosted).
З
АКЛЮЧЕНИЕ
Уже сейчас по�½ят�½о, что у
QNX/Neutrino огром�½ые возмож�½ости
для приме�½е�½ия, благодаря соответст
вию и�½терфейса приклад�½ого про
граммирова�½ия ста�½дартам POSIX и
�½астоящему микроядру. Эти свойства
оди�½аково привлекатель�½ы как для
использова�½ия во встраиваемых систе
мах (и�½теллектуаль�½ые ко�½троллеры,
маршрутизаторы и т.д.), так и для реа
лизации фу�½кций Internet сервера,
файл сервера и сервера приложе�½ий.
Все это, �½есом�½е�½�½о, делает ОС РВ
QNX/Neutrino перспектив�½ой систе
мой для �½овых разработок во встраи
ваемых системах и в системах управле
�½ия производством.
G
С.С. Прожоги�½ – сотруд�½ик SWD
Real Time Systems
196135, Россия,
Са�½кт Петербург,
пр. Ю. Гагари�½а, 23.
Тел.: (812) 443 0260
Факс: (812) 443 0497
E mail: sergey.prozhogin@swd.ru
С
РЕДА РАЗРАБОТКИ
При всех перечисле�½�½ых до
стои�½ствах операцио�½�½ая систе
ма �½е может быть сколько �½ибудь
и�½терес�½ой без удоб�½ого и пол�½ого
средства
разработки.
Для
QNX/Neutrino таковым является Code
Warrior IDE, созда�½�½ый фирмой
MetroWerks, мировым лидером в сис
темах разработки встраиваемых сис
тем. Эта кросс платформе�½�½ая и�½тег
рирова�½�½ая система разработки поз
воляет разрабатывать приложе�½ия �½е
только из QNX/Neutrino, �½о и под уп
равле�½ием Windows NT, а также легко
�½астраивается для работы с любым
C/C++ компилятором и включает в
Рис. 6. TCP/IP стек в QNX/Neutrino
себя м�½огооко�½�½ый и�½терфейс, от
ладчик и систему ко�½текст�½ых под
сказок.
На да�½�½ый моме�½т в среду QNX 4.x
пере�½есе�½ GNU C/C++ компилятор с
библиотеками, позволяющий ге�½ери
ровать приложе�½ия для QNX/Neu
trino. К ко�½цу года ожидается GNU
версия компилятора для QNX/Neu
37
СТА 1/2000
www.cta.ru
© 2000 CTA Тел.: (095) 234 0635 Факс: (095) 330 3650 http://www.cta.ru
Plik z chomika:
fred1144
Inne pliki z tego folderu:
hardware1_2000_1.pdf
(620 KB)
hardware2_2000_1.pdf
(488 KB)
software1_2000_1.pdf
(289 KB)
note3_2000_1.pdf
(395 KB)
software2_2000_1.pdf
(594 KB)
Inne foldery tego chomika:
1996-1
1997-1
1997-2
1997-3
1997-4
Zgłoś jeśli
naruszono regulamin