コンテンツにスキップ

「QNX」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
RedBot (会話 | 投稿記録)
m ロボットによる 追加: sk:QNX
 
(27人の利用者による、間の38版が非表示)
1行目: 1行目:

{{出典の明記|date=2020年12月}}

{{Infobox_OS |

{{Infobox OS

name = QNX |

| name = QNX

screenshot = |

| logo = QNX 201x logo.svg

caption = |

| logo_size = 140px

developer = QNX Software Systems |

<!--

family = UNIX系、リアルタイム |

| screenshot = QNX_6.4.1_screenshot.png

source_model = [[クローズドソース]]及び[[オープンソース]] |

| screenshot_size = 280

latest_release_version = 6.4.0|

| caption = QNX 6.4.1上でのデスクトップ画面。(デフォルト状態)

latest_release_date = [[2008年]]10月|

-->

kernel_type = [[マイクロカーネル]] |

| developer = QNXソフトウェアシステムズ / [[ブラックベリー (企業)|ブラックベリー]]

working_state = 開発進行中 |

| source_model = [[クローズドソース]]及び[[オープンソース]](非商用利用のみ)

license = プロプライエタリ |

| kernel_type = リアルタイム・[[マイクロカーネル]]

website = [http://www.qnx.com www.qnx.com] |

| supported_platforms = [[Intel 8088|8088]], [[x86]], [[MIPSアーキテクチャ|MIPS]], [[PowerPC]], [[SuperH|SH-4]], [[ARMアーキテクチャ|ARM]], [[StrongARM]], [[XScale]]

| ui =

| family = [[Unix系]]

| released = {{Start date and age|1982}}

| latest_release_version = 7.0

| latest_release_date = {{Start date and age|2017|03}}

| latest_test_version =

| latest_test_date =

| marketing_target = [[組み込みシステム]]

| programmed_in =

| prog_language =

| language =

| updatemodel =

| package_manager = [[NetBSD]]の[[pkgsrc]]フレームワークを利用可能

| working_state = 開発進行中

| license = [[プロプライエタリソフトウェア|プロプライエタリ]]

| website = {{URL|https://blackberry.qnx.com/en | Blackberry.qnx}}

}}

}}

'''QNX'''(キューエヌエックス、またはキューニックスと発音)は商用の[[POSIX]]準拠[[UNIX]]系[[リアルタイムオペレーティングシステム]](OS)であり、主に[[組み込みシステム]]向けに販売されている。<!--市場で最も成功している[[マクロカネル]][[オペレティングシステム]]と思われる-->


'''QNX'''[[|]][[Unix|Unix]][[POSIX]][[POSIX 1003.1b]][[]]QNX[[ ()|]]


== 詳細 ==

== 詳細 ==


OSQNXOS[[]]OS[[]]OSOFFOS[[]]QNXOFF

[[]]OSQNXOS[[]]OS[[]]OSOFFOS[[]]QNXOFF


QNXのシステムは非常に小さく、[[フロッピーディスク]]1枚に納まってしまう。そして非常に高速であり機能的にも完備されている。


QNX[[]]1GUI使<ref>{{Cite web|url= http://www.openqnx.com/Article259.html|title=QNX4 Demo Disk: An Expounding Look|date= 2004-03-24|accessdate=2009-03-13|author=Samuel Sidler|publisher=OpenQNX}}</ref>



[[2001]] QNX Neutrino 使[[CPU]][[80x86|x86]][[MIPS|MIPS]][[PowerPC]][[SuperH|SH-4]][[ARM|ARM]][[StrongARM]][[xScale]]

[[2001年]]にリリースされた QNX Neutrinoは現在組み込み市場で使われているほとんどの[[CPU]]で動作する。例えば、[[x86]]ファミリ、[[MIPSアーキテクチャ|MIPS]]、[[PowerPC]]、[[SuperH|SH-4]]、[[ARMアーキテクチャ|ARM]]、[[StrongARM]]、[[XScale]]などである。


2007年9月12日、非商用利用のためのライセンスも用意するようになった。


QNXを現在所有しているのは[[ブラックベリー (企業)|ブラックベリー]]であり、同社の[[タブレット (コンピュータ)|タブレットコンピュータ]]用[[モバイルオペレーティングシステム|モバイルOS]]の[[BlackBerry Tablet OS]]および[[BlackBerry 10]]はQNXベースである。



== 歴史 ==

== 歴史 ==

[[1980年]]、[[ウォータールー大学]]の学生だった Gordon Bell Dan Dodge は一般[[情報工学]]課程でオペレーティングシステム設計を学び、その中で基本的なリアルタイムカーネルを作成した。彼らは、このようなシステムに需要があると考え、同年 '''Quantum Software Systems'''社を設立した。[[1982年]]、最初の'''QNX'''を[[Intel 8088|8088]][[マイクロプロセッサ]]向けにリリースした。

[[1980年]]、[[ウォータールー大学]]の学生だったGordon BellとDan Dodgeは一般[[計算機科学]]課程でオペレーティングシステム設計を学び、その中で基本的なリアルタイムカーネルを作成した。彼らは、このようなシステムに需要があると考え、同年 ''Quantum Software Systems'' 社を設立した。[[1982年]]、最初のQNXを[[Intel 8088|8088]][[マイクロプロセッサ]]向けにリリースした。



最初にQNXが広く使われたのは組み込みシステムではなく、[[オンタリオ州]]の教育システムに採用された [[ユニシス|Unisys]] ICON のOSとしてである。当時としては、44KバイトのOSは組み込みシステムには大きすぎたため、もっと大きなシステムで主に使われたのである。このシステムは信頼性が高いと評判が良く、いくつかの工業アプリケーションに採用されるようになっていった。


QNX使[[]] [[|Unisys]] [[:en:Unisys ICON|ICON]] OS44KOS使



[[1990]]QuantumPOSIX '''QNX 4''' [[|GUI]] '''Photon microGUI''' 使 QNX [[X Window System]]QNX 4 UNIX

[[1980]]Quantum[[POSIX]] QNX 4  Patrick Hayden  Robin Burgener {{US patent|5745759}}[[|GUI]]Photon microGUIOS QNX  [[X Window System]] QNX 4[[POSIX]][[UNIX]][[Berkeley Software Distribution|BSD]]


Quantum Software Systemsは1990年代初期にQNXソフトウェアシステムズと改称して[[ハードディスクドライブ|ハードディスク]]企業の[[クアンタム (企業)|クアンタム]]と混同されないようにした。1990年代末 QNX RTOS の全面的な書き換えを行い、[[対称型マルチプロセッシング|SMP]]対応し、マイクロカーネルを維持しつつ既存の [[POSIX]] [[アプリケーションプログラミングインタフェース|API]] を全てサポートし、新たな POSIX API にもいち早く対応。その結果、2001年に QNX Neutrino RTOS をリリースすることになった。

1990年代末までに彼らはマイクロカーネルを維持しつつ[[Linux]]に可能な限り近づけることを決めた。これによって2001年に '''QNX Neutrino''' がリリースされた。これに基本的に同梱されたのが Momentics という[[Eclipse (統合開発環境)|Eclipse IDE]] をベースとした[[統合開発環境]] (IDE)、様々な[[GNU]]ツール、Voyager [[ウェブブラウザ]]/サーバなどの[[インターネット]]ソフトウェアである。また会社は1990年代初期に '''QNX Software Systems''' と改称して[[ハードディスク]]企業の[[クアンタム (企業)|クアンタム]]と混同されないようにした。



Neutrino カーネルと同時にQNXソフトウェアシステムズは開発ツールの充実にも熱心に取り組み、[[Eclipse (統合開発環境)|Eclipse]]コンソーシアムの創立メンバーにもなった。2002年、Eclipseワークベンチと関連プラグインをまとめたQNX Momentics Tool Suiteをリリース。

[[2004年]]末、同社は Harman International社に売却されることとなった。これに関連して QNX のフリー版が無くなった。



[[2004年]]末、同社は[[ハーマン・インターナショナル]]に売却されることとなった。QNXは既に自動車業界で[[テレマティクス]]システム向けに広く使われていた。ハーマンに買収されると、200以上の車種やモデルの[[自動車]]向けに設計を行い、テレマティクスだけでなく情報娯楽用途やナビゲーション用途でも使われるようになっていった。2011年中ごろ時点で、2000万台の自動車でQNX CAR Application Platformが動作している<ref>[http://www.qnx.com/products/qnxcar/ QNX CAR Application Platform]</ref>。また、QNX Aviage Multimedia Suite、QNX Aviage Acoustic Processing Suite、QNX HMI Suiteといった[[ミドルウェア]]製品もいくつかリリースしてきた。

[[シスコシステムズ|Cisco]] の IOS-XR (IOSの新バージョン)は QNXベースである。


2007年9月、ソースコードの一部を公開することを発表<ref>QNX Press Releases: [http://www.qnx.com/news/pr_2471_1.html source code availability]</ref>。


2010年4月9日、ハーマン・インターナショナルからリサーチ・イン・モーションへの譲渡に両社が合意したと発表<ref name="QNXtoRIM">{{Cite news| url = http://www.theglobeandmail.com/news/technology/rim-to-buy-qnx-software/article1528911/ | title = RIM to buy QNX Software | agency = The Canadian Press | publisher = [[グローブ・アンド・メール|The Globe and Mail]] | date = 2010-04-09 | accessdate = 2010-04-09}}</ref>。同日、QNXのソースコードへのアクセスが制限されるようになった<ref name="restrictedsource">[http://community.qnx.com/sf/wiki/do/viewPage/projects.community/wiki/UpdatedQNXSourceAccessPolicyFAQ wiki4376: UpdatedQNXSourceAccessPolicyFAQ]</ref>。2010年9月、[[タブレット (コンピュータ)|タブレットコンピュータ]] [[BlackBerry PlayBook]] とQNXをベースとするそのOS (BlackBerry Tablet OS) を発表<ref name="playbook_pressrelease">[http://www.marketwire.com/press-release/RIM-Unveils-The-BlackBerry-PlayBook-NASDAQ-RIMM-1325727.htm RIM Unveils The BlackBerry PlayBook], official press release, September 27, 2010</ref>。


[[シスコシステムズ]]が2004年から2005年ごろに開発したIOS-XR([[Cisco Internetworking Operating System|IOS]]の超高稼動版)<ref name="QNXDel">{{Cite web| url = http://www.qnx.com/news/pr_1074_1.html | title = QNX Delivers Extremely Reliable Microkernel for Massively Scalable Routing System | author = QNX Staff | date = 2004-08-17 | accessdate = 2012-03-16}}</ref>はQNXベースである<ref>[http://www.cisco.com/en/US/products/ps5763/products_tech_note09186a0080772675.shtml#a2 CRS-1 and IOS XR Operational Best Practices]</ref>。また、2006年に登場したIOS Software Modularityも同様である<ref name="IOSSM">{{Cite web| url = http://www.velocityreviews.com/forums/t372212-which-os-is-behind-ios.html | title = Which OS is behind IOS? | author = Brad Reese- BradReese.Com | date = 2006-09-26 | accessdate = 2012-03-16}}</ref>。



== 技術 ==

== 技術 ==


QNX CPU[[]][[]][[]][[]] '''proc''' 調[[]][[|]][[|]]

QNXCPU[[]][[]][[ ()|]][[]] '''proc''' 調[[]][[|]][[|]][[]][[NetBSD]]<ref>Core Networking 6.4: Neutrinos Next Gen Networking Stack and Foundry27 [http://community.qnx.com/sf/docman/do/downloadDocument/projects.networking/docman.root/doc1280]</ref> ''io-net manager'' NetBSD<ref>[http://community.qnx.com/sf/wiki/do/viewPage/projects.networking/wiki/Drivers_wiki_page Foundry27: Project Networking - Driver wiki page]</ref>



QNX [[]]CPUCPUQNX UNIXLinux

QNX[[]]CPUCPUQNX[[UNIX]][[Linux]]LinuxQNX<ref>[http://sourceforge.net/projects/simpl/ SIMPL-Synchronous Interprocess Messaging]</ref>[[Mach]]{{|date=20121}}


マイクロカーネルアーキテクチャであるため、QNX は[[分散コンピューティング|分散OS]]でもある。Dan Dodge と Peter van der Veen の[http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=%2Fnetahtml%2FPTO%2Fsearch-bool.html&r=2&f=G&l=50&co1=AND&d=PTXT&s1=%22QNX+Software+Systems%22.ASNM.&OS=AN/%22QNX+Software+Systems%22&RS=AN/%22QNX+Software+Systems%22 特許] は QNX の分散処理機能に関するものである。


[[]]QNX[[|OS]]Dan Dodge  Peter van der Veen [http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=6,697,876.PN.&OS=PN/6,697,876&RS=PN/6,697,876 ]  QNX [[#|]] (Transpatrent Distributed Processing, TDP) 



使QNX [[]][[]]

使QNX[[]]


メッセージ処理は[[スレッド (コンピュータ)|スレッド]]の優先度に従って優先順位付けされる。入出力もメッセージ処理を使っているため、優先度の高いスレッドが入出力の結果を受け取るのも優先される傾向がある([[リアルタイムシステム]]なのでそれが基本である)。

メッセージ処理は[[スレッド (コンピュータ)|スレッド]]の優先度に従って優先順位付けされる。入出力もメッセージ処理を使っているため、優先度の高いスレッドが入出力の結果を受け取るのも優先される傾向がある([[リアルタイムシステム]]なのでそれが基本である)。



ブートローダも重要なシステムの一部である。ユーザープログラムをブートイメージに含めることができ、デバイスドライバ群や各種ライブラリをカーネル以外にブートイメージに含めることが多い。また、ブートイメージを[[Read Only Memory|ROM]]に格納することでディスクのない組み込みシステムでも利用可能となっている。

ブートローダも重要なシステムの一部である。ユーザープログラムをブートイメージに含めることができ、カーネルの他にデバイスドライバ群や各種ライブラリをブートイメージに含めることが多い。また、ブートイメージを[[Read Only Memory|ROM]]に格納することでディスクのない組み込みシステムでも利用可能となっている。


Neutrinoは[[プロセッサ親和性]]を考慮した[[対称型マルチプロセッシング]]をサポートしており、QNXの用語ではこれを「限定型マルチプロセッシング (BMP, bound multiprocessing)」と呼ぶ。BMPはマルチプロセッサ対応でないアプリケーションを容易にマルチプロセッサのハードウェアに移行でき、キャッシュヒット率も高く維持できる。


Neutrinoは厳密に優先度に基づくプリエンプティブ・スケジューリングを行い、アダプティブ・パーティション・スケジューリング (APS) をサポートしている。APSは、他に多くの高い優先度のパーティション(スレッド群のグループ)があったとしても、全てのパーティションに最小限のCPUを割り当てることを保証する。高負荷であっても[[リソーススタベーション]]に陥らず、重要なスレッドが厳密にリアルタイムで動作できるようにしている。


=== 透過分散処理 ===

透過分散処理 (TDP, Transparent Distributed Processing) は、QNXのネットワーク分散アーキテクチャの名称である。[[マイクロカーネル]]であるため本質的にネットワーク分散が可能であり、TDPとは言ってみればQNXのネットワークスタックに[[通信プロトコル]]モジュールをプラグインする仕組みである。qnetと呼ばれるプロトコルモジュールがネットワーク上の複数の[[マイクロカーネル]]間をリンクすると、実際にどのノードにあるかを気にせずにOSサービスにアクセスできるようになる<ref>[http://www.patentstorm.us/patents/5745759-fulltext.html U.S. Patent 5,745,759]</ref>。


== Foundry27 ==

Foundry27は同社がQNXコミュニティ向けに作ったウェブサイトである。QNX Neutrino開発に関するハブとなっており、開発者が登録でき、ライセンスを選択でき、ソースコードや関連ツールキットを取得できる<ref>QNX Press Releases: [http://www.qnx.com/news/pr_2471_2.html Foundry27]</ref>。2010年4月9日にリサーチ・イン・モーションに取得されると、QNXのソースコード全体が自由に入手できるという状態ではなくなった<ref>Updated QNX Source Access Policy FAQ: [http://community.qnx.com/sf/wiki/do/viewPage/projects.community/wiki/UpdatedQNXSourceAccessPolicyFAQ]</ref>。



== 競合OS ==

== 競合OS ==

組み込み市場での主な競合OSは、[[LynxOS]], [[VxWorks]], Linux, [[THEOS]], [[Windows CE]], [[OS-9]], [[SCIOPTA]]である。

組み込み市場での主な競合OSは、

* POSIXリアルタイムOS

** [[LynxOS]]

* 組み込み(にも使われる)Unix系OS

** Linux

* その他リアルタイムOS

** [[VxWorks]], [[THEOS]], [[OS-9]], [[SCIOPTA]], [[ITRON]]

* その他組み込みOS

** [[Windows CE]]

である。



== 競合OSの比較 ==

== 競合OSの比較 ==

分散処理、MMUの強化を図る場合、メッセージパッシング方式のリアルタイムOSである必要性がある。するとSCIOPTA,OSEなどが同じコンセプトのアーキテクチャである。

分散処理、MMUの強化を図る場合、メッセージパッシング方式のリアルタイムOSである必要性がある。するとSCIOPTA, OSEなどが同じコンセプトのアーキテクチャである。


== 脚注 ==

{{脚注ヘルプ}}

{{Reflist}}



== 参考文献 ==

== 参考文献 ==

* {{cite journal | author= Dan Hildebrand |title=An Architectural Overview of QNX | journal = Proceedings of the Workshop on Micro-kernels and Other Kernel Architectures | page=113 - 126 | year=1992 |id=ISBN 1-880446-42-1 | url = http://portal.acm.org/citation.cfm?id=759105&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618 }}

* {{cite journal | author= Dan Hildebrand |title=An Architectural Overview of QNX | journal = Proceedings of the Workshop on Micro-kernels and Other Kernel Architectures | page=113 - 126 | year=1992 |id=ISBN 1-880446-42-1 | url = http://portal.acm.org/citation.cfm?id=759105&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618 }}



==外部リンク==

== 外部リンク ==

*[http://www.qnx.co.jp/ QNXソフウェアシステムズ]

* [http://www.qnx.co.jp/ QNX日本語公式サイト]{{リンク切れ|date=2024年1月}}

* [https://community.qnx.com/sf/sfmain/do/home Foundry27]

*[http://www.openqnx.com/ QNX User Community(英語)]

*[http://www.sf.net/projects/openqnx Open source applications(英語)]

* [http://www.openqnx.com/ QNX User Community(英語)]

*[http://www.aresluna.org/guidebook/guis/qnx GUIdebook > GUIs > QNX]

* [http://www.sf.net/projects/openqnx Open source applications(英語)]

* [http://www.aresluna.org/guidebook/guis/qnx GUIdebook > GUIs > QNX]

*[http://www.itbusiness.ca/it/client/en/CDN/News.asp?id=40793 QNX used for Canadian Nuclear Power Plants]

* [http://www.itbusiness.ca/it/client/en/CDN/News.asp?id=40793 QNX used for Canadian Nuclear Power Plants]


[[Category:Unix系オペレーティングシステム]]

[[Category:組み込みOSの製品]]



{{Unix-like}}

{{Unix-like}}



{{Normdaten}}

[[ar:كيو إن إكس]]

[[Category:Unix系オペレーティングシステム]]

[[ca:QNX]]

[[Category:リアルタイムオペレーティングシステム]]

[[cs:QNX]]

[[Category:組み込みオペレーティングシステム]]

[[de:QNX]]

[[Category:モバイルオペレーティングシステム]]

[[en:QNX]]

[[Category:1982年のソフトウェア]]

[[es:QNX]]

[[Category:分散オペレーティングシステム]]

[[fi:QNX]]

[[fr:QNX]]

[[hu:QNX]]

[[it:QNX]]

[[ko:QNX]]

[[lt:QNX]]

[[nl:QNX]]

[[no:QNX]]

[[pl:QNX]]

[[pt:QNX]]

[[ru:QNX]]

[[sk:QNX]]

[[sv:QNX (operativsystem)]]

[[uk:QNX]]

[[zh:QNX]]


2024年2月21日 (水) 17:43時点における最新版

QNX
開発者 QNXソフトウェアシステムズ / ブラックベリー
OSの系統 Unix系
開発状況 開発進行中
ソースモデル クローズドソース及びオープンソース(非商用利用のみ)
初版 1982年 (42年前) (1982)
最新安定版 7.0 / 2017年3月 (7年前) (2017-03)
対象市場 組み込みシステム
パッケージ管理 NetBSDpkgsrcフレームワークを利用可能
プラットフォーム 8088, x86, MIPS, PowerPC, SH-4, ARM, StrongARM, XScale
カーネル種別 リアルタイム・マイクロカーネル
ライセンス プロプライエタリ
ウェブサイト Blackberry.qnx
テンプレートを表示

QNXUnixPOSIXPOSIX 1003.1bQNX

[]


OSQNXOSOSOSOFFOSQNXOFF

QNX1GUI使[1]

2001 QNX Neutrino使CPUx86MIPSPowerPCSH-4ARMStrongARMXScale

2007912

QNXOSBlackBerry Tablet OSBlackBerry 10QNX

[]


1980Gordon BellDan Dodge Quantum Software Systems 1982QNX8088

QNX使 Unisys ICON OS44KOS使

1980QuantumPOSIX QNX 4  Patrick Hayden  Robin Burgener  5,745,759GUIPhoton microGUIOS QNX  X Window System QNX 4POSIXUNIXBSD

Quantum Software Systems1990QNX1990 QNX RTOS SMP POSIX API  POSIX API 2001 QNX Neutrino RTOS 

Neutrino QNXEclipse2002EclipseQNX Momentics Tool Suite

2004QNX使200使20112000QNX CAR Application Platform[2]QNX Aviage Multimedia SuiteQNX Aviage Acoustic Processing SuiteQNX HMI Suite

20079[3]

201049[4]QNX[5]20109 BlackBerry PlayBook QNXOS (BlackBerry Tablet OS) [6]

20042005IOS-XRIOS[7]QNX[8]2006IOS Software Modularity[9]

[]


QNXCPU proc 調NetBSD[10] io-net manager NetBSD[11]

QNXCPUCPUQNXUNIXLinuxLinuxQNX[12]Mach[]

QNXOSDan Dodge  Peter van der Veen   QNX  (Transpatrent Distributed Processing, TDP) 

使QNX

使

ROM

NeutrinoQNX (BMP, bound multiprocessing)BMP

Neutrino (APS) APSCPU

[]


 (TDP, Transparent Distributed Processing) QNXTDPQNXqnetOS[13]

Foundry27[]


Foundry27QNXQNX Neutrino[14]201049QNX[15]

OS[]


OS

POSIXOS
LynxOS

使UnixOS
Linux

OS
VxWorks, THEOS, OS-9, SCIOPTA, ITRON

OS
Windows CE


OS[]


MMUOSSCIOPTA, OSE

脚注[編集]



(一)^ Samuel Sidler (2004324). QNX4 Demo Disk: An Expounding Look.  OpenQNX. 2009313

(二)^ QNX CAR Application Platform

(三)^ QNX Press Releases: source code availability

(四)^ RIM to buy QNX Software. The Canadian Press. The Globe and Mail. (201049). http://www.theglobeandmail.com/news/technology/rim-to-buy-qnx-software/article1528911/ 201049 

(五)^ wiki4376: UpdatedQNXSourceAccessPolicyFAQ

(六)^ RIM Unveils The BlackBerry PlayBook, official press release, September 27, 2010

(七)^ QNX Staff (2004817). QNX Delivers Extremely Reliable Microkernel for Massively Scalable Routing System. 2012316

(八)^ CRS-1 and IOS XR Operational Best Practices

(九)^ Brad Reese- BradReese.Com (2006926). Which OS is behind IOS?. 2012316

(十)^ Core Networking 6.4: Neutrinos Next Gen Networking Stack and Foundry27 [1]

(11)^ Foundry27: Project Networking - Driver wiki page

(12)^ SIMPL-Synchronous Interprocess Messaging

(13)^ U.S. Patent 5,745,759

(14)^ QNX Press Releases: Foundry27

(15)^ Updated QNX Source Access Policy FAQ: [2]

参考文献[編集]

外部リンク[編集]