組み込み機器において存在感を増す「組み込みOS」組み込み機器開発入門(6)(2/4 ページ)

» 2015年12月21日 07時00分 公開
[EIPC事務局MONOist]

組み込み機器に求められるOSの役割

 OSは「基本的な機能が集まっているソフトウェア」と説明しました。次に、基本的なOSの機能とはどのようなものなのかを説明していきます。

 まず1つ目の重要な機能は「プログラムの同時実行機能」です。OSを搭載する理由の中でも、一番大きいのがこの機能でしょう。

 CPUの中心部分をコアといいますが、コアは実際にソフトウェアを実行するところです。CPUにコアが1つであれば基本的に動くプログラムも1つです。PCの例では、ネットワーク経由でデータを送信している間に、マウスで別のプログラムを起動させて、同時に作動させることが可能と説明しましたが、1コアのCPUではネットワーク経由でデータを送信している間に、別のプログラムを実行させることはできません。

 ですが、先に挙げたWindows OSはあたかもプログラムを同時に実行させているように見える機能をOS自体が持っています。実際には、2つのプログラムを短い時間で切り替えて実行することで、あたかも2つが同時に実行できているように見せているのです。この機能を実現しているのはスケジューラというソフトウェアですが、このスケジューラ機能の利用を目的として、組み込み機器にもOSを搭載することが多いようです。

 以前は1つのCPUには1つのコアしかありませんでしたが、2006年頃から、2コア、4コア搭載のCPUが出始め、最近では6コア、8コア搭載のCPUなども登場してきています。複数コアを持つ(マルチコア)CPUを利用する場合は、コア数分だけプログラムを同時実行できる能力を持つことになります。マルチコア対応のOSを搭載する事で、コアの空き状況を判断して最適なコアでプログラムが動くようにすることが可能となります。

Merlin Falcon AMD「Merlin Falcon」の概要図。CPUは4コアを搭載している

 2つ目の機能としては、「ネットワーク接続」「ネットワーク経由でのデータ送受信」機能です。

 ネットワークに接続し、他の機器とのデータ送受信を行う場合には、お互いの機器が理解できる共通の言語を持つ必要があります。最も普及しているであろうネットワークとしてLAN、無線LANなどがありますが、これらのネットワークで利用されているのはTCP/IPという共通言語(プロトコル)になります。OSを利用した場合には、これらプロトコルが既に実装されており、OSの機能を利用することで開発規模を大幅に減らす事が可能となります。

 3つ目の機能としては、文字入出力などの「標準入力」機能と「標準出力」機能が挙げられます。文字の入力や画面への出力、絵の描写などは標準入出力機能によって実現されますが、ネットワークプロトコルと同様、標準入出力機能を備えるOSを利用することで、開発工数を大幅に減らす事が可能となります。

 これらのOSの機能を利用することで、プログラマーやソフトウェア開発エンジニアは短期間で必要な機能を持つソフトウェアを開発する事が可能となるのです。

Copyright © ITmedia, Inc. All Rights Reserved.