TENASYS
 
  
1.INtimeとは何か?


■ 
INtimeは一言で言えば、Windowsパソコンにリアルタイム性を付加する拡張ソフトウェアです。
INtimeをインストールしたパソコンではINtimeカーネルとINtime関連ソフトウェアはWindowsのサービスとして動作していますが、 INtimeカーネル自身は単独でも動作可能な32ビットリアルタイムカーネルです。
INtimeカーネルはインテル社のリアルタイムOS「iRMX」と同じカーネルを使用しており 産業界では25年以上の実績のあるカーネルで産業用システムとして 24時間365日の連続運転にも耐えられる信頼性の高いソフトウェアです。
INtimeをインストールしたWindowsパソコンを産業用システムの制御装置として使用する場合には、 通常制御や演算、データ収集、通信などのリアルタイム性を必要とするアプリケーションプログラムは INtime管理下のプロセス/スレッドとして、またマンマシンインタフェース(HMI,GUI)機能やデータベース機能、 高度なネットワーク機能などはWindows管理下のプログラムとして構成します。
それぞれのアプリケーションプログラムはマイクロソフトのVisulaStudioを使って、主にVC/C++言語で記述します。

 
2.INtimeの特徴

 

■ 
INtimeカタログやINtimeウェブページでINtimeの特徴を述べていますが、 ここでは少し違った観点からINtimeの特徴や、他のリアルタイムOSとの違いについて述べてみます。



@INtimeはインテル社が開発したiRMXカーネルを使っているということもあり、インテルのx86/CPUに特化したソ
 フトウェアです。 他のリアルタイムOSにはさまざまなCPUで動作するように作られているものもありますが、この 点は短所であるとともに、x86/CPUの特性を生かしているという意味では長所でもあります。


AINtimeをインストールしたWindowsシステムでは、WindowsとINtimeの2つのOS(カーネル)が動作するマルチOS (カーネル)のシステムになっています。 リアルタイムOSでこのような仕組みを取り入れているものは少ないので すが、INtimeの場合にはこの2つのOSをCPUが持っているハードウェアマルチタスクの機能でハード的に行って います。 別の言い方をすれば1つのCPUハードウェアを2つの仮想CPUとして使っていることになります。 従って WindowsとINtimeの切り替えはハードウェア的に切り替わるのですが、そのためにソフトウェア的に切り替える場 合に比べて切り替え時間が若干遅くなっています。 しかしながらその切り明け時間は数μ秒に対して+1〜+ 2μ秒程度ですからほとんど問題になりません。


BリアルタイムOSを使ったシステムではアプリケーションプログラムからI/O空間に自由にアクセスできることが求 められます。 Windowsのプログラムでは自由にI/O空間にアクセスできず、カーネルモードで動作するデバイスド ライバ経由になり、使い勝手や信頼性に不満が残ります。 INtimeではアプリケーションプログラムはWindowsと 同じく保護されたユーザーモード(リング3)で動作しますが、アプリケーションプログラムから直接I/O空間にI/O できます。 これはINtimeがWindowsとは別の仮想CPUを使うハードウェアマルチタスクを使っているから実現で  きたことです。


C実はこのことはシステムの信頼性やデバッガー機能とも大きな関係があります。 他のリアルタイムOSの多くはI /O空間に直接入出力が行えるようにするため、x86/CPUで動作する場合にWindowsのドライバと同じようにカー ネルモード(リング0)でアプリケーションが動作するようになっています。 Windowsシステムのクラッシュがデバイ スドライバの不具合で発生するように、カーネルモードで走るアプリケーションプログラムに不具合があるとOS  やシステム領域を破壊してシステム全体にダメージを受けることがあります。 このようなアプリケーションのバグ が完全に取りきれていない状態でテストをしてもシステムがクラッシュしてしまったらデバッガーすら動作すること ができません。 それに対してINtimeの場合はユーザーモード(保護モード)で動作しますから、アプリケーション  プログラムが不完全な状態で暴走することがあってもOSや他のアプリケーションは保護されていますのでシステ ムが停止したり、デバッガーが停止することはありません。 INtimeではWindowsのGUI機能を使ったリアルタイム デバッガーを利用してアプリケーションの高度なデバッグをセルフで行うことができます。


Dまた、同じ理由でINtimeシステムではリアルタイム用のドライバソフトをユーザーモード(リング3)で一般のアプ リケーションソフトを作成するのと同じ感覚で開発できます。 アナログ入出力やデジタル入出力のような比較的 単純なI/Oはアプリケーションから直接入出力できますからドライバは不要です。C言語の標準関数を使って入  出力します。