通常のプログラムはメモリから命令を取り出して順に実行する。周辺装置の相手はしない。いつでも同じように実行される。割り込みを使わずに周辺装置を利用するには、次のような方法が考えられる。プログラムの途中、所々に周辺装置の状態を調べるサブルーチンを入れる。処理内容は次のようになる。このような処理をポーリングと呼ぶ。場合によっては割り込みを使用するよりもよい場合もある。本体のメインルーチンをイベント駆動型に作る。上記の考え方で作られている。検出するため効率が悪い。必要な時だけ処理ルーチンを起動できる。よって普通のプログラムを作るときは周辺装置のことを気にする必要がない。両者の実行のタイミングなどは考えなくてよい。プリンタの状態を確認しなければならない。要求が来るので、それまでは他の仕事ができる。