「商用製品のユーザーが要求する品質とサービスを凌駕するフリー製品を提供する」
FreeRTOS 専用の開発者は、15 年以上にわたり世界の主要チップ企業と密接に協力して、市場をリードし商用レベルの、完全に無料の高品質 RTOS とツールを提供してきました … 続きを読むしかし、RTOS とは何でしょうか。
このページは、オペレーティングシステムの定義から始まり、リアルタイムオペレーティングシステム (RTOS) の定義に絞り込み、さらにリアルタイマーカーネル (またはリアルタイムエグゼクティブ) の定義に絞り込んでいます。
FAQ の項目「なぜ RTOS なのか」でも、組み込みシステム ソフトウェア設計で RTOS を使用することがいつ、なぜ有用であるかについての情報をご覧ください。 オペレーティングシステムが提供するサービスは、アプリケーションをより速く、より簡単に、より保守的に書くことができます。このWebページを読んでいる場合、Webブラウザ(あなたが興味を持っている機能を提供するアプリケーションプログラム)を使用しており、それ自体はオペレーティングシステムが提供する環境で実行されていることになります。 これはマルチタスクと呼ばれています。 実際には、各プロセッサ・コアは、任意の時点で実行の単一スレッドしか実行できません。スケジューラと呼ばれるオペレーティング・システムの一部は、いつどのプログラムを実行するかを決定する責任があり、各プログラムを高速に切り替えることによって、同時実行の錯覚を提供します。 例えば、マルチユーザーオペレーティングシステム(Unixなど)で使用されるスケジューラは、各ユーザーがtheprocessing時間の公正な量を取得することを保証します。 別の例として、デスクトップ・オペレーティング・システム(Windowsなど)のスケジューラは、コンピュータがユーザーに対して応答し続けることを保証しようとします。
Real Time Operating System (RTOS) のスケジューラは、予測可能な (通常は決定論的と表現される) 実行パターンを提供するように設計されています。 リアルタイム要件とは、組み込みシステムが厳密に定義された時間 (デッドライン) 内に特定のイベントに応答しなければならないことを指定するものです。リアルタイム要件を満たす保証は、オペレーティング システムのスケジューラーの動作が予測できる場合のみ可能です (したがって、決定論的です)。 スケジューラはその優先順位をもとに、次にどのスレッドを実行すべきかを判断します。 FreeRTOS では、実行スレッドをタスクと呼びます。
FreeRTOS とは?
FreeRTOS は、マイクロコントローラで実行できるほど小さく設計された RTOS の一種です-ただし、使用はマイクロコントローラ・アプリケーションに限られません。
マイクロコントローラは、プロセッサ本体、実行するプログラムを格納する読み取り専用メモリ (ROM または Flash)、および実行するプログラムが必要とするランダムアクセスメモリ (RAM) を 1 つのチップに組み込んだ、小型でリソース制約のあるプロセッサである。 通常、プログラムは読み取り専用メモリから直接実行されます。
Microcontrollers are used indeeply embedded applications (those applications where you never actually see the processors itself or the software they are running) that normally have a very specific and dedicated job to do. サイズの制約や専用エンドアプリケーションの性質から、完全なRTOS実装の使用を保証することはほとんどなく、実際に完全なRTOS実装の使用を可能にします。したがってFreeRTOSは、コアなリアルタイムスケジュール機能、タスク間通信、タイミングおよび同期プリミティブのみを提供します。 つまり、より正確にはリアルタイムカーネル、またはリアルタイムエグゼクティブと表現されます。 コマンドコンソールインターフェイスやネットワークスタックなどの追加機能は、アドオンコンポーネントで含めることができます。 RTOSの基礎