[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 569] About timer routine type-B for AT.
- Subject: [OSASK 569] About timer routine type-B for AT.
- From: Hidemi KAWAI <kawai !Atmark! imasy.or.jp>
- Date: Sun, 16 Apr 2000 08:47:50 -0000
こんにちは、川合です。
ひさびさに、今何を作っているかを紹介します(この機能は、OSASK
ver.0.1に組み込まれる予定です)。
単刀直入に言って、現在、AT用のタイマールーチン・タイプBという
ものを作っています。
タイマールーチンといえば、OTASK/ATにも入っていたのですが、あれ
はタイプAという簡単で大した事ないものです。普通のOSと同じ方法で
タイマーを管理していて、プログラムは簡単ですが性能も大した事あり
ません。「タイプA」「タイプB」という呼び方は僕が勝手に付けたも
ので一般的な言い方ではありませんが。
タイプBは、アルゴリズムからしてタイプAとは異なります。OTASK
のタイプAでは割り込み時刻はミリ秒単位でしたが、今回のタイプBで
は0.838マイクロ秒単位です。実際には、指定時刻より多少ずれて呼び
出されますが、その誤差も数十マイクロ秒です(測定できたら、報告し
ます)。この誤差は自動的に補正されるので累積されません。またタイ
プBは、負荷が軽いのも特徴です。OTASKでの最低負荷は、K6-233のオ
ーバークロックでさえ、0.115%もありました(他のCPUでの負荷などは
http://www.imasy.org/~kawai/otask/restim.html
をご覧ください)。タイプBなら、この負荷が1/10くらいになります。
かつて、TOWNSでタイプBの割り込みルーチンを作ったことがあったの
ですが、そのときは20MHzのi486SXマシンで、0.023%前後まで行きまし
た([OSASK:037]より)。また、時間に関するプログラムというと2000
年問題が思い出されますが、このルーチンに限れば、一千兆年の間は安
定して動作します(もちろん、ハードウェアの耐久性が十分にあったと
しての話です)。この時間は現在の宇宙の年齢(一般的なビッグバン理
論による)よりも長く、事実上問題はないと考えています。
タイマールーチンを作り始めた理由は簡単で、これがないと先に進め
ないせいです。マルチタスクにはタイマーが欠かせませんし、ハードウ
ェアの制御にもタイマーは重要です。マウス制御にもタイマーがほしか
ったのです。しょうがないので、タイマーが無いとサポートできない機
能はOSASK ver.0.0eではばっさりと削られています。
それでは。
--
川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.or.jp
Homepage http://www.imasy.or.jp/~kawai/