1. 硬件按照一定的频率产生一个时钟中断。
大多数的计算机使用晶振来产生时钟中断。这说明几乎没有计算机能够维持准确的时间。
2. 为了得到更好的时间测量, 可以
a . 采用精度更高的晶振
b. 使用外部更准确的时间资源(GPS)
c. 通过internet访问更准确的时 钟系统(RFC1305 网络时间协议)
3. unix系统中引起时钟差错的另一个公共原因是:
系统内核在收到1个中断后,计数器会加1. 但高频率的时钟中断可能是内核处理不过来的, 这意味着系统内核时间计数可能会丢掉。
4. 中断频率为10ms, 对于更新的系统,提供了一个精确到微秒的定时器。用户进程可以通过gettimeofday来访问它。
对于这句话的理解应为:更新的系统可以有两个系统定时器,一个是系统内核通过每10ms的时钟中断来记数的定时器。另一个是精确来微秒的定时器,这个定时器可能不需要内核计数,是另一种机制的定时器。(暂不了解细节)