Path: ccsf.homeunix.org!ccsf.homeunix.org!news1.wakwak.com!nf1.xephion.ne.jp!onion.ish.org!onodera-news!newsfeed.media.kyoto-u.ac.jp!newsfeed.mesh.ad.jp!t-newsgw1.odn.ne.jp!nwall.odn.ne.jp!not-for-mail From: IIJIMA Hiromitsu Newsgroups: fj.os.ms-windows.win2000,fj.os.ms-windows.xp,japan.comp.windows-xp Subject: Re: =?iso-2022-jp?B?V2luZG93cxskQiRHJE47fjlvRjE0fCRLJEQkJCRGJE48QRsoQg==?= =?iso-2022-jp?B?GyRCTGQbKEI=?= Date: Fri, 08 Aug 2003 08:33:15 +0900 Organization: DENNOU GEDOU GAKKAI, N. D. D. http://www.dennougedougakkai-ndd.org Lines: 56 Message-ID: <3F32E1BB.A0B52B08@ht.sakura.ne.jp> References: <867k5pm5m2.wl@genki00.cc.hokudai.ac.jp> NNTP-Posting-Host: eatcf-213p148.ppp15.odn.ne.jp Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit X-Trace: nwall1.odn.ne.jp 1060299204 91796 210.228.200.148 (7 Aug 2003 23:33:24 GMT) X-Complaints-To: news@odn.ad.jp NNTP-Posting-Date: Thu, 7 Aug 2003 23:33:24 +0000 (UTC) X-Mailer: Mozilla 4.78 [ja] (Win98; U) X-Accept-Language: ja,en,zh-TW,zh,zh-CN,de,es,ko Xref: ccsf.homeunix.org fj.os.ms-windows.win2000:299 fj.os.ms-windows.xp:108 japan.comp.windows-xp:8 いいじまです。 > # 絨毯爆撃といった感じのNewsgroups指定でしたので,fj以外は削りました. > # 議論が続くようであれば適切なNewsgroupsでお願いします. japan.comp.windows-xp は戻しました。microsoft.* は他のネットワークからの 到達性がよくない(少なくともうちからはあんまり届かない)ので削ったまま。 #こういう状況を見ると Windows 関係ニュースグループの再編の話をしたくなり #ますね。 > > 一般に、Windowsでの時刻管理(制御)は、LinuxやFreeBSDと比較すると、 > > あまり精度の良いものではない、ということをよく耳にするのですが、 > > それは、なぜなのでしょうか? > > 比較した話は実はそれほど聞いたことがなかったのですが,Windows98での > タスク切り替え時間が60msで,というお話は以前読んだことがあります. その話とは独立な話のはずです。そもそも AT 互換機はハードウェアレベルで 10ms の精度の時計を持っているはずです。 <余談> PC-98x1 はこれを持っていなかったから、MS-DOS のシステムコールで時刻を取 得しても 1/100 秒単位を示すフィールドは常にゼロ。FMR/FM TOWNS はハードで 持っているのは 1 秒単位の時計だったけど、タイマー割り込みを使って 1 秒未 満の時計のカウントアップだの画面のリフレッシュだのを実現していたので、割 り込みを禁止すると次にハードウェアの時計がカウントアップするまで時計は止 まったままだし、テキスト VRAM をグラフィック 画面でエミュレートするアー キテクチャの TOWNS ではテキスト画面の表示も止まる。 ☆ で、話を元に戻すと、「OS の設計の違い」という話になると思います。 そもそも AT 互換機の BIOS 自体には、1ms 以下で測れるタイマーはついていま せんので、起動時にだけ BIOS から時刻を取得して、それ以降は OS が任意の精 度で時刻を計測します。その際に、Windows は「1ms 単位で十分」と判断したか ら 1ms になっている(実際、Windows のシステムコールの時刻関係は 1ms 単位 です)、Linux や FreeBSD では 1μs まで頑張っている(実際に 1μs が出る かどうかは CPU の速度に依存するでしょうけど)、ということではないでしょ うか。 ちなみに Windows でも、QueryPerformanceCounter() を使えば、手元の環境では 1μs 以下の測定が可能です。内部的には Pentium 以降の CPU の RDTSC 命令を 使っているのでしょう。 ======================================================================== 飯嶋 浩光 / でるもんた・いいじま http://www.ht.sakura.ne.jp/~delmonta/ IIJIMA Hiromitsu, aka Delmonta mailto:delmonta@ht.sakura.ne.jp ───【宣伝】───────────────────────────── fj.os.ms-windows.server2003 または fj.os.ms-windows.server の新設の可否 を問う投票を実施中です。 fj.news.group.comp をご参照のうえ、ふるってご投票ください。 投票期限は 8/25(月)です。 ────────────────────────────────────