組み込みソフト開発のしきいを下げる"リアルタイムOS"のすべて
リアルタイムOSとは,Real Time Operating Systemの略で,実時間システム,実時間OSと呼ばれることもある.本稿では,仕様としてリアルタイム性能が要求されるシステムをリアルタイム・システムと呼んでいる.リアルタイム・システムは,大きく分けて「ハード・リアルタイムのシステム」と「ソフト・リアルタイムのシステム」がある.ハード・リアルタイムは非常に時間に厳しいシステム,ソフト・リアルタイムは時間に厳しいが,ハード・リアルタイムほどの厳密さは要求されないシステムと理解していただきたい.読者のみなさんの中でも,これから組み込みシステム設計に携わる人々,中でもフレッシャーズのエンジニアや学生の皆さんにぜひ読んでいただきたい.初心者に向けた記事ではあるが,すでに組み込みシステムの設計・開発に携わっている方にも,知識の再確認になるよう,用語についてできるだけ説明を加えていく. (筆者)
この記事では,「なぜ組み込みシステムにリアルタイムOSが重要なのか?」というテーマについて考えていきたいと思います.ここでいう組み込みシステムとは,デスクトップ用,ワークステーション,汎用計算機システム,スーパーコンピュータ・システム以外の計算機システムすべてを指すことにします.
具体的なイメージが把握しにくい方は,PDA(personal digital assistants)や携帯電話,ビデオ,テレビ,炊飯器,洗濯機などの家電製品に組み込まれている制御用のシステムを思い浮かべてみてください.
●OSの基本的なしくみ
OSといっても種々存在します.本稿では,主に組み込みシステム用OSを意識した話題を扱います.
OSをコンピュータに搭載する目的は,今も昔も「コンピュータ資源を管理すること」にあります.組み込みシステム用だからといって特殊なことをいつもしているわけではありません.しかしデスクトップ用のOS(LinuxをはじめとするUNIX系OSやWindows,MacOSなど)との違いが際立つ点もいくつかあります.組み込みシステムは,その性質上,デスクトップ用OSでは標準である機能を持っていない場合や,あるいはその逆の場合もあります.どんな機能があってどんな機能がないかは,開発対象のシステムによってさまざまです.
なお,用語やしくみについてはUNIX系のOSを基本に説明していきます.