- RTOSとは何ですか?
- なぜRTOS ??
- リアルタイムオペレーティングシステムとオペレーティングシステムの違い
- RTOSの種類
- 無料のRTOSを使用する利点
- RTOSに関連するいくつかの主要な問題
- RTOSの使用方法
組み込みシステムは、私たちの周りのすべての電子機器に幅広い用途があります。明らかな例は、私たちがいつも持ち歩いているミニラップトップです。そうです、私は私たちの携帯電話について言及しています。
組み込みシステムが思い浮かぶときはいつでも、それは常にマイクロコントローラーやマイクロプロセッサーのようなハードウェアとファームウェアやオペレーティングシステムのようなソフトウェアの組み合わせです。アンオペレーティングシステムは、すべての電子機器の基盤を形成し、任意の電子デバイス内のハードウェアとソフトウェアの両方を管理します。オペレーティングシステムという用語は、コンピュータ用のUnixおよびWindowsだけでなく、マイクロコントローラにも拡張できます。マイクロコントローラで実行できるそのようなオペレーティングシステムの1つは、リアルタイムオペレーティングシステムと呼ばれます。ここでは、RTOSとリアルタイムオペレーティングシステムのアプリケーションについて学習します。
RTOSとは何ですか?
一般にRTOSとして知られているリアルタイムオペレーティングシステムは、優先度に基づいて特定の期間内に入力に応答し、タスクを完了する機能をコントローラーに提供します。一見すると、RTOSは他の組み込みプログラムやファームウェアと同じように聞こえるかもしれませんが、オペレーティングシステムのアーキテクチャに基づいて構築されています。したがって、他のオペレーティングシステムと同様に、RTOSでは、多重化をサポートする複数のプログラムを同時に実行できます。プロセッサまたはコントローラのコアは一度に1つの命令しか実行できませんが、RTOSにはスケジューラと呼ばれるものがあります。これは、最初に実行する命令を決定し、複数のプログラムの命令を次々に実行します。技術的には、RTOSは、並列命令を一度に1つずつ実行することによって、マルチテイクの錯覚を作り出すだけです。
これにより、RTOSは実世界のさまざまなアプリケーションに適しています。対応する出力を提供するロジックが評価されたときはいつでも、任意の入力のRTOSで。このロジックは、論理的な創造性だけでなく、特定のタスクが実行された期間にも基づいて測定されます。システムがその特定の期間内にタスクの実行に失敗した場合、それはシステム障害と呼ばれます。
なぜRTOS ??
- ドライバーの可用性:RTOSには多くのドライバーがあり、さまざまなアプリケーションに直接使用できます。
- スケジュールされたファイル: RTOSがスケジュールを処理するため、システムのスケジュールに集中する代わりに、アプリケーションの開発に集中できます。たとえば、タスクスケジューリングファイルは、一連の条件が満たされるたびに特定のアクションを定義するために使用されます。RTOSは、特定の高度なアルゴリズムを使用して、通常は実行中、準備完了、およびブロック状態をスケジューリングします。RTOSの実行中は、スケジューリングよりもアプリケーションの開発に重点を置きます。
- 機能追加の柔軟性: RTOS内では、新しい機能を追加する場合でも、既存の機能を妨げることなく簡単に追加できます。
リアルタイムオペレーティングシステムとオペレーティングシステムの違い
リアルタイムオペレーティングシステムとWindows、Linuxなどのオペレーティングシステムの間にはさまざまな違いがあります。テーブル形式を使用して、それらを1つずつ見ていきましょう。
S.No | オペレーティング・システム | リアルタイムシステム |
1 | タイムシェアリングは、オペレーティングシステムでのプロセスの実行の基礎です。 | プロセスは、優先順位に基づいて実行されます |
2 | オペレーティングシステムは、システムのハードウェアとソフトウェア間のインターフェイスとして機能します | リアルタイムシステムは、現実世界の問題を実行できるように設計されています |
3 | オペレーティングシステムの実行に関しては、メモリの管理は重要な問題ではありません | リアルタイムの問題に基づいてメモリが割り当てられるため、メモリ管理は困難です。これ自体が重要です。 |
4 | アプリケーション:オフィス、データセンター、家庭用システムなど | アプリケーション:航空機または原子炉の制御、科学研究機器 |
5 | 例:Microsoft Windows、Linux、OS | 例:Vx Works、QNX、Windows CE |
RTOSの種類
リアルタイムオペレーティングシステムは、主に3つの部分に分類できます。
- ハードリアルタイムオペレーティングシステム
- ソフトリアルタイムオペレーティングシステム
- しっかりしたリアルタイムオペレーティングシステム
1.ハードリアルタイムオペレーティングシステム
例を使用して、このタイプのオペレーティングシステムの理解を始めましょう。実際の例は、飛行制御システムです。飛行制御システム内では、パイロットが入力の形で与えたタスクはすべて、時間どおりに実行する必要があります。ハードリアルタイムオペレーティングシステムでは、システム障害は許容できます。ハードRTOSの機能は次のとおりです。
- 時間通りにタスクを実行するには
- 期限に間に合わないことは致命的です
- 最悪の場合の応答時間を保証
- システム障害につながる可能性があります
2.ソフトリアルタイムオペレーティングシステム
ソフトRTOSを使用する最も簡単な例は、オンラインデータベースです。ソフトRTOS内で、私たちがより懸念しているパラメータは速度です。したがって、ソフトRTOSの機能は次のとおりです。
- タスクはできるだけ速く実行する必要があります
- タスクの完了が遅れることは望ましくありませんが、致命的ではありません
- 性能低下の可能性があります
- システム障害につながることはありません
3.しっかりしたリアルタイムオペレーティングシステム
オブジェクトの選択に使用されるロボットアームは、企業のRTOSの例の1つと見なすことができます。ここでは、この会社のRTOS内では、プロセスが遅れても許容されます。
無料のRTOSを使用する利点
アプリケーションでRTOSを使用する利点は次のとおりです。
- ファイアウォールの問題はありません
- パフォーマンスを向上させるための低帯域幅
- セキュリティとプライバシーの向上
- 開発に使用するハードウェアおよびソフトウェアコンポーネントの削減による低コスト
RTOSに関連するいくつかの主要な問題
現在、実世界のアプリケーションでRTOSには多くの利点がありますが、さまざまな欠点もあります。ここでは、それに関連する問題のいくつかについて説明します。
- 割り込みは通常、実行中のプログラムを停止してフローをコードの他の重要な部分に迂回させるためにプログラムで使用されます。ここでは、迅速な応答時間が必要なため、RTOS内で。割り込みは可能な限り最小限の時間無効にすることをお勧めします。
- カーネルはさまざまなイベントにも応答する必要がある ため、ROM内に適切に収まるように、カーネルのサイズを小さくする必要があります。
- RTOSの高度な機能は、そのような仮想メモリの概念が含まれていないため、削除する必要があります。
RTOSの使用方法
RTOSとは何か、どこで使用できるかがわかったので、RTOSを使い始めるには、通常、TornadoまたはFreeRTOS開発環境を使用する必要があります。これら両方の開発環境について簡単に見てみましょう。
竜巻– VxWorks
Tornadoは、ターゲットシステム上でリアルタイム関連の組み込みRTOSアプリケーションを開発するための統合環境です。竜巻は、以下の3つの基本要素で構成されています。
1)VxWorks
2)アプリケーション構築ツール(コンパイラーおよび関連プログラム)
3)VxWorksアプリケーションを管理、デバッグ、監視できる統合開発環境
VxWorksは、ネットワーク化されたリアルタイムオペレーティングシステムです。 VxWorksを開始するには、1つのワークステーションとともに1つの開発キット(ターゲット)が必要です。ここで、開発キットは、ワークステーション上のターゲットサーバーと通信するターゲットホストまたはコンポーネントに他なりません。ここでのターゲットは、シェルやデバッガーなどのトルネードツールを接続します。したがって、VxWorksを使用してシステムを構成および構築し、Tornadoは構成および構築用のグラフィカルユーザーインターフェイスとコマンドラインツールを提供します。
ここで浮き彫りになる非常に重要な点は、システム内にtornadoをインストールする際、インストールディレクトリはパス名を
installDir / targetとして使用する必要があるということです。たとえば、竜巻をWindowsホストのC:\ tornadoに保存する場合、フルパス名はinstallDir / target / h /vxworks.hとして識別される必要があります。
ここでは、Vx Worksの機能について詳しくは説明しませんが(次のチュートリアルのために残しておきます)、WindRiverGNUを使用してVxworks内でC ++を使用して開発を行う方法について説明します。WindRiver GNUは、実行中に発生した割り込みとメモリ使用量レポートに関するグラフィカルな分析を提供するのに役立ちます。
たとえば、WindRiverの上記のビューでは、関連するプロセッサ番号とタスクの優先度(tLowPriおよびtHighPri)が説明されています。アイドル状態、つまり緑色の線は、プロセッサが動作状態にない期間を示しています。これは、数秒ごとに観察されます。t1、t7、t8、t9は、使用されるさまざまなプロセッサに他なりません。ここでは、t7プロセッサのみを選択しています。
したがって、このWindriverは、VxWorksとアプリケーションモジュールの両方のサブルーチンを呼び出すことができます。Windriverアプリケーションは、トルネード起動ツールバー(-> iボタン)から起動できます。後でメニューをクリックしてから、シェルをクリックします。最後に、コマンドプロンプトから「> windshtargetserver」と入力します。
C ++を使用してプログラムするには、INCLUDE_CPLUS_DEMANGLERコンポーネントを含めることが重要です。このデマングラーコンポーネントを使用すると、ターゲットシェルシンボルが人間が読める形式のC ++シンボル名を返すことができます。VxWorksターゲットとして知らフォロープロセスにC ++モジュールをダウンロードして、前にむしゃむしゃ。ここで、むしゃむしゃとは、追加のホスト処理ステップを指します。
C ++アプリケーションのソースプログラムをコンパイルし、たとえばhello.cppファイルを取得します。後でそれを実行して.oをムンクし、生成されたctdt.cファイルをコンパイルします。さらに、アプリケーションをctdt.oにリンクして、VxWorks内にダウンロード可能なモジュールhello.outを生成します。このVxWorksを実行した後の出力は、いくつかのターゲットで使用されるmakeファイルになります。
無料のRTOS
一般に、RTOSで始めるときはいつでも、Vx WorksRTOSを好むのが一般的です。ただし、ここでは、無料のRTOSについて簡単に説明します。これは、初心者でもリアルタイムオペレーティングシステムの概念を理解するために使用できます。Free RTOSは、Richard BarryとFreeRTOSチームによって開発され、Real Time Engineers Ltdが所有していますが、無料で使用でき、以下のリンクをクリックして簡単にダウンロードできます。
無料のROTSをダウンロード
この記事の時点で使用されている無料のRTOSの最新バージョンはバージョン10であり、FreeRTOSV10と記載されています。
他のRTOSの点で優れている無料のRTOSの最大の利点は、ハードウェアの点でプラットフォームに依存しない動作です。つまり、オペレーティングシステムの実行に使用するcコードは、アーキテクチャが異なるさまざまなプラットフォームで実行できます。したがって、8051マイクロコントローラーを使用しているか最新のARMマイクロコントローラーを使用しているかに関係なく、実行プロセスとともに記述したコードは両方で類似しています。
VxWorksや他のRTOSオペレーティングツールよりも無料のRTOSを使用することには他にも多くの利点があります。それらのいくつかは次のように述べることができます:
- より簡単なテストを提供します
- コードの再利用性の概念を促進します
- アイドル時間の短縮
- メンテナンスが容易
- タイミング情報を抽象化する
また、カーネルが無料のRTOS内に存在するオペレーティングシステムの中央コンポーネントを指す基本的なカーネルにより、さまざまなアプリケーションで使用できるようになります。拡張モジュールをオペレーティングシステムに簡単に接続して、より多くのアプリケーションを無料で入手できるため、RTOSはより強力になります。
Free RTOSの使用例の1つは、FreeRTOSとNabtoを組み合わせるという概念を使用して説明できます。Nabtoは、デバイスからブラウザに情報を転送するために使用される無料のWebデバイスです。
したがって、Free RTOSをNabtoと組み合わせると、図aで説明されているようにCコードの小さな断片になります。現在、モノのインターネット(IOT)がトレンドになっており、アクセスするすべてのIOTデバイスにはインターネット上で一意のURLがあり、このテクノロジーにより、安全で非常に低い帯域幅のポイントツーポイント接続が可能になります。インターネットに接続できない場合は、この組み合わせが役立ちます。したがって、IOTの実装に関しては、無料のRTOSが一般的な選択肢です。