組み込みソフト開発のしきいを下げる"リアルタイムOS"のすべて

池崎 史生

tag: 組み込み

技術解説 2001年6月19日

●組み込みシステムの開発者に要求される知識や技術

 アプリケーション・プログラムという語句がでてきましたが,これはシステム・プログラムと対比する意味で使いました.システム・プログラムとは,「ハードウェアとアプリケーション・プログラムをつなぐためのソフトウェア」,アプリケーション・プログラムとは,「システム・プログラムの機能を利用して,実際に人間(あるいは計算機どうし)が使うために書かれたプログラム」であるといえるでしょう(図2).このようなプログラムを作る人たちをプログラマと称しています.

f02-01.gif
[図2<システム・プログラムとアプリケーション・プログラム
システム・プログラムは,ハードウェアとアプリケーション・プログラムをつなぐためのプログラム.アプリケーション・プログラムは,システム・プログラムの機能を利用して,ユーザが使うために書かれたプログラム.

 アプリケーション・プログラムを作る人はシステム・プログラムの仕様と何を行うプログラムを作るかを知っていればプログラムを書けますが,システム・プログラムを作る人は,ハードウェアとアプリケーション・プログラム,そしてほかの関連するシステム・プログラムについて熟知していないと正しくシステムが動くようなプログラムを書けません.ここにアプリケーション・プログラムとシステム・プログラムを分けた理由があります.組み込みシステムの開発者に要求される知識や技術は,ここでいうシステム・プログラマとアプリケーション・プログラマに要求されるものの両方であると筆者は考えています.

次にOSの仕組みについて考えてみたいと思います.

●OSのしくみ...OSの仕事は計算機システムの管理職

 OSの仕事は「計算機のすべてを管理する」ことです.いってみれば,会社組織において部長や課長が部内・課内の仕事担当者を決め,仕事内容について管理するのと同じような仕事を,OSも計算機システムの中で行っているのです.OSが計算機の何を管理しているのかを図3で説明しておきます.

 OSの種類にもよりますが,OSが計算機資源を管理することによって,あたかも1個のCPUが複数の仕事を同時に行っているかのように処理できるようになります.このようなことができるOSを,マルチプログラミング可能なOS,あるいはマルチタスクOSと呼びます.

f03-01.gif
[図3]計算機が管理する対象の例

●プロセス管理

 OS上で動かす処理(プログラム,タスク,ジョブ,プロセス,スレッドなど).

1)どの仕事が
2)どの場所のメモリをどれだけ使っているか
3)いつからいつまでCPUやメモリを使っているか
4)いつ,どこから,情報をもらって(入力)いるか
5)いつ,どこに,処理結果(出力)を出すのか

●メモリ管理

 RAMなどの物理メモリ,仮想記憶など

●入出力管理

 キーボード,マウス,モニタ,ネットワーク,記憶装置(ハードディスク,CD-ROMなど)など

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日