时钟和定时器

目前很多系统都有硬件时钟和定时器来提供一些函数,比如说设置定时器在A时刻去触发操作X,比如说获取当前时间,获取已经逝去的时间

硬件时钟:硬件时钟是存储在主板上CMOS里的时钟,关机后该时钟依然运行,主板的电池为它供电。对应于嵌入式设备有一个RTC模块。硬件时钟即RTC时钟。

系统时钟:是软件系统的时钟。软件启动时会去读取硬件时钟,之后则独立运行

测量逝去的时间和触发操作的硬件称为可编程间隔定时器(programmable interval timer)。它可被设置为等待一定的时间,然后去触发中断,它也可以设置成做一次或重复多次,以产生周期性中断,调度程序可以使用这种机制来产生中断,以抢占时间片用完的进程

磁盘的I/O子系统可以用它来定时清除已改变的缓冲区,网格子系统用它来定时的取消一些由于网络堵塞或故障而太慢的操作,操作系统也为用户进程提供了使用定时器的接口。

操作系统为用户进程提供了使用定时器的接口,操作系统通过模拟虚拟时钟而支持比定时器硬件信道数更多的定时器请求

由硬件时钟产生的中断率约是每秒钟18~60次计时单元(tick),这样的频率是比较粗糙的,因为现代的计算机每次可以执行数百万条指令。我如果设置了定时器,在某个时刻去触发操作X的话,那么这个时间能否精确的把握好是受到定时器的粗糙的频率和维护虚拟时钟的开销所限制的

那么我们使用不准确的定时器计时单元来维持系统时钟,就会产生偏移,对于绝大多数的计算机而言,硬件时钟是由高频率时钟计数器来构造的,对有的计算机来说,计数器的值可以通过设备寄存器来读取,这可以作为高精度的时钟,但是这种时钟不产生中断,不过它可以提供时间间隔的精确的测量

猜你喜欢

转载自blog.csdn.net/zcmuczx/article/details/80712554
今日推荐