1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[QNX] Linuxより何が良いか?

Posted at

概要

仕事でQNX(OS)を使う事になり、Linuxより何が良いのかを個人的に理解できる範囲でまとめてみた。
QNXを導入するのにlicenceコストや開発コストが掛かるため、何故Linuxではダメなのかという批判的な観点で考えてみる。

Security

Memory Address Isolation

Application毎にmemory addressを割り振る

  • applicationが互いに干渉しなくなる
  • 重要な情報などを他のapplicationから情報を抜き取る事を防ぐ事が出来る

LinuxでもMemory Address Isolationは出来ると聞いたことがあるが、Securityまわりは詳しくないので、勉強が必要

Task Scheduling

Task(Application) Schedulingについての事前知識

Dynamic Scheduling: OnlineでProcessor(CPU Core)の空き状況によって、DynamicにScheduleを組む
Static Scheduling: OfflineでTaskの実行時間を計測し、Scheduleを組む。
Deterministic Scheduling: Static Schedulingの一部でTaskのPriorityとDeadlineを元にOfflineでScheduleを組む。

QNXでのTask Scheduling

RTOS(QNX専用のruntime OS)はDeterministic Schedulingを取り入れているので、TaskのDeadlineが重要なSystemにおいてメリットがある。しかし、RTOSを使った場合のメリットであって、QNX単体のメリットではない。ROSなどの他のRuntime OSを使った場合はQNXを使う意味がない。Determistic Schedulingはlinuxでも出来るはず。

安全認証

LinuxなどのOpen Sourceのsoftwareは安全認証がされていないため、自社で安全認証する必要が出てくるらしい。QNXを使えば、安全認証が既に済んでいるので、その分のコストと時間を短縮出来る。

まとめ

QNXが産業システムにどうしても必要な理由はSecurityと安全認証がされている為だと感じた。Deterministic SchedulingはLinuxでも出来るのではないかと思っているので、QNXが必須だとは感じなかった。もっと勉強して、詳細な事がわかったらupdateしたいと思う。個人的にはLinuxで開発を完結出来るようになって欲しい。

Reference

QNX Homepage
RTOS

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?