Get in Touch
  • If you’re interested in a Wind River product, simply answer a few questions and we’ll get in touch right away.
  • If you’d like to speak with someone immediately, call our number for sales inquiries below.

    Toll-free: 800-545-WIND (800-545-9463)

Thank You

Thank you for taking the time to contact us while visiting our website.

A Wind River sales representative will contact you shortly.

【設計しながら学ぶRTOSの基本編】第7回 RTOS全体構造

こんにちは、南角です。
まだまだ書ききれていないことは多いのですが、研究が少し忙しくなってきたので、連載は今回を最後に一旦お休みをいただきたいと思います。

先月号で【今回までで、不十分ながらRTOS内部の基本的な部分の説明を終えましたが、説明がばらばらになってしまいました。次回で今までの説明をまとめて全体像を組み立ててみたいと思います。
また今まで、ほとんど触れてこなかったマルチコアの特にコア間の排他制御に関して述べてみたいと思います。】と述べました。今回RTOS全体のまとめは行いますが、マルチコアなどに関しては次のシリーズでということでお許しいただきたいと思います、申し訳ありません。

さて次にRTOS全体の図を載せます。

ただこの図ではドライバがRTOSの一部のように見えますがそうではありません。
ドライバはRTOSから頼まれて標準IO(open、 close、read、 write、 ioctl)などを提供していますが、これらはいわばコールバックに過ぎません。またドライバは通常、タスクから呼び出されるこれらコールバック群と割り込み処理から構成され、割り込み処理はRTOSから頼まれて処理の最後の部分でスケジューラを呼び出します。これもRTOSから頼まれてRTOSのスケジューラを呼び出しているにすぎません。
ただしVxWorksにおいてはintConnectを使用して割り込み処理を登録するためスケジューラの呼出しは自動的に行われ、ドライバを開発している人でさえ、そのことをあまり意識していません。
つまり言いたいことはドライバはRTOSとは独立しているということです。

この構造を明確にして、前の図を簡略化すると次のようになります。

通常のRTOSの解説の場合、上の図のタスク+システムコール処理部+タスクスケジューリング処理部の話が中心になりますが、この連載では一貫してその部分は無視して上記構造について書いてきたつもりです。

RTOSもドライバも割り込みによって独自に起動されます。
当然それらの間の割り込み優先度も考えなければいけませんし、システムのレディキューなどはRTOSもドライバも操作する(たとえばsemGive)可能性があるわけですから、それらの間の排他制御も問題になります。
上記の排他制御にセマフォが使えないことも説明してきた通りです。

連載で話してきたことは、ほとんどがこの図のどこかの部分に関連すると思います。

この図のどこの部分の話なのかは宿題にします。
連載再開の時には最初にその解説から始めますから、それまで考えておいてください。

今回は上記の図をもって解説に代えたいと思います。

では、連載再開までしばし、ごきげんよう。

設計しながら学ぶRTOSの基本編 第7回 おわり

■著者プロフィール

南角 茂樹(なんかく しげき)

大阪電気通信大学 総合情報学部 メディアコンピュータシステム学科 准教授、同大学院総合情報学研究科(コンピュータサイエンス専攻)、エイシップ・ソリューションズ株式会社 研究顧問。
慶應義塾大学工学部数理工学科卒業後、大手電機会社を経て現職。組み込みシステムおよびリアルタイムOSを専門とし、著書、解説記事、発表・講演、登録特許等多数。

Thank You

Wind River, a wholly owned subsidiary of Intel Corporation (NASDAQ: INTC), is a world leader in embedded and mobile software. Wind River has been pioneering computing inside embedded devices since 1981 and its technology is found in more than 500 million products