こんにちは、ナナです。
皆さんにとってリアルタイムOSを学習することはどのような価値を生み出すのでしょう。ITRON入門編でリアルタイムOSを学習する意味について知っていただきたいと思います。
本記事では次の疑問点を解消する内容となっています。
もちろん筆者はリアルタイムOSを学習できるカリキュラムを作っているくらいなので学ぶ価値はあると考えています。その理由を示します。
リアルタイムOSとは何か?
OS(オペレーティングシステム:Operating System)とはコンピュータを動かすための基本ソフトと呼ばれるソフトウェアです。
汎用OSの種類
皆さんにとって身近なOSといえはWindows、MacOS、Linuxといったパソコンやサーバーに搭載されるパソコン向けのOSや、スマートフォンに搭載されるiOSやAndroidといったOSが有名です。
普段意識していないかもしれませんが、OSというプラットフォームがコンピュータに搭載されることで利便性があがります。
ユーザーにとっては統一感のある操作性を手に入れることができ、様々なサービスを利用できるようになります。アプリケーション開発者にとっては開発に必要な技術を一度覚えてしまえば使いまわせるというメリットもあるでしょう。
リアルタイムOSとは
組み込み機器においてもOSを搭載することがあり、そのようなOSをリアルタイムOSと呼びます。リアルタイムOSとは通称であり、Windowsといった固有の製品を示すわけではありません。
TRONプロジェクトとITRONの関係
本カリキュラムはITRON入門編となっています。ITRONとは一体何なのかを説明しましょう。
1984年TRONプロジェクトは身の回りのあらゆるものをコンピュータが使われることを想定したOS仕様を検討することを目的として東京大学:坂村健教授により発足いたしました。
そのプロジェクトのひとつとして、組み込み機器のリアルタイムOSの仕様を検討するプロジェクトがあり、その名称こそがITRONと呼ばれるプロジェクトなのです。つまり、ITRONとはリアルタイムOSの仕様のことなのです。
ITRON仕様とは
ITRONは仕様です、といってもいまいちピンとこないかもしれません。マイコン入門編を実施された方はインターフェース仕様書というものを見ましたね。
ITRON仕様とはリアルタイムOSにおけるインターフェース仕様書を定義したものなのです。リアルタイムOSが提供すべき機能を定義し、それらの機能をインターフェースとして明確に定義しています。
例えば、リアルタイムOSでは「タスク」という非常に大事なキーワードが出てきます。
このタスクというものを作るときのインターフェースの「関数名はcre_tskで引数や戻り値はこれだよ」という関数の形を明確に規定しているのです。それがITRON仕様です。
ITRONは時代的に言えば古いOS仕様です。現在では後継OSとなるT-Kernelとして現時代の製品に対応できるように進化しています。
しかし、T-KernelのベースはあくまでもITRONであり、ITRONを学ぶことはT-Kernelにつながります。ITRONを学ぶことを無駄とは思わないでください。
リアルタイムOSを学ぶべき人とは?
リアルタイムOSというものを学ぶべきか悩んでいる方は次の項目を元に決めてみるのもよいでしょう。私が学んだ方がよいと思う方々です。
- 組み込み開発の従事者で、リアルタイムOSを利用したソフトウェアを開発をしている、もしくは予定している方
- 組み込み開発においてある程度の規模(数万~数十万ステップ)の開発が必要となる方
- OSというものが何かを理解していないが、WindowsやLinuxといったOS上でのソフトウェア開発をする必要がある方
- 自分自身の開発スキル向上にあくなき探求心がある方
リアルタイムOSという知識は必ずしも必要とされるわけではないですが、この武器を持っているかにより開発の幅は明らかに変わってきます。それを踏まえた上で本カリキュラムを受講するかを決められるとよいでしょう。
WindowsやLinuxといったOSよりもリアルタイムOSを学んだ方がよいのか?
WindowsやLinuxといった汎用OSに関わる開発をされる方にとってリアルタイムOSを学ぶことなど意味がないと思われる方もいるかもしれません。
この疑問に関しては人によって考え方の違いはあると思いますが、私としてはまず先にリアルタイムOSという技術を手に入れた方がよいと考えています。
それはなぜか?
そもそも、OSとは非常に規模の大きいソフトウェアシステムです。特にWindowsやLinuxといったOSは巨大であり、OSというものがそもそも何をしてくれるのかも理解していない方が戦いを挑むのは非常に困難な道が待っています。
それに対してITRONというのはOSの本質的な機能である「カーネル」と呼ばれる部分だけを抽出した結晶のようなOSです。そのため、OSとは何かということを知るにはうってつけの教材なのです。
WindowsやLinuxといったOSにおいてもこの中核をなすカーネル部分の基本構造は似たような思想で作られています。そのため、ITRONでこのカーネル部分を学んでおくと汎用OSを学ぶ際にアドバンテージが生まれます。これが先にITRONを学んだ方がよいと感じる理由です。
ITRONというOSを知った次のステップとしてWindowsやLinuxといったOSに挑戦するのはステップアップとしてはよいものだと思います。
リアルタイムOSの中でITRONを選ぶ理由とは?
ITRON、VxWorks、FreeRTOSなどリアルタイムOSにはいくつかの選択肢があります。その中でもITRONを選択する理由を示しましょう。
ITRON市場の規模の広さと技術的価値
トロンフォーラムが毎年発表している2018年度のTRONのシェア率の記事です。
ITRONは現時点においても組み込み機器の世界で圧倒的に利用されるOSとして君臨しています。ITRONの後継OSであるT-Kernelも合わせるとOSが搭載されている組み込み機器の中ではおよそ6割程度の機器が採用しているとされています。
つまり、ITRONの技術を習得するということは、現在の組み込み開発の基盤となる技術を手に入れることになるのです。皆さん自身の市場価値を高める技術ということです。
仕様が日本語で公開されており仕様書の記述レベルが高い
リアルタイムOSとは何かを学ぶ上で、皆さんにはリアルタイムOS自身の扱い方に注力を注いでいただきたいです。
海外製のOSではドキュメントが英語になっているなど、余計なことに時間を取られることになります。ITRONは日本製ですのでもちろん仕様書は日本語で書かれています。しかも、仕様書としての完成度が高く、曖昧な部分がなくスキのない仕様として検討されています。
何か困ったことがあっても仕様書をしっかりと読み込めば答えが見つかるようになっているのです。このあたりの仕様の明確さは他のOSにはない利点です。
ITRON仕様に準拠したソフトウェアがフリーで公開されている
有料のソフトもありますがITRON仕様に準拠したフリーなOSとしては、「TOPPERS」や「HOS」といったものが公開されています。
OSを学ぶ上で費用が掛かればかかるほど学ぶハードルが高くなるため、フリーのOSが利用できるのは大きな利点です。
本カリキュラムでは「HOS」を利用して皆さんにリアルタイムOSを学んで頂きます。
国産のためリアルタイムOSとしての情報が割りと見つけやすい
リアルタイムOSについて何かトラブルがあったときにインターネットを使って情報が収集できるというのは非常に大きな強みです。ITRONは国内において比較的情報が集めやすいOSです。