「組み込み」ならではの基礎知識 ――スタートアップ・ルーチンからハードウェアまで
割り込み処理は,割り込まれる処理があって初めて成り立ちます.ここでは,電話で注文を受け,焼きたてのピザを届けるピザ屋さんを考えてみましょう.
注文の電話を必ず受けるためには,電話が入ったときの処理をとても短くしなければなりません.電話を受ける人は,注文を聞いて配達伝票を書く作業だけを行い,配達する人は別に雇うことにしましょう(図6-2).配達する人の数が足りなかったり,届ける範囲が広かったりすると,未処理の配達伝票がたまっていきます.また,注文が殺到すると電話番1人では話し中の状態が続いてしまうかもしれません.このときには,それぞれの人数を増やすか,もっとすばやくしごとのできるスーパーマンを雇うといった対応をとらなければならないでしょう.
積極的に御用をうかがいに出ながらも即時注文には対応できない三河屋さんと,お客様からの注文を待つだけといった受け身の営業をしているピザ屋さんの例を説明しました.一般の商店では三河屋さんとピザ屋さんの業務を組み合わせています.
ここで,ポーリングと割り込みをまとめてみましょう.
- ポーリング:(定期的に)調べて事象が起きていたら処理する
- 割り込み:事象が起きたらしごとを中断して処理する