通信/ネットワーク
- IPv6/2002.11
- IPアドレス/2005.7
- RS-232/485規格/1999.9
- イーサネット/1999.10
- EtherNet/IP、EtherCAT/2011.7
- Ethernetケーブルとハブ(HUB)/2002.6
- 一般電話回線/2002.5
- インターネットとイントラネット(1)/2001.12
- インターネットとイントラネット(2)/2002.1
- ADSL/2002.10
- SLMPについて/2001.1
- FL-net(OPCN-2)/2005.8
- HDMI製品の開発プロセスについて/2020.4
- HLS(Hi-speedLink System)/2010.10
- OPC(OLE for Process Control)/1997.10
- 画像データの圧縮技術/1999.8
- 920MHz帯無線通信について/2015.10
- 携帯電話とメール機能/2002.4
- CC-Link/2000.2
- CC-Link IE TSNについて/2020.10
- CC-Link Ver.2.0/2005.2
- セキュア通信について/2020.7
- 専用電話回線と避雷器(1)/2008.9
- 専用電話回線と避雷器(2)/2008.10
- 全二重通信方式と半二重通信方式/1996.2
- ダイヤルアップルータとブロードバンドルータ/2003.3
- 通信ケーブルのシールド線の配線処理/2012.1
- TCPとUDP/2002.2
- データ伝送速度の単位“bps”と“ボー”/1993.11
- デジタル簡易無線/2015.7
- テレメータ装置と専用電話回線/2002.3
- DeviceNet/2000.1
- DNS(Domain Name System)/2006.10
- 特定小電力無線局/2003.11
- DoPa/2003.6
- ネットワークトポロジ/2002.8
- HART(ハート信号)(1)/1998.11
- HART(ハート信号)(2)/1998.12
- HART7(1)/2014.10
- HART7(2)/2015.1
- BACnet(1)/2007.8
- BACnet(2)/2007.9
- BACnet MS/TP/2018.7
- PoE(IEEE802.3af)/
2009.12 - FLEX NETWORK/2009.11
- フィールドバスの現状と問題/1996.12
- PROFIBUS(プロフィバス)/1999.12
- PROFIBUS-DPV1/2005.3
- PROFIBUS-PA/2005.6
- MECHATROLINK-II/2008.12
- MECHATROLINK-III/2009.3
- Modbus(モドバス)/1999.11
- USB/2003.9
- リアルタイムOS/2007.2
- LONWORKSについて/2001.11
- Wi-Fi(ワイファイ)/2013.7
- WirelessHART とISA100(その1)/2016.10
- WirelessHART とISA100(その2)/2017.1
エムエスツデー 2007年2月号
リアルタイムOS
産業用機器、家電機器、AV機器などを含めて、ソフトウェアを組み込んだ機器はますます増大し、高機能化しています。
組み込み機器とリアルタイムOS(Real-time Operating System)とには密接な関係があります。
組み込み機器のプログラムメモリサイズが、64KB(キロバイト)未満では約20%、64~256KBでは50%、1MB以上ではほぼ100%にOS(Operating System)が組み込まれていて、そのほとんどがリアルタイムOSを採用しています。
ソフトウェアをうまく機能させるためには、必要なコンピュータ資源(CPU割り当て時間、メモリ、外部I/O機器)の割り当てを有効に管理する必要があります。ソフトウェアの規模が大きく、複雑になれば、必要な資源を管理することが困難になります。資源の管理を容易にしてくれるのがOSの役割です。
では、なぜ組み込み機器ではリアルタイムOSが必要になってくるのでしょうか。
組み込み機器の多くは、特定のイベントに対して、一定時間内に定められた処理を行うことが必要です。これら時間的要求の管理を容易にしてくれるOSがリアルタイムOSです。したがって、リアルタイムOSは実時間処理OSとも呼ばれています。
リアルタイムというと応答速度が速いことと誤解される場合が多いですが、そうではなくシステムが要求する時間的制約を満足できるかどうかで、リアルタイム性があるか否かが決まります。
通常は十分に速い応答速度だが時々遅くなるとか、周期的に動作するタスクの周期性のばらつきが大きすぎるとか、そのシステムが要求する時間的制約条件を満たさない場合は、リアルタイム性がないということになります。
この時間的制約条件を満足させるためには、システムの各処理(タスク)に優先度を付けて、優先度の高い順から効率よく切り替えて、各タスクの時間制約を守ろうとする機能が必要になります。そのために、リアルタイムOSでは、WindowsやUnixなどのOSとは異なり、事象駆動(イベントドリブン)型の優先度ベーススケジューリングを行うのが一般的です。
図1に割り込みとタスクの実行状態の例を示します。時間的制約の大きいイベントについて割り込み処理の優先度を高くし、たとえ定周期処理タスクを処理中であっても、優先度が高いタスクを先に処理します。
代表的なリアルタイムOSとしては、ITRON(アイトロン)、μITRON(マイクロアイトロン)、VxWorks、WindowsCE、OS-9、RTLinux、QNX、T-Kernelなど多数があります。システムの規模や要求機能に従って使い分けられています。
ITRONは、1984年に東京大学の坂村健博士によって提唱されたTRON(The Real-time Operating System Nucleus)プロジェクトの一環で実現された、組み込み型制御用リアルタイムOSの仕様です。
μITRONは、ITRONの仕様をさらに限定して、非常にコンパクトな設計にした仕様です。
国内の組み込み機器の約50%強がITRON仕様のリアルタイムOSを組み込んでいます。組み込み機器分野の拡大、システムの大規模化に伴い、リアルタイムOSも進化し続けています。
図2に、エム・システム技研製品であるWindowsCEを用いたチャートレス記録計(形式:73VR2100)を示します。操作性に優れた高速サンプリング機能を実現しています。