マイコンのソフトウェアにはさまざまなものがあり、目的や状況に応じて適切なソフトウェアを選択することが大切であることを学習してきました。今回は、その中からOS(オペレーティング・システム)を取り上げて解説します。本稿を通して、OSの役割や求められる機能について理解を深めていただければと思います。
第10回にて、OS(オペレーティング・システム)とは、ハードウェアを抽象化することで、デバイス依存性をなくし、アプリケーションソフトやミドルウェアの流用性を高めるために用意される基本ソフトウェアであることを説明しました。
そこで、皆さんに伺います。OSの例を挙げてください、と言われたときに真っ先に思い浮かぶOSは何ですか? 知名度が高いのは、「Windows」かもしれません。これは、皆さんのご家庭にあるPCの多くに搭載されているOSであり、テレビCMなどでも目にすることが多いから知られているといえるでしょう。あるいは、スマートフォンやタブレットの普及に伴い、「アンドロイド」や「iOS」も思い浮かぶでしょう。また、組み込みシステム関連のお仕事をされている方からは、Linux、ITRON、Symbian、T-kernel、VxWorksなどさまざまなOSの名前が挙がると思います。
このように、世の中にはさまざまなOSが存在しますが、これらは、汎用OSとリアルタイムOS(RTOS)に大別できます。
ここで、汎用OSとRTOSの違いについて説明していきますが、そもそも、「リアルタイム」とはどのような意味なのでしょうか?
リアルタイムについて説明する上で1つの例を挙げます。ここに、リアルタイムの計算機と非リアルタイムの計算機があり双方に同じ計算をさせます。その結果、どちらの計算機も同じ計算値になりました。非リアルタイムの計算機は正しい計算値を得られたところで完全に役割を果たしたことになります。ところが、リアルタイムの計算機では、たとえ計算結果が正しい値だったとしても、これだけでは完全にその役割を果たしたとはいいきれません。リアルタイムの計算機では、もちろん計算値が正しい必要はあるのですが、それに加えて、その計算を完了する時間(時刻)も問われるのです。この例の場合、リアルタイムの計算機に対する時間的制限が1分だとしたら1分以内に計算を終えて初めて完全に役割を果たしたことになるのです。
このように、リアルタイムであるということは、処理時間に期限がありその期限を守る必要があるということになります。
これを踏まえて汎用OSとRTOSの違いを考えると、汎用OSは処理時間の期限が厳密には問われないOSに対して、RTOSは処理時間の期限が厳密に問われるOSということができます。
Copyright © ITmedia, Inc. All Rights Reserved.