あなたの身の回りにあるさまざまな機器。
たとえば、家電製品や携帯電話にはじまり車、工場で使う産業機器などの内部に組み込まれているソフトウェアを総称して「組み込むソフトウェア」と呼びます。
組み込みソフトウェアは、これらの機器を動作させ制御している縁の下の力持ちであり現代社会を支える重要な技術です。
● 自然法則
組み込みソフトウェアが組み込まれている製品には風や水といった自然界のものを利用する機器や落雷による電力の瞬停という突発的な状況を考慮したうえで安定して動作をさせなければいけません。
あるいは、わがままでうるさいが、気があちこち分散して意外とアバウトな生き物である人間(笑)の相手をする機器もあります。
このように自然法則を考えるというのが組み込みソフトウェアの特徴のひとつです。
● リアルタイム制御
一般的に組み込みソフトウェアでは搭載される製品の仕様によりプログラムの中で実行する処理に一定の時間的制約が課せられます。
この製品を使う人が操作した時に処理を待ってくれなかったり、一定時間内にデータを読み込みにいかなければ欲しいデータがなくなってしまうからです。
この時間的制約を守って、ソフトウェアを作ることをリアルタイム制御といいます。
● 組み込み拘束
● 信頼性
組み込み製品は、外で起きたことに反応したり、外に働きかけたりするためにコンピュータを使ってます。
コンピュータはプログラム・カウンタが示すところにある命令をひとつずつ解釈し、実行していきます。
つまり、あらかじめ決まっている手続きに従って動いているにすぎないのです。
では、外の情報を取り込んで、それに応じた処理を行うにはどうすればよいのでしょうか?
それには、手続きのひとつとして外部を見る命令を書いておけばいいのです。
ポーリング : 定期的に調べて事象が起きていたら処理する
割り込み : 事象が起きたらしごとを中断して処理する
以降で、日常生活をのたとえをもとに、ポーリングと割り込みについて詳しく説明します。
各家庭を訪問して「何かご入用のものはありますか」と聞き、それを届ける三河屋さんを考えましょう。
コンピュータの世界ではこのようにあらかじめこちらから御用聞きに行く仕事に仕方を「ポーリング」といいます。
これに対して、お客さんの方から商店に電話をかけて注文するというやり方もあります。
商店からすると何かほかのことをしていて電話がかかってきたら対応し、終わったらまた元の仕事に戻るといった仕事の進め方になります。
こちらは「割り込み」呼び、割り込んでくる仕事を「割り込み処理」といいます。