ホントに30日でできるのか、OS自作入門・12日目「タイマ-1」

12日目です。昨日は休んでしまったので、今日は勉強します。で、今回のお題はタイマです。前回作成したカウンタはひたすらぶん回すものでしたが、タイマがあればちゃんと秒数を数えることができますね。

キーボードなどの割り込み処理と同じようにPIT(Programmable Interval Timer)を利用して時間による割り込み機構を作成するようです。まあ、詳しいルールみたいなのはよくわかりませんが、要するに○ms後にこのハンドラ呼んでね、とお願いしておけばよいようです。これで起動後、何ms経過したかがわかります。

起動してから何秒たったかがわかればタイムアウト機能も作ることができます。サンプルのカウンタもちゃんと秒を刻めるようになりました。
複数タイマも配列を使えば問題なく可能ですが、処理をチューニングしてなるべく少ない時間で処理する必要があります。この辺の話は、Cのプログラムを読めば分かる感じでした。Cだけで完結するチューニングならば理解しやすくて嬉しいな。

相変わらずソースは書いていませんが、やっていることが理解できたのでヨシとします。

コメント